当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]程序员感悟——路该怎么走

有一句话我一直记得很深,“当人深处迷茫之中时早已不再迷茫”。很绕很矛盾的话,也可能有人听到后会马上跳脚喊,我一直迷茫怎么还是迷茫呢?呵呵。静一下想一下再喊。

大家都这么大了,路该怎么走,你知道么?作为程序员,路该怎么走,你知道么?

05年入学,对IT一无所知,对程序一无所知,甚至对自己也是一无所知。路走到了今天,我感触确实不少,写点东西以飨来者。

科班出身的我们,从开始就按部就班的学着操作系统,数据结构,组成原理;从c到c++,汇编,java这些又是标准课程。面对纷繁复杂的IT界,你每天记住五个名词或者缩写,到今天我敢说你依旧很多东西不知道。难怪不知道怎么走。我们不是选择太少而是选择太多。我们得到的信息不是太少而是太多。

不知道现在还有没有人疑惑是该学c++还是学java;是该选择.NET平台还是java平台;是该学通信还是学web;是好好编程还是学好软件工程;是学python还是ruby;是学javaFX还是WPF;是专注windows开发还是去linux;是跟着大家一起SOA还是OO。。。如果这个单子继续列下去,就像死循环一样吧,无终无止直到崩溃。

但单子上的每一个选择又都是那么切身的烦恼着我们。站着说话不腰疼的人无法理解切身的痛。我是从大二下学期开始学习的,是突然之间对作为程序员感了兴趣,虽然晚了点,但迟到总比不到强。当时我就很迷茫,也不知道该学什么,当时网上c++还是比较火的,虽然有人说它已经死去,被什么什么替代,但总有很多人站出来力争并有些道理。于是热血的我斥资买了大量c++经典,基本能叫上名来的经典我都买了吧,五本以上。当时看着书架上一片c++,心情澎湃啊,谁说c++会死掉,我跟谁玩命。可最后呢,呵呵,不好意思,没坚持下去,除了effective c++看了一半左右,其他有的翻翻有的连动都没有,最后把所有书半卖半送给同学了。

然后马上转到.NET平台,开始学习C#,至今都不知道为什么,也许打了鸡血,又是心潮澎湃吧。可这次基本算是坚持下去了。一如既往,书架上一片.NET,c#,图书馆的相关书籍也是不知被我借了多少本。我觉得有一点幸运的是我看的第一本.NET书籍是understanding .NET的中文译本《.NET大局观》。看了以后确实有了一个不错的大局观,虽然当时有不少地方看不懂,但足够了。我知道.NET是平台,C#什么都不是。如果不理解.NET,学c#没用。以至后来我跟同学说“java不是一种语言,c#不能独存”,至今想想都很有道理。

于是一路沿着程序员的路走了下去,开始去理解OO,间断的编程序,学习web,了解SOA,看《程序员》杂志,总和几个哥们高谈阔论技术。其实我知道自己水平很低,但是我知道我在干什么,而且还有点兴趣。足够啦。

那么再回到题目,路该怎么走。我是那种不爱听别人话的人,我不同场合跟人说过,别人说话都是放屁,如果你觉得香就去听,不喜欢就算了,喜欢屁的人还是不多的。我话虽然说得很难听,但tell the truth,我就是喜欢屁的那种人,我当面抵触背地里就会想人家说得到底对不对,我自己哪里有问题。表里不一啊。

既然是程序员的感悟,再回头说点技术的路怎么走。技术大牛们总是喧嚣着这鼓吹着那,什么技术的发展总是朝着更快更简单(很多人说,孟岩也说过,他是个有争议的牛人)想想还真对,谁不喜欢简单点快点啊。但是从一个技术跳变到另一个技术为什么简单了为什么快了。你知道么?

很多人都学过c++,先不管编过多少代码。C++中的多重继承大家印象深刻吧,在后来的高级语言中都把这个特性砍掉了。为什么?我不知道。为什么不知道,因为我没用过多重继承,它没有给我带来过巨大的麻烦让我困惑不已。如果硬让我说多重继承带来的麻烦就是我不知道为什么它被砍掉了。蛮有道理蛮有现实意味的东西。这一点我也问过SY,因为我知道他编过不少c++的程序,而且项目还不太小。他说他也没被多重继承烦恼过,也无从说起它的坏来。

再说一个更有趣的,万恶之源的goto。市面上我们接触的语言大多都有goto,但是所有技术大牛都说不要用。那是万恶之源啊。我用过,在汇编里,因为据我的水平汇编不用goto没办法。可是我的汇编程序小的可怜,根本不足以暴露goto的恶来,所以至今我也不恨它。

再说一下重量级和轻量级,太流行的两个词汇啦,或者说轻量级更流行吧。为什么,因为它轻吧。哈哈。俗话说,船小怕风浪,船大难掉头。不大不小又怕风浪有难掉头。所以不要一直不变的以为轻量级一定是发展方向。想要迎风破浪,没有大船也不行。

大家看懂我要说什么了吧。所有的技术变革都是有原因的,即使厂商们再鼓吹,都是要真的有那么回事,他们才能煞有介事。可是我们为什么会对技术变革感到迷茫,对选择感到困惑,因为我们不了解前因后果,我们没有受到上一种技术的煎熬,我们没有感受到后一种技术带来的便捷。那怎么可能不困惑呢。。。

别人的经历再丰富再有道理,但那不是你的,你依旧不会真的明了其中的道理。但话说话来,我还是不会用多重继承的,我还是不会使用goto的,我还是会命名规范的。我还是会欣然接受技术变革的。断代史的特点就是这样。

那么你现在还会为选择了python的同时ruby火了而愤怒么?还会为了选择了.NET而J2EE异常流行感到遗憾么?

其实路就在脚下,怎么走看你自己,结果也只有你自己知道。如鱼饮水啊。去经历那些困难和麻烦,才会知道简单快捷的好处。去经历迷惑才能体味清醒的快乐。还要去看技术大牛们的吹嘘和感叹。还是要自己一行一行的敲打垃圾程序。给你十年。够不够?

程序员的路是一行一行打出来的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

一般从事互联网工作,尤其是软件类岗位,通常加班现象都是比较严重的。那么,做硬件的就没有加班了吗?

关键字: 互联网 程序员 工程师

即将与Farfetch合并的奢侈时尚电商平台Yoox Net-a-Porter日前宣布Alison Loehnis为临时首席执行官,任命自10月31日起生效。Alison Loehnis于2007年首次加入Net-a-P...

关键字: NET TE ISO NI

在大多数人眼里,程序员是一份高薪职业,即便是刚毕业出来找工作的应届生,似乎也能随随便便月收入过万。那么,事实真是如此吗?

关键字: 程序员 计算机

上海2022年9月29日 /美通社/ -- 9月26日下午,蓝科与普华永道共同策划的【日企财务沙龙】在位于上海湖滨路的普华永道创新中心顺利举办。 "CFO在未来应该被称作首席未来官(Chief Future...

关键字: 数字化 NET CAN FUTURE

Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...

关键字: Java C++

(全球TMT2022年9月15日讯)IBM于美国东部时间9月13日发布其下一代LinuxONE服务器,这是一个具有高度扩展性的基于Linux和Kubernetes的平台,旨在为企业提供所需的可扩展性,使其能用一个单一系...

关键字: IBM Linux NET 可扩展性

北京2022年8月29日 /美通社/ -- 伴随着云、大数据、AI等创新技术的发展普及,企业信息化应用系统以及应用环境都变得越来越复杂,但纵观全球市场,大型机、小型机的市场持续萎缩,越来越多的企业选择高性价比、...

关键字: SCALE 虚拟化 AN JAVA

(全球TMT2022年8月23日讯)亚马逊云科技 (Amazon Web Services)宣布,三七互娱公司将海外游戏全球支撑平台业务全面迁移到亚马逊云科技,助力实现海外业务高速、高质量发展。三七互娱是全球领先的上市...

关键字: 亚马逊 网络 NET TE

在现在这个网络时代,程序员在日益辛苦地工作,他们总是喜欢学习、尝试新事物,求知欲望相当强,以最低调、踏实、核心的功能模块搭建起这个科技世界。那么,本期的老黄历就带大家一起来看看关于1024程序员节的由来。

关键字: 1024 程序员 科技世界

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭