老早雷军写的:《我的程序人生路》

WebAppTrend 2009-02-04 05:06:23
我的程序人生路



1996年5月写于金山西点BBS







【题记】 如果程序人生的话,这条路太漫长







我并非天生喜欢写程序,上高中时也没有想过程序员的生活。我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。



当我学会一些后,发现自己特别喜欢写程序。我是八七年上的武汉大学计算机系,大一下学期才有专业课。当我有资格上机的时候,发现电脑世界太美妙,就一头扎进去。当时用的是 Motorola 68000 (相当 于 Intel 8088), 540K 的内存,运行的 UNIX 操作系统,八个人一起用。大二学PC,又过了一学期,开始出现在老师的实验室,帮忙干活,当时就写了现在很多人用的 RI (RAMinit, 清内存的小工具, 看来我还是最早一批写 Shareware 的人)。又过了一个学期,开始和校外的公司接触。大二暑假,也就是1989年8月,和一个朋友组建了 Yellow Rose 软件小组,写了我第一个商品软件 BITLOK 0.99。后来自己创业办过公司,也写过一些其他的软件。



大学毕业后,分到研究所,不太适应那里的气氛,就在1992年初加入金山软件,开始了职业程序员的生涯。后来成了金山软件研发部门的主管,但我一直都是一线的程序员。







编程的感受



… 程序员活在自己想象的王国里







我刚接触电脑就发现电脑的妙处,电脑远没有人那么复杂。如果你的程序写得好,你就可以和电脑处好关系,就可以指挥电脑干你想干的事。这个时候你是十足的主宰。每每你坐在电脑面前,你就是在你的王国里巡行,这样的日子简直就是天堂般的日子。电脑里的世界很大,编程人是活在自己想象的王国里。你可以想象到电脑里细微到每一个字节、每一个比特的东西。







… 我爱编程这个工作,可以肯定我会干上一辈子







不少人认为程序员最多干到三十五岁就可以收山换环境了,脑子也差不多该歇歇了,体力也不支了。并认为写程序是年轻人的事情,到了一定岁数,估计没什么人再当程序员了。



当我刚有一点本事的时候,我也和大家一样觉得编程辛苦,也想三十岁后干别的。当我年长一点后就发现了自己的无知。一个人大学毕业就二十一二岁,有点水平的时候可能二十五,接着就是过日子诸多事情。一切搞掂的时候,也许就是三十五岁。如果这样的话,我们就不用选择程序人生的道路。电脑进入中国时间并不短,但真正大规模开始用,还是八五年 PC 开始的,因此国内真正写电脑程序的人最长也就写了十几年(不知道是否还有这样的人)。由于电脑应用在国内时间比较短,国内开发的主力是三十五岁以下的年轻人为主。但这不表示程序员如同红粉佳人般的容易衰老。美国主力工程师以三十四十多岁的人为主。



开始的时候,我们觉得我们没有什么不能做的(现在还能听到这样的豪言壮语),而且更要命的是好象我们特别聪明,特别适合开发软件,比老外强得多。当我们真正接触那些杰出的开发人员的时候,发现他们太厉害了,都有十多年的开发经验。虽然也有很多年轻人做了很多好东西,但决大多数的产品出自这些有丰富开发经验的程序员的手。刚毕业的时候,编程不仅仅是爱好,而且也成了一辈子的工作。整天不知道写些什么东西,觉得特别没劲,找不到感觉,特别灰心。后来,才明白,只有全身心地投入,程序才会有感觉。



写程序的活特别费脑子,也特别累,但我喜欢,可以肯定我会干上一辈子,虽然我没有打算一生只干这一件事。用一生来编程序是一件既容易又困难的事。如果碌碌无为,为交差写点程序,这样的日子太好混了。但如果想全身心地写程序,写十年就不是一件容易的事。现在我不少朋友都洗手了,有时我也想“用什么电脑呀,Windows 外的世界不是也很大吗?”。面对电脑的时候,立刻顿悟:写程序还是自己最擅长的事,也是最喜欢的事。







… 高级程序员不是追求的目标







有的人学习编程技术,是把高级程序员做为追求的目标,甚至是终身的奋斗目标。后来参与了真正的商品化软件开发后,反而困惑了,茫然了。



一个人只要有韧性和灵性,有机会接触并学习电脑的编程技术,就会成为一个不错的程序员。刚开始写程序,这时候学得多的人写的好,到了后来,大家都上了一个层次,谁写的好只取决于这个人是否细心、有韧性、有灵性。掌握多一点或少一点,很快就能补上。成为一个高级程序员并不是件困难的事。



当我上学的时候,高级程序员也曾是我的目标,我希望我的技术能得到别人的承认。后来发现无论多么高级的程序员都没用,关键是你是否能够出想法出产品,你的劳动是否能被社会承认,能为社会创造财富。成为高级程序员绝对不是追求的目标。







… 编程不仅仅是技术,还是艺术







有人认为编程是一种熟练工种,也有人把编程说成是艺术创作。这两种意见争论比较激烈。



我们换个工种来看,石匠应该是熟练工种,属于工人,更和艺术似乎沾不上边。但正是这些石匠,给我们留下多少文物古迹,如乐山大佛、莫高窟等等。应该说这些石匠给我们留下了无穷的文化财产。现代软件工业已具相当规模,很多软件的完成需要的是大兵团作战。一名普通程序员接受编写某一模块的任务后,往往只是写代码,发挥的余地很小。在大项目中,很多程序员只能了解到和自己所编模块相关的很局部的细节,另外还受到开发环境的限制,真的很难体会到自己在从事”艺术”创造,更多的时候是感到自己在从事重体力劳动。有的时候还担心自己苦苦参与的这个项目究竟有没有意义,是不是在同类产品中有竞争力,会不会开发出来以后就因为硬件的发展,操作系统的换代而过时……



我认为编程的工作和石匠比较相似,有技术活,更多的是体力活。不管怎么说,写出一个好软件不是一件容易的事。



这两种想法都有片面性,编程应该说两种属性都有。编程不仅仅是技术,也还是艺术。编程是技术活,才有可能大规模进行,才会有软件工程和软件工厂。也正是编程是艺术,才会有如此多的好产品,让大家如痴如醉。
...全文
1391 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pluser 2011-05-06
  • 打赏
  • 举报
回复
牛人 呵 学习中
herman~~ 2009-02-20
  • 打赏
  • 举报
回复
UP
byrybye 2009-02-05
  • 打赏
  • 举报
回复
他现在还写程序吗? 还是这样想的吗?
fabiaodeyu 2009-02-05
  • 打赏
  • 举报
回复
是艺术或者是体力活关键还是取决于个人
imgenus 2009-02-04
  • 打赏
  • 举报
回复
看了很感动, 自己也正走在通向真正开发者的道路上, 苦乐参差, 但乐趣远多于苦闷. 如果真正编程, 其实是在扮演上帝的角色, 虽然我们也必须遵从软件中既有的规则, 但只要我们有足够创造力, 在软件中, 我们就是上帝, 我们控制着一切, 包括Bug.
na2650945 2009-02-04
  • 打赏
  • 举报
回复
学习了。
weberxian 2009-02-04
  • 打赏
  • 举报
回复
沙发,呵呵
weberxian 2009-02-04
  • 打赏
  • 举报
回复
哈哈,牛人
重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文围绕三相逆变器模型仿真及软开关技术展开研究,基于Simulink平台构建系统仿真模型,深入分析三相逆变器的工作原理、主电拓扑结构、空间矢量脉宽调制(SVPWM)控制策略及其动态响应特性。重点研究了软开关技术在三相逆变器中的实现方法,通过优化开关时序与谐振网络设计,有效降低了功率器件的开关损耗,提升了系统转换效率与电磁兼容性能。文中详细仿真了不同负载条件下逆变器输出的电压、电流波形,验证了LCL滤波器对高频谐波的抑制效果,并探讨了闭环控制策略对系统稳定性的提升作用。此外,研究结合工程实际,分析了软开关的实现条件及其对系统可靠性的影响,为高性能逆变电源的设计提供了理论支撑与仿真依据。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事新能源发电、电能变换、微电网系统研发的工程技术人员。; 使用场景及目标:①作为高校电力电子技术、现代电源设计等课程的仿真教学案例,辅助学生理解逆变器控制与软开关原理;②为新能源并网逆变器、不间断电源(UPS)、电机驱动系统等工业产品的研发提供仿真验证手段和技术参考;③帮助科研人员掌握Simulink在电力电子系统建模、控制器设计与系统级性能评估中的综合应用能力。; 阅读建议:建议读者结合Simulink软件动手搭建仿真模型,逐步调试PWM发生模块、SVPWM调制单元与LCL滤波环节,重点关注软开关谐振过程的波形特征与控制逻辑的匹配关系,进一步可延伸学习数字锁相环(DPLL)、重复控制、模型预测控制等先进算法的集成应用,全面提升电力电子系统仿真与设计水平。
内容概要:本文围绕“移动边界法”这一创新方法,系统研究了融合光热电站与分时电价机制的微电网运行调度问题,并提供了完整的Matlab代码实现方案。研究充分利用光热电站具备能量存储与灵活调控的优势,结合分时电价引导用户侧负荷转移,优化微网内多能源协同运行策略,从而提升系统运行的经济性、稳定性和可再生能源消纳能力。所提出的“移动边界法”通过动态调整优化时段的时间边界,增强了模型预测控制(MPC)在应对光伏发电、风力发电等出力波动及负荷需求不确定性方面的适应性与预测精度,有效改善了传统固定时窗优化带来的偏差问题。该资源属于电力系统智能优化领域,聚焦微电网双层能量管理与多目标调度,涵盖系统建模、优化算法设计与仿真验证全过程,配套完整代码与案例分析,具有较强的科研复现与工程参考价值; 适合人群:面向具备电力系统、能源动力、自动化或相关专业背景,熟悉Matlab编程环境及优化工具箱(如YALMIP/CPLEX)的研究生、科研人员及从事新能源并网、微电网优化调度、综合能源系统规划的工程技术人员; 使用场景及目标:① 深入学习并复现“移动边界法”在微网调度中的创新建模思与实现径;② 掌握光热电站的热电联供与储热建模方法,及其与分时电价需求响应机制的协同优化策略;③ 实践基于Matlab的微电网多目标优化模型构建、求解流程与结果分析,提升科研仿真能力与高水平论文复现水平; 阅读建议:建议结合文中提及的相关研究方向(如分时电价需求响应、综合能源系统双层优化、模型预测控制等)进行横向对比学习,重点剖析模型构建的逻辑架构与代码实现的关键细节,配合提供的网盘资源开展仿真实验,通过调试与参数敏感性分析深化对优化算法与实际工程问题深度融合的理解。

698

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧