编程 乐趣之所在:理想

写这篇文章主要是因为 写给我的团队成员(二)—— 编程,乐趣何在? 文中的一句话:
“C语言是有趣的,因为它是“计算机科学”发展的产物。”
这句话比较喜欢,如果在在前面加上一句:
汇编语言是永恒的,因为它是考证计算机科学进化的碳十四。
虽然我现在也是以当java程序员来谋生。

最近我一直在考虑一个问题,为什么国内做程序开发的人很少有以科学家自居的想法。
国内做过毕业后10年以上程序开发的人应该不少吧,试想一个学物理专业的如果毕业
后还在物理领域发展的话,10多年间稍微有些成就的话,自己偶尔也会以物理专家来
勉励自己吧。

我本专业是读软件工程的,但是现在很后悔当初读的不是计算机科学。
我觉得误区主要在工程两个字上。我们误解工程为团队合作,业务逻辑,
灵活的开发,易于维护结构清晰的系统或者代码。却忽视了后面隐含的要素,
那就是计算机文化或者计算机哲学。

计算机为什么要这样设计,为什么java的io接口和python或者c的惊人的相似。

因此我觉得如果是科班出身的第一门课不要学习什么java程序编程或者面向对象,(流行的东西未
必是很纯粹的东西)而应耐下心来
学习一下计算机发展的历史(不是计算机文化,告诉你如何区分硬盘和内存的科普读物),
学习一下计算机科学先驱的历程。知道硬件是如何发展的,软件是如何跟进的,
两者又是如何相互制约,相辅相成的。

了解计算机体系结构是如何一步步发展到现在这个模型,编程语言又是如何进化的。
现在的开发环境和内容和十年,二十年相比有那些不同。期间以c语言和汇编语言为工具逐步建立你自己印象中的计算机系统的程序员模型。而不是老板贡献薪水,你贡献时间测试别人写好的框架或者类库(这句话可能有些偏激,我现在白天也在做这件事情以求谋求生计)。

通过了解计算机哲学,你在做其他领域的开发你会觉得很自然。

计算机模型是这样的,网络模型是这样的,操作系统模型是这样的。
如果一个框架是很成熟的,它会令你感觉很自然,很优美。就像同一颗苹果树上结出来的苹果。

不了解过去,怎么认清现在,又怎么把握将来。

感觉如果进入计算机这个领域,融入计算机文化氛围,个性多半需要一些理想化的成分作为催化剂,
难道你没有成为计算机科学家的理想或者崇拜他们为人类所作出的贡献?
当然单纯的理想化的程度并不代表专业能力的程度。

以上是一个毕业半年的小朋友冲动下发表的一些浅薄的想法,不过压抑在心中很久了,不吐不快。

如果你看到这里,心中也有这样或许那样的想法,不妨说出来一起讨论,一起交流。

猜你喜欢

转载自frenchmay.iteye.com/blog/251039