亲爱的软件工程师:
我目前正在为英国的一组三级学生教授程序编程单元(使用C语言)。这是the Unit 16 Procedural Programming specification document。
对于Distinction(更高级别)任务,学生必须"评估程序性程序对图形应用程序的适用性"。
可以使用GTK和Qt实现图形应用程序,但也可以在网页上创建闪烁的文本(只是因为你可以,它并不意味着你应该)。
许多游戏和桌面应用程序都是用C ++编写的,所以我怀疑面向对象的代码更适合构建图形应用程序。
重申一下,我需要"评估程序性程序对图形应用程序的适用性"。
作为软件工程师,您如何回答这个问题?
[编辑]对于它的价值,我在Quora上收到了对此问题的精彩回复。
答案 0 :(得分:4)
我不认为面向对象或程序性程序“更好”,不仅仅是以递归或迭代方式编写算法“更好”。
在面向对象出现之前编写了许多精彩的代码。
我认为风格更多地与管理复杂性有关。对象是单个软件组件中的状态和行为。当系统很好地映射到对象时,该样式可以是管理复杂性的好方法。它适用于窗口,按钮等GUI组件。
但它不一定是唯一的方法。
我于1996年在斯坦福大学攻读了C语言的入门编程课程,当时C ++刚刚开始掌握,Java和C#都不存在。他们让学生使用非常规范的风格进行图形编程,使用精心设计的库和严格的分解。我会藐视你找到更好的代码。
答案 1 :(得分:1)
即使使用面向对象编程,通常也会调用函数来执行某些操作,并且这些函数中的代码将被视为程序性的。主要区别在于代码最终如何调用这些函数以及这些函数使用的参数。