`
happmaoo
  • 浏览: 4472708 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

我为什么反对语言之争?我的语言历险

阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标准答案是三行。
我又开始疑惑了,C++怎么又有市场了?后来找了家公司,老老实实从基层干起来了。PHP,Oracle数据库,Java,C++,公司要什么我就做什么;后来公司发展了,职位也逐年上升,而日子居然也一天天好起了。看看手上曾经做过的产品,已经有很多用户在用,也颇有成就感。而语言,突然发现它在整个过程中是很次要的事情:
管理团队,让大家工作得开心又负责任,才能把项目做好,和语言无关。
和客户或产品经理弄清楚需求,花的时间是整个项目的三分之一到一半:与语言无关。
产品设计最头痛的是前后版本兼容性问题,性能问题,冗余,故障恢复问题,在线备份问题……大部分还是跟语言无关。
产品代码出Bug,逻辑出错占一半:和语言无关。
最头疼的产品出错,都是什么产品环境配置问题,系统结构不佳啊,程序代码错误最多只有20%,而且大部份是最简单的错误。
而大部分语言问题,都是无论那种语言来做都会有的共性问题;而是不是某种语言的问题,就像吃饭的筷子是竹子做的还是木头做的,好像忘了它的存在一样。
这时,离我拿起第一本C++的教程,十几年过去了。
现在再回头看语言在我心中的变化:
刚出道时:什么难学什么。年少轻狂,把这个看成是智力挑战。
4-7年:什么流行学什么。学什么很功利主义,有时也很盲从,有时也是生活所迫。有时就像在押一个总是迟一步的宝,又总是押不着。这段时间是最痛苦的时候。
8-12年:忘了语言,只有产品。豁然开朗,也明白了为什么程序员可以是一个一辈子的工作。
我为什么反对CSDN引导Java和Ruby的争论?请注意,我是反对CSDN来引导此次争论,而不是反对什么其他人愿意在自己的田地里吵闹。除了我的个人观点外,我是希望CSDN引导一些更有价值的事情。语言之争多年前已经演练过了,被证明是愚蠢之举;今天再讨论,就像是在争执姓资姓社一样没有价值。其次,这种争执诱导了一些年轻程序员站队押宝,我看到或处理过多次这种案例:非要做某种语言或工具,这对程序员的发展相当有害。参见上文《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》。
过去有位作家说,写东西就像拧身上的一个痦子,拧出了就舒服了。好吧,我想要说的也说得差不多了,估计表达漏洞也多得很,各位网友尽管板砖。




因为上一篇文章《误导程序员的喧嚣:评CSDN引导Java和Ruby之争》,引起了一些争论,我回了一些质疑,不过始终觉得没把问题讲清楚,因此再写一篇。
十几年前,我是从C++开始计算机编程的。(不算那些在课堂上学的FORTRAN,Pascal,Basic,Z80和单片机(51)汇编,因为除了在学校安排下的上机——有的连上机都没有——敲过几行程序,没真正用它们做过软件。)那时我在一个电脑公司兼差。老板是学校的老师,想法挺不一样,看我能写几行程序,就让我专门写点小东西,装在286、386的机器上,卖机子比别人快。
后来老板的公司有了一点名气,就开始承接软件项目。有一个项目,是在几个相隔几百公里的地点传数据。这几个数据点,一起共享一根电话线。传输是通过只有可怜的14.4Kb的传输率的Modem进行的。电话线路质量似乎也不太好。开始这个项目也不是我做,因为一些变故,就落到我头上了。
我拿到项目时已经有了一个框架。前面的人用Borland C++在DOS下,写了一部分UI和通讯层。UI是用Turbo Vision(不知道有没有人知道)——Borland的一种库——通讯层是用Modem的AT指令,另外还用Code Base库访问数据库。我那时是糊涂胆大,反正也没什么可怕的,学生嘛,也不存在怕丢工作,接手就做。昏天黑地了一个月,逃了不知道多少课,以致一门课的老师当堂指名道姓宣布,考试必抓我。但郁闷的是,系统还是一会工作一会儿不工作。也不敢跟老板明说,只是含糊说,还行吧。
到了上线那天,下大雨,我带着一个师弟和半成品,上路了。老板大概心里明白着呢,就没去。那是我生平第一次出差。渗着汽油味的长途汽车出行200多公里地,晚上的时候,进了一个山窝窝。那里的人倒也热情,几桌子菜,每桌子都堆到三层,大鱼大肉,我还看见一块生平未见的大蹄膀。接着又有一些酒气熏天的家伙逼着我们喝酒。想来我们的到来刚好成了他们的“巴浦洛夫”,大大地让他们奢侈了一番。
第二天调试当然不顺。于是,我开始怪天气,说大雨影响了传输,总之,不是我们的错;)。对方似乎也挺相信。最后实在不行了,就约好那天天气好了再来。回来的路上,我的心情很是阴沉。期末考试就要近了,我还没抱佛脚。说实在的,对那个程序,我也没什么信心了。不要说很快天气就要晴了,而我不能这么快就能改好,就再改一个月也未必行……
回来以后,老板也没责怪我。他找了一个老师,说他能搞定。三天后,那个老师回话说,做完了!
我大为震惊。刚好老板让我帮忙测试,我赶紧看那老师到底是怎么做的。
只见那老师根本不用C++,他用Foxpro。他做了一个软盘,里面是Novell的拨号网络,直接可以拨到一台服务器,这就是通讯部份;剩下就是:拷贝文件和在数据库里插记录。还用说,项目当然成功得不能再成功了。
我舒了一口气,同时也有点不服气。总觉得老师的实现技术含量不高,难度不大。在剩下的大学生涯,我把几本C++的大厚本书里的代码全敲了一遍,自以为是高手了。
毕业后去了南方。那时胆小如鼠,听从父母的安排去了一家传统企业。因为不甘心,周末总在电脑公司晃荡,和老板们混熟了。有一天,一个老板闲聊时对我说,有个桑拿管理系统,想不想做?500块。我当然想做,要不我在电脑公司晃荡干什么?我做了一个开发计划:30天。那老板睁大眼睛看着我,“老大,别人两个星期就做完了!”我说:“怎么可能?”生意当然黄了。后来一打听,有个老兄用VB,这种系统还不是小菜?
这事对我打击很大。我每天学到12点,对C++,Window API,自以为掌握地很好,想不到还赚不了钱。看来C++是不行,我还是弄点别吧。我于是辞掉了工作开软件公司。此后数年,从VB,VF到PB,从PB到Delphi,中间还用过Developer 2000,Java,Netscape的服务器端Javacript。从通讯程序、ERP系统,什么烂MIS,写了一个接一个。当然,钱嘛,还是没挣着。
后来实在挺不下去了。只好去打工。开始到一家很大的外企面试,面试官出了一道题:不用库函数用C++实现字符串比较。我那时有三四年没用C++了,答案写了一页纸。面试官最后说:标
分享到:
评论

相关推荐

    小班语言:丁丁历险记.docx

    【小班语言:丁丁历险记】 教育是儿童成长的重要环节,特别是在小班阶段,孩子们正处于探索世界、建立自我认知的关键时期。本教学活动——《丁丁历险记》旨在提升幼儿的安全意识,帮助他们了解不能将小物品放入嘴巴...

    中班语言优秀公开课教案《小灰鼠食物历险记》润新教育.txt

    中班语言优秀公开课教案《小灰鼠食物历险记》润新教育.txt

    大班语言:小蛋壳历险记.docx

    在故事的每个关键节点,老师都会提出问题,如小蛋壳如何在下雨时成为小老鼠的雨帽,以及为什么小蛋壳会让小老鼠把它当作小船,以此引导幼儿思考和表达。 完整欣赏故事后,教师引导孩子们回顾小蛋壳的历险经历,讨论...

    C++Builder深度历险

    C++Builder是由Embarcadero Technologies开发的一款强大的可视化编程工具,它结合了C++语言的强大功能与RAD(快速应用开发)的优势,为开发者提供了一个高效、易用的平台来构建桌面应用程序。 C++Builder深度历险的...

    14《登山》,之六登山赛车之朝天历险记.pdf

    《登山》这篇文章讲述了列宁在一次朝天的历险中,选择走一条充满危险的山路,以此来锻炼自己的意志和勇气的故事。这篇文章可以分为三个部分,每个部分都富含了丰富的教育意义。 第一部分主要介绍了列宁决定走一条...

    Java深度历险

    Java深度历险 Java深度历险 Java深度历险 Java深度历险 Java深度历险

    大班语言小鹿历险记.docx

    1. **故事教学法**:通过讲述《小鹿历险记》这个故事,教师引导孩子们理解故事内容,培养他们的想象力和语言表达能力。故事中的小鹿在面对危险时的经历,为孩子们提供了自我保护的隐喻,让孩子们在听故事的过程中...

    小飞侠历险记

    《小飞侠历险记》是一款基于C++编程语言开发的小型游戏,旨在激发和提升玩家对C++编程的兴趣和技能。在这个游戏中,开发者通过巧妙地运用C++的基础语法、面向对象编程思想以及可能涉及的一些高级特性,为玩家创造了...

    细菌世界历险记.pdf

    细菌世界历险记.pdf

    Java深度历险_Java深度历险

    《Java深度历险》这本书是Java开发者的一本深入学习指南,它涵盖了Java编程语言的核心概念、高级特性以及实际开发中的应用技巧。通过本书,读者可以系统地了解Java的各个方面,从而提升自己的编程技能和问题解决能力...

    java深度历险.rar

    java深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rarjava深度历险.rar

    聪聪历险记

    《聪聪历险记》是一款基于Delphi6开发的小型游戏,它虽然规模不大,却具备了类似“超级玛丽”这样的经典游戏的核心要素,展现了游戏设计的精巧和趣味性。Delphi6是一款历史悠久的集成开发环境(IDE),以其强大的...

    C++ bulider深度历险

    《C++ Builder深度历险》是一本专门为C++初学者和进阶者设计的书籍,旨在帮助读者深入理解和掌握C++编程语言的核心概念和技术。这本书的重要性在于它为学习C++提供了一个全面且深入的视角,使得读者能够系统地构建...

    飞天历险FREE采集摆摊脱机工具

    标题中的“飞天历险FREE采集摆摊脱机工具”是一个专为网络游戏“飞天历险”设计的辅助软件,其主要功能是自动化执行游戏内的采集和摆摊操作,帮助玩家在离线状态下也能持续进行游戏活动,提高游戏效率。 在描述中...

    Delphi深度历险.rar

    《Delphi深度历险》是一本专注于探讨Delphi编程技术的专著,通过这份压缩包文件,我们可以深入学习和理解Delphi编程的各种精髓。Delphi,由Borland公司(后被Embarcadero Technologies收购)开发的一款集成开发环境...

    J2EE框架深度历险

    J2EE框架深度历险

    幼儿园大班语言优秀教案《丘丘历险记》润新教育.txt

    幼儿园大班语言优秀教案《丘丘历险记》润新教育.txt

Global site tag (gtag.js) - Google Analytics