首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编程之路,随笔

编程其实就是解决问题,你解决实际问题的能力越强,你的编程能力越强。其实这和其他行业是一样的。下面是我搜集的一些编程的一些问题解释

有两种方式构建软件设计:

一种是把软件做得很简单以至于明显找不到缺陷;

另一种是把它做得很复杂以至于找不到明显的缺陷;

数据与计算的关系

传统的计算模型是数据向程序靠拢:数据流向计算程序

大数据的技术模型是:程序向数据靠拢:程序流向数据(分布式部署),归并后再流向程序

闭包与对象

闭包是附有数据的行为,对象是附有行为的数据

大家观察下:闭包与对象,传统技术与分布式计算其实都是逆向思维的产物,这个也是编程思维的一次跳跃

程序模型:

所有的程序模型都是围绕着输入、输出,和过程处理来展开的;这也是世界万物之间交互的最基本模型;我们总是企图使用程序来模拟世界万物的交互,未曾想交互异常复杂。几种典型的开发模型:典型的开发模型有:1. 边做边改模型(Build-and-Fix Model);2. 瀑布模型(Waterfall Model);3. 快速原型模型(Rapid Prototype Model);4. 增量模型(Incremental Model);5.螺旋模型(Spiral Model);6.演化模型(evolution model);7.喷泉模型(fountain model);8.智能模型(四代技术(4GL));9.混合模型(hybrid model);10.RAD模型;

其实编程的学习,在这个过程中,主要是两个方面的学习:一是论文的阅读,二是编程实践。

从一本“杂书”上看到了这样一个图(经过个人加工的):

A:程序; W=1;

B:编程产品; W=3;

C:编程系统; W=3;

D:编程系统产品; W=9;

其中,A,B,C,D表示编程之后产出的东西,W表示工作量。

可以看出,我们平时写的程序,至少是我这个刚进入研究生阶段的同志,只是可以运行的程序而已,既不能称作是系统,也不能称作是产品,更不能称作是系统产品。B:通用化,测试完整,文档完整,便于维护等C:有明确的接口及其说明,可以方便进行系统集成等。另一方面,从工作量可以看出,写好程序和把程序转换为系统产品还有很大一段距离。因此,不能在写好了程序就沾沾自喜,以为完事了。当然了,也有后续工作很少的,但是那时在前期工作非常完善的情况下。

如果A是普通的程序员,那么B和C是优秀的程序员,D是卓越的程序员

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110A0G1EM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券