苹果和MS 2个不同的架构,都非常优秀,苹果是世界第一个GUI界面的OS 发明者,鼠标的发明者,苹果的系统要优于WIN ,早于WIN,但是因为定位比较狭窄,专业针对图形用户,苹果的OS 在软件架构,和编程的技术领先性是要比WIN 高明的,PHOTOSHOP最先就是在苹果系统上使用的软件。
当然,苹果系统来自UNIX,至于UNIX 的代码,众所周知,优雅,易读,高明。
WIN 不肯开发自己的代码,导致我们对WIN 的核心技术并不明了。
我也就BOOST库了解了C++ 的高明的地方,也明白了C++不可取代的地方。读了UNIX 编程书籍后明白了苹果的架构为什么长久不衰,一路走来,靠封闭的硬件和系统居然在21世纪还可以卖的那么好。 软件的架构是核心。有问题不能绕,对于软件开发来说,流程的是否直观,明了,是衡量一个系统的是否优秀的基础。
当然,也可以绕,过于绕增加代码复杂度,导致框架臃肿最后崩溃。
函数指针可以解决很多常规流程无法解决的问题(绕过常规无法解决问题),过于依赖它强大的功能带来的缺点是,难以维护,因为你不知道代码会以怎么样的流程来跳转(只有编写者知道这个憋足的设计)
回调函数过于泛滥导致代码很烂。智能指针到处可见表明你对程序的流程根本还不清楚。等等,所以这些问题出在win上面是很正常。因为win的很多机制无法完成一些比较“特殊的”设计,而用户只有使用高级的功能来绕过这个问题,而MAC OS 却提供了非常明晰的架构,不用小聪明来解决,而是正大光明,光明磊落的,而不在编写一些憋足的,不能见人的代码来实现一些“特殊的”功能;
当然,良好的编程习惯和优秀的程序设计能力是可以解决上面的问题的。并不是所有的人是高手,所以这些问题依然广泛的存在!