有一句话我一直记得很深,“当人深处迷茫之中时早已不再迷茫”。很绕很矛盾的话,也可能有人听到后会马上跳脚喊,我一直迷茫怎么还是迷茫呢?呵呵。静一下想一下再喊。
大家都这么大了,路该怎么走,你知道么?作为程序员,路该怎么走,你知道么?
05年入学,对IT一无所知,对程序一无所知,甚至对自己也是一无所知。路走到了今天,我感触确实不少,写点东西以飨来者。
科班出身的我们,从开始就按部就班的学着操作系统,数据结构,组成原理;从c到c++,汇编,java这些又是标准课程。面对纷繁复杂的IT界,你每天记住五个名词或者缩写,到今天我敢说你依旧很多东西不知道。难怪不知道怎么走。我们不是选择太少而是选择太多。我们得到的信息不是太少而是太多。
不知道现在还有没有人疑惑是该学c++还是学java;是该选择.NET平台
然后马上转到.NET平台,开始学习C#,至今都不知道为什么,也许打了鸡血,又是心潮澎湃吧。可这次基本算是坚持下去了。一如既往,书架上一片.NET,c#,图书馆的相关书籍也是不知被我借了多少本。我觉得有一点幸运的是我看的第一本.NET书籍是understanding .NET的中文译本《.NET大局观》。看了以后确实有了一个不错的大局观,虽然当时有不少地方看不懂,但足够了。我知道.NET是平台,C#什么都不是。如果不理解.NET,学c#没用。以至后来我跟同学说“java不是一种语言,c#不能独存”,至今想想都很有道理。
于是一路沿着程序员的路走了下去,开始去理解OO,间断的编程序,学习web,了解SOA,看《程序员》杂志,总和几个哥们高谈阔论技术。其实我知道自己水平很低,但是我知道我在干什么,而且还有点兴趣。足够啦。
那么再回到题目,路该怎么走。我是那种不爱听别人话的人,我不同场合跟人说过,别人说话都是放屁,如果你觉得香就去听,不喜欢就算了,喜欢屁的人还是不多的。我话虽然说得很难听,但tell the truth,我就是喜欢屁的那种人,我当面抵触背地里就会想人家说得到底对不对,我自己哪里有问题。表里不一啊。
既然是程序员的感悟,再回头说点技术的路怎么走。技术大牛们总是喧嚣着这鼓吹着那,什么技术的发展总是朝着更快更简单(很多人说,孟岩也说过,他是个有争议的牛人)想想还真对,谁不喜欢简单点快点啊。但是从一个技术跳变到另一个技术为什么简单了为什么快了。你知道么?
很多人都学过c++,先不管编过多少代码。C++
再说一个更有趣的,万恶之源的goto。市面上我们接触的语言大多都有goto,但是所有技术大牛都说不要用。那是万恶之源啊。我用过,在汇编里,因为据我的水平汇编不用goto没办法。可是我的汇编程序小的可怜,根本不足以暴露goto的恶来,所以至今我也不恨它。
再说一下重量级和轻量级,太流行的两个词汇啦,或者说轻量级更流行吧。为什么,因为它轻吧。哈哈。俗话说,船小怕风浪,船大难掉头。不大不小又怕风浪有难掉头。所以不要一直不变的以为轻量级一定是发展方向。想要迎风破浪,没有大船也不行。
大家看懂我要说什么了吧。所有的技术变革都是有原因的,即使厂商们再鼓吹,都是要真的有那么回事,他们才能煞有介事。可是我们为什么会对技术变革感到迷茫,对选择感到困惑,因为我们不了解前因后果,我们没有受到上一种技术的煎熬,我们没有感受到后一种技术带来的便捷。那怎么可能不困惑呢。。。
别人的经历再丰富再有道理,但那不是你的,你依旧不会真的明了其中的道理。但话说话来,我还是不会用多重继承的,我还是不会使用goto的,我还是会命名规范的。我还是会欣然接受技术变革的。断代史的特点就是这样。
那么你现在还会为选择了python的同时ruby火了而愤怒么?还会为了选择了.NET而J2EE异常流行感到遗憾么?
其实路就在脚下,怎么走看你自己,结果也只有你自己知道。如鱼饮水啊。去经历那些困难和麻烦,才会知道简单快捷的好处。去经历迷惑才能体味清醒的快乐。还要去看技术大牛们的吹嘘和感叹。还是要自己一行一行的敲打垃圾程序。给你十年。够不够?
程序员的路是一行一行打出来的。