程序员,本质上是处理阴阳的关系(0,1),算是现代道士。如何写好程序,首先要做到静,才能认真分析问题的本质,按照本质设计,酱紫程序结构就会简单化,明朗化,从而融入整个系统,顺利运行。
今天看到一篇网文描述wayland:“更确切的说,Wayland只是一个协议(Protocol),就像X Window当前的协议——X11一样,它只定义了如何与内核通讯、如何与Client通讯,具体的策略,依然是交给开发者自己。所以Wayland依然是贯彻“提供机制,而非策略”的Unix程序。”
协议,面对具体问题的解决方案,协议设计接近问题本质与否,决定其价值与生命周期。协议的实现方式一般都是机制方式,灵活性而且解决问题。这是为什么unix下库程序能使用几十年还有生命力。回想自己写过的程序,写应用,封装库,包括对的第三方库组织,当时都觉得牛,过一段时间就会自我淘汰之前的代码,重新实现,重新寻找新的解决方案。近10年的程序经验,得出结论是扔掉,剩下的只有经验,知道做什么事用什么库比较合理,用什么方案去组织。
为什么会出现这样的情况,我个人总结了几个问题
课堂进行到第40分钟时,展示出第三张PPT,是单片机的应用系统。主要强调了学习单片机,不仅要学好电子技术,掌握硬件系统,还要学好应用技术开发,掌握软件系统。邵老师提醒同学们,这门课比较难学,但特别有用,要到大的公司去工作,一定要把单片机这个基本的知识学好。
1、教育方面,从basic,c/c++,java的教学,基本是语言级的描述,教学里面的问题都是抽象化的。另外一方面商业化的误导,一窝蜂的学新概念,新技术,这和花钱买文凭,出国留学镀金一样,不学习本质的事情。我上大学时基本只是听说linux,unix。眼前都是傻瓜化的选修课,windows,office,visual c++。IT技术教育内容基本就是以所谓前途为核心,以windows,office”傻瓜化“为辅助。真才实料的linux,unix教育没有。当然也会有些幸运儿遇到好的导师。
2、经过傻瓜化教育的程序人员,只能在工作中锻炼,不少建立了自己的王国。现实社会中,直接面对问题,高速成功解决问题则生存,慢解决不了问题则淘汰。在这样的环境下,由于第一阶段愚化教育,同志们只能去书店买快餐,21天学会XXX,1000个列子,vc快速向导,下一步,....,完成。继续傻瓜化,市场还很大。
3、这样一直想逃离这个傻瓜化帝国,但是不知道目标在哪里,java是一个尝试,结果发现,那是一个美丽的幻境,都活着虚拟机里,而这个虚拟机不容易理解,就算能理解的技术人员,如何最合理的实用也不完全了解,失去了简单朴素的基本原则。
未完。
程序设计中的策略与机制,策略是一种是组织形式,机制是底层协议实现。策略如com方式