工匠与大师的区别,在于是否有灵魂和思想。一位没有灵魂与思想的程序员,即使他能写出优雅的代码,做出功能强大的网站,充其量也只是一位优秀的工匠。大师之所以称之为大师,不仅在于精湛的技术,更在于其技术背后所渗透的思想与灵魂。正是思想与灵魂的存在,人类的精神世界不断得到丰富,人类的文明巨轮不断前行。
哲学,作为思想与灵魂最重要的载休,深深地影响人类世界。如何将哲学运用至软件工程学?目前仍是一个尚在探讨中的话题。能意识到这一话题的程序员,更是少之又少。
软件工程学起源于上世纪60、70年代的软件危机,至今也仅50年的发展历史。从目前的发展状况来看,这仍是一门尚处于襁褓之中的学科。跟上百年发展历史的汽车工业相比,软件产业无论是在技术含量、管理模式、市场化运作等方面,有着太多差距。软件公司仍可进行小作坊式生产,而且还能活得很好,汽车产业要想如此,除非倒退至20世纪初。
软件产业的发展,要想上升一个层次,就必须考虑软件工程学与其它学科的融合,如艺术、美学、哲学。其中最重要的就是哲学。思想决定高度,有了哲学的思想指导,软件行业的未来发展才不至于在黑暗的迷雾中迷失方向。
作为一名程序员,想发展的更好,哲学素养是必不可少的。spring、hibernate这些流行框架的背后,必然蕴含着某些哲学思想。而这有待于我们前去挖掘。
如阎宏所说,正如量子物理学在上个世纪初处在科学哲学的前夜一样,毫无疑问,软件工程学目前也正处在科学哲学的前夜。希望软件工程哲学的太阳能够从东方的地平线上升起。
分享到:
相关推荐
高超的程序员并非致力于表面的成功,而是在人机之间寻找一种神秘的存在。 根据禅的解释,在硬件、软件、固件、界面和理解之间没有分界--相反,所有这些都结合进了一个和谐的整体。 只有当程序员最终学会了将那种...
程序员十层境界里面概括了所有的情况 上到大哲学家 下到入门者 看看自己是哪一层把
《编程之道》,一个酷爱东方哲学和练太极拳的老外写的书。作者是一位资深的程序设计师,从他的爱好和著作中 可以看得出作者的文化底蕴。而他现在从事的工作,是如何把最好的管理技术和高科技企业联系起来,而这种...
程序员生活6 属于私人书籍,若有下载,请务抱怨
这是一个很经典的人生哲理,对于程序员,对于任何人,都应该看看,面对困难,面对生活,面对人生,希望大家永远拥有自己的信念
学家,对中国哲学、中国文学都作出了较大的贡献,在中国文化史上占有重 要的地位。但是,历代学者对庄子思想的评价,褒贬不一,莫衷一是;对庄子著作 的真伪,众说纷坛,争论不休。 《庄子译注》,是其中译注的一个...
本文介绍了程序员的技能训练过程,详细完整的为向从事计算机科学及计算机工程工作的本专业和非专业人士指出了一条学习之路。并在后半部分将学术上升到了科学和哲学的高度。是篇难得的好文章。
送给所有的开发爱好者 送给所有的开发爱好者
这是一本引发程序员思考的哲理书,此书以以往的IT类 图书以“术”这术的编程类书不同一,已把软件提到“道”的哲学高度。讲如何你做好程序员的职业规划!
C++程序设计语言_特别版,讲解了怎样学习C++,哲学注记,历史注记,C++适合做什么,给程序员的建议等,是一本非常好的书。
好的软件人员必看的书籍,包括科学哲学和管理哲学类、 计算机科学基础、 软件工程思想等
最近园子里有个MM发了一篇一些让程序员伤心让程序员开心的话,作为入行快10年的老程序员的我,她那篇帖子里不管是“让别人开心的话...从哲学的范畴来说尊严是一种文化,文化是人和动物的本质区别。比如自杀这种行为就是
恰好是苏格拉底门徒的综合哲学家的答案 哈斯克尔是否真正帮助人们解决他们的问题? Haskell 实际帮助人们解决的问题类别有多大? 人们会问“与 X 相比,C 的优势是什么?” 他们没有。 他们只是使用 C。为什么? ...
在上一章中我们详细讨论了iBATIS的哲学观,以及这个框架的来历。我们也说过,iBATIS是一个混合式的解决方案(hybrid solution),借鉴了多种操作关系数据库的方法的理念。那么iBATIS到底是什么呢?这一章就来回答这...
异常的处理是跨越编程语言的,和具体的编程细节相比,程序执行异常的处理更像是哲学。限于认知能力和经验所限,不可能达到像解释器下import this看到的python设计之禅一样,本文就结合实际使用简单的聊一聊。 0. ...
程序员面试刷题的书哪个好 pd of software design 02复杂性本质 定义 复杂性是与软件系统的结构有关的任何东西,它使系统难于理解和修改 表现形式 难以理解的代码 一个小的改进需要很多努力 修改一处BUG,引入另外一...
程序员常刷题目标 构建利用流量控制的方法 阅读并理解测试输出以开发工作程序 更加熟悉测试驱动开发的概念 关于本指南的说明 我们之前已经了解了测试驱动开发以及阅读和理解 RSpec 测试的概念。 每次运行learn运行...
Unix哲学 让每个程序做好一件事。 要完成一项新工作,请重新构建而不是通过添加新功能使旧程序复杂化。 期望每个程序的输出成为另一个未知程序的输入。 不要用无关信息混淆输出。 避免严格的列式或二进制输入格式。 ...
模块化是最高原则之一(在 《Unix 编程艺术》一书中, Unix 哲学第一条即:模块原则),...但这也是 C 语言本身的设计哲学决定的:把尽可能多的可能性留给程序员。根据实际的系统,实际的需要去定制自己需要的东西。