----西安Java就业100期张同学
有一句话我一直记得很深,“当人深处迷茫之中时早已不再迷茫”。很绕很矛盾的话,也可能有人听到后会马上跳脚喊,我一直迷茫怎么还是迷茫呢?
大家都这么大了,路该怎么走,你知道么?作为程序员,路该怎么走,你知道么?
今年才开始接触程序,对IT一无所知,对程序一无所知,甚至对自己也是一无所知。路走到了今天,我感触确实不少,写点东西以飨来者。
不知道现在还有没有人疑惑是该学c++还是学java;是该选择.NET平台还是java平台;是该学通信还是学web;是好好编程还是学好软件工程;是学python还是ruby;是学java还是WPF;是专注windows开发还是去linux;是跟着大家一起SOA还是OO。。。如果这个单子继续列下去,就像死循环一样吧,无终无止直到崩溃。
但单子上的每一个选择又都是那么切身的烦恼着我们。站着说话不腰疼的人无法理解切身的痛。至今都不知道为什么,也许打了鸡血,又是心潮澎湃吧。可这次基本算是坚持下去了。一如既往,书架上一片.NET,c#,图书馆的相关书籍也是不知被我借了多少本。我觉得有一点幸运的是我看的第一本.NET书籍是understanding .NET的中文译本《.NET大局观》。看了以后确实有了一个不错的大局观,虽然当时有不少地方看不懂,但足够了。我知道.NET是平台,C#什么都不是。如果不理解.NET,学c#没用。以至后来我跟同学说“java不是一种语言,c#不能独存”,至今想想都很有道理。
于是一路沿着程序员的路走了下去,开始去理解OO,间断的编程序,学习web,了解SOA,看《程序员》杂志,总和几个哥们高谈阔论技术。其实我知道自己水平很低,但是我知道我在干什么,而且还有点兴趣。足够啦。
那么再回到题目,路该怎么走。我是那种不爱听别人话的人,我不同场合跟人说过,别人说话都是放屁,如果你觉得香就去听,不喜欢就算了,喜欢屁的人还是不多的。我话虽然说得很难听,但tell the truth,我就是喜欢屁的那种人,我当面抵触背地里就会想人家说得到底对不对,我自己哪里有问题。表里不一啊。
既然是程序员的感悟,再回头说点技术的路怎么走。技术大牛们总是喧嚣着这鼓吹着那,什么技术的发展总是朝着更快更简单(很多人说,孟岩也说过,他是个有争议的牛人)想想还真对,谁不喜欢简单点快点啊。但是从一个技术跳变到另一个技术为什么简单了为什么快了。你知道么?
很多人都学过c++,先不管编过多少代码。C++中的多重继承大家印象深刻吧,在后来的高级语言中都把这个特性砍掉了。为什么?我不知道。为什么不知道,因为我没用过多重继承,它没有给我带来过巨大的麻烦让我困惑不已。如果硬让我说多重继承带来的麻烦就是我不知道为什么它被砍掉了。蛮有道理蛮有现实意味的东西。这一点我也问过SY,因为我知道他编过不少c++的程序,而且项目还不太小。他说他也没被多重继承烦恼过,也无从说起它的坏来。
再说一下重量级和轻量级,太流行的两个词汇啦,或者说轻量级更流行吧。为什么,因为它轻吧。哈哈。俗话说,船小怕风浪,船大难掉头。不大不小又怕风浪有难掉头。所以不要一直不变的以为轻量级一定是发展方向。想要迎风破浪,没有大船也不行。
大家看懂我要说什么了吧。所有的技术变革都是有原因的,即使厂商们再鼓吹,都是要真的有那么回事,他们才能煞有介事。可是我们为什么会对技术变革感到迷茫,对选择感到困惑,因为我们不了解前因后果,我们没有受到上一种技术的煎熬,我们没有感受到后一种技术带来的便捷。那怎么可能不困惑呢。。。
别人的经历再丰富再有道理,但那不是你的,你依旧不会真的明了其中的道理。但话说话来,我还是不会用多重继承的,我还是不会使用goto的,我还是会命名规范的。我还是会欣然接受技术变革的。断代史的特点就是这样。
那么你现在还会为选择了python的同时ruby火了而愤怒么?还会为了选择了.NET而J2EE异常流行感到遗憾么?
其实路就在脚下,怎么走看你自己,结果也只有你自己知道。如鱼饮水啊。去经历那些困难和麻烦,才会知道简单快捷的好处。去经历迷惑才能体味清醒的快乐。还要去看技术大牛们的吹嘘和感叹。还是要自己一行一行的敲打垃圾程序。给你十年。够不够? 程序员的路是一行一行打出来的。我坚信我会成功,仰望星空,脚踏实地,路是一步一步走出来的。