控制计算机的本质及针对应用进行程序设计的思考
其实,计算机的本质就是计算,当然不仅仅是传统的数值计算,而的计算更多是数值计算与非数值计算机的结合使用,融合在一起。编程,其基本的流程是针对现实的事物进行抽象,在计算机中用数据结构把他们描述出来,再用计算机的逻辑对按一定结构组织的数据进行计算,最实现最终求解的目的。其中,这里面有三点是最重要的:
1. 对现实的事物进行抽象;
2. 用内存中的数据结构对现实数据进行收集;
3. 写出相应的算法,对它们进行处理。
其中,
第一点,其实是个人修养与能力最为重要的一点,而且它是可以独立与任何语言的,而且针对各种语言,也出现了很多方法论,如uml建模;
第二点,数据结构里面最典型的也是最强大的是多维数组字典是现实问题的描述,我想几乎所有的现实问题都是可以通过这样的方式进行描述的吧;
第三点,表面是处理流程,现在一般典型的组织方式是函数,如果用递归的形式对结构数据进行处理,这样可以充分利用CPU的强大。而且,我想这也是一般训练的方向。
针对应用的场景,会有各种各样的语言,上面的理念,我相信是相通的。
在web应用中,php可以满足大多数需求,进行上面的理念进行开发,php是可以胜任的,但它有一个很大的缺点是,当用大框架进行应用开发时,每次请求初始化所有的资源,我也认同这是很致命的。但我相信这个问题还是可以得到解决的,可以用关系或非关系数据库,是需要初始化的资源进行持久化。而这需要初始化的资源是用多维字典进业务进行规律性的合局描述。虽然,如果迭代会对多维字典进行重构,但如果用到勾子的机制可以适应很长的时间。
因为Php每次请求初始化的方式,必须用持久化的方式进行辅助应用。
因此,我想,如果那个多维字典有很强的设计能力,我想用php进行大型的,高效率的系统开发,是可以完全胜任的。