写这篇文章主要是因为 写给我的团队成员(二)—— 编程,乐趣何在? 文中的一句话:
“C语言是有趣的,因为它是“计算机科学”发展的产物。”
这句话比较喜欢,如果在在前面加上一句:
汇编语言是永恒的,因为它是考证计算机科学进化的碳十四。
虽然我现在也是以当java程序员来谋生。
最近我一直在考虑一个问题,为什么国内做程序开发的人很少有以科学家自居的想法。
国内做过毕业后10年以上程序开发的人应该不少吧,试想一个学物理专业的如果毕业
后还在物理领域发展的话,10多年间稍微有些成就的话,自己偶尔也会以物理专家来
勉励自己吧。
我本专业是读软件工程的,但是现在很后悔当初读的不是计算机科学。
我觉得误区主要在工程两个字上。我们误解工程为团队合作,业务逻辑,
灵活的开发,易于维护结构清晰的系统或者代码。却忽视了后面隐含的要素,
那就是计算机文化或者计算机哲学。
计算机为什么要这样设计,为什么java的io接口和python或者c的惊人的相似。
因此我觉得如果是科班出身的第一门课不要学习什么java程序编程或者面向对象,(流行的东西未
必是很纯粹的东西)而应耐下心来
学习一下计算机发展的历史(不是计算机文化,告诉你如何区分硬盘和内存的科普读物),
学习一下计算机科学先驱的历程。知道硬件是如何发展的,软件是如何跟进的,
两者又是如何相互制约,相辅相成的。
了解计算机体系结构是如何一步步发展到现在这个模型,编程语言又是如何进化的。
现在的开发环境和内容和十年,二十年相比有那些不同。期间以c语言和汇编语言为工具逐步建立你自己印象中的计算机系统的程序员模型。而不是老板贡献薪水,你贡献时间测试别人写好的框架或者类库(这句话可能有些偏激,我现在白天也在做这件事情以求谋求生计)。
通过了解计算机哲学,你在做其他领域的开发你会觉得很自然。
计算机模型是这样的,网络模型是这样的,操作系统模型是这样的。
如果一个框架是很成熟的,它会令你感觉很自然,很优美。就像同一颗苹果树上结出来的苹果。
不了解过去,怎么认清现在,又怎么把握将来。
感觉如果进入计算机这个领域,融入计算机文化氛围,个性多半需要一些理想化的成分作为催化剂,
难道你没有成为计算机科学家的理想或者崇拜他们为人类所作出的贡献?
当然单纯的理想化的程度并不代表专业能力的程度。
以上是一个毕业半年的小朋友冲动下发表的一些浅薄的想法,不过压抑在心中很久了,不吐不快。
如果你看到这里,心中也有这样或许那样的想法,不妨说出来一起讨论,一起交流。
分享到:
相关推荐
学习编程语言是一个既有挑战又充满乐趣的过程,尤其对于初学者来说,正确的学习方法至关重要。本文将深入探讨如何高效地学习编程语言,并在短时间内达到熟练掌握的水平。 首先,选择一门适合初学者的语言至关重要。...
总的来说,Python的广泛应用和强大的社区支持使其成为追求编程乐趣的理想选择。从简单的脚本到复杂的项目,Python都能提供足够的工具和资源,让我们在探索和创造中找到乐趣。无论你是想制作游戏、分析数据、学习AI...
《C++的沉迷与爱恋》一书,正如其标题所言,将学习C++的过程比作一场恋爱,从枯燥到充满乐趣,是一次深度探索C++编程语言魅力的旅程。...通过阅读和实践,读者将能够发现C++编程的乐趣所在,从而真正爱上这门语言。
Python编程语言在近年来备受关注,尤其在教育领域和竞赛中占据了一席之地。"蓝桥杯"是一项知名的全国性编程竞赛,旨在提升大学生和中学生的...在学习过程中,不断挑战自己,勇于尝试,你会发现编程的乐趣和魅力所在。
当你成功地用代码绘制出小猪佩奇时,你会对自己的编程能力有更深的自信,这也是编程学习的一大乐趣所在。 因此,如果你是Python新手,或者想寻找一种有趣的方式来提升你的编程技能,这个"小猪佩奇学习代码"的资源包...
热爱编程不仅仅是因为它的结果,更重要的是享受整个创造过程中的乐趣。 #### 13. 不要丧失危机感 成功的程序员不应该忘记潜在的风险。随着技术的快速发展,今天的热门技能可能很快就会被淘汰。因此,持续学习新的...
《使用Dev C++实现小游戏俄罗斯方块 C++版》 在编程世界中,开发小游戏是初学者们常常尝试的项目,因为它们可以帮助我们理解和运用基本的编程概念。...在实践中不断学习和改进,你会发现编程的乐趣和魅力所在。
通过阅读和实践,你可以了解Swift的核心概念,并最终能够独立编写和调试Swift代码,开启iOS或macOS应用开发之旅。 记得,学习编程是一个渐进的过程,不断地练习和实践是关键。这个教程提供了丰富的实例和练习,帮助...
《SudokuConsole 06.03.07_sudokuCsharp_——探索C#实现数独解法的奥秘》 数独,一种源于18世纪末的逻辑推理游戏,近年来在全球范围内广受欢迎...对于热爱编程和数独的你来说,这无疑是一次充满挑战与乐趣的学习之旅。
这种逻辑控制是C语言编程的基础,也是提高编程能力的关键所在。 在C语言中,结构体是封装数据的有效工具。在采蘑菇游戏中,我们可以定义一个结构体来表示游戏对象,如角色、金币和蘑菇,包含它们的位置、状态等属性...
他在《Thinking C++》和《Thinking in Java》等经典著作中展示了对编程深入的理解,而现在他选择了Python作为自己的首选开发语言,这无疑给我们揭示了Python的魅力所在。 首先,Python的易读性是它的一大亮点。它...
在加入这类功能前,玩家应了解所在服务器的规定,以免因违反规则而受到惩罚。 4. **技术实现**:透视模组通常通过读取游戏内的区块数据,分析其中包含的矿石信息来实现透视效果。这个过程涉及对游戏内存的解析和...
1. **信念与目标**:文中提到的“跻身行业前列 实现人生价值”是个人和团队发展的明确目标,对于IT从业者来说,这可以理解为不断提升技术能力,追求在所在领域内的领先地位,并通过工作实现自我价值。 2. **奋斗...
《FlashBuilder_4代码自动格式化插件详解》 FlashBuilder 4是一款由Adobe公司推出的专为Flex和ActionScript开发者设计的集成开发环境(IDE)...正确安装和使用该插件,可以使你在代码世界中游刃有余,享受编程的乐趣。
无论你是Source Insight的新用户还是长期用户,尝试这样的主题都是值得的,它可能让你在编程世界中找到更多乐趣和生产力。记住,个性化的工作环境往往能够激发更多的创新思维,而这就是这种主题的价值所在。
这款编辑器在Ubuntu操作系统上的最新64位版本,提供了更为流畅的体验,让Linux用户也能享受到Markdown写作的乐趣。 首先,让我们深入了解一下Typora的主要特点: 1. **实时预览**:Typora的最大亮点在于其实时预览...
重点在于实现玩家之间的互动,这是任何MMORPG的灵魂所在,它包括但不限于聊天系统、交易、组队、PVP(玩家对战)等关键要素。一旦这些核心交互功能得以妥善整理,项目将进入一个全新的阶段,可以正式宣告其开始全面...
Java 是一种跨平台的编程语言,有着丰富的类库和强大的性能,对于开发大型、复杂的游戏模组来说是理想的工具。开发者可能使用了事件驱动编程、面向对象的设计模式以及数据结构等技术,来实现机械工作台的逻辑控制和...
在IT领域,算法和数据结构是编程的基础,也是提升软件性能的关键所在。"algz"项目,正如其标题所言,是一个专为训练和娱乐而设计的算法和数据结构的学习平台。这个项目主要基于Java语言实现,旨在为学习者提供一个...