Friday, August 29, 2014

搞软件的四个层次

http://www.mitbbs.com/article_t/Programming/31365853.html

发信人: zhaoce (米高蜥蜴), 信区: Programming
标  题: 搞软件的四个层次
发信站: BBS 未名空间站 (Fri Aug 29 11:04:26 2014, 美东)

第一个层次,屏蔽硬件
学习各种高级语言,学会摆脱硬件的束缚写代码并做出相应的优化
并以做出一定程度上的效率优化而沾沾自喜,自以为是
觉得所谓计算机科学,不过如此而已
产品以jvm,os,db这些为主要代表
在此之前,软件是硬件的附庸
在此之后,硬件是软件的奴隶

第二个层次,死套框架
学习各种框架的使用,学会抄袭拷贝他人的劳动成果
从重复而且毫无营养的造轮子劳动中摆脱出来
学会如何省力并在短时间内完成任务交差
满足人低层次的欲望
j2ee,ror,django,nodejs这些
在此之前,代码不可维护,自己都看不懂,项目经常失败
在此之后,写出的代码可读,别人能看懂,项目经常成功

第三个层次,大破数据结构
big data阶段,干掉db中落伍笨重的数据结构
形成un/semi structured的结构,并学会简单处理这些结构混乱的数据
并对数学应用有一定程度上感知,不再觉得编程不需要数学
也不再觉得所谓计算只是其他学科比如物理生物统计的工具而已
相反,觉得统计等数学才是计算机科学的曙光和前途
hadoop,numpy,scipy这些
在此之前,数据存之前必需处理
在此之后,数据取出来才会处理

第四个层次,人工智能
应用理论知识让机器有一定程度的智能,让机器学会从训练数据中自动总结
并给出相应的反馈,这么一个阶段,摆脱了语言的束缚
从统计等数学理论中获得灵感并应用到系统中去
尝试着训练机器
spark今年开了一个好头
在此之前,机器是高级工具,是计算器
在此之后,机器是低级生物,是电脑

past -> jvm -> j2ee -> hadoop -> spark(present) -> future
software is the future

No comments:

Post a Comment