P.S:非程序员勿入,大量专业词汇出没注意
前两天培训时Herman讲后台开发,他说后台开发有个好处,就是更新得没前端什么的那么快,学一个技术可以用很多年。但我总觉得,满足于传统,其实也是在给自己设限。gcc的确鲜有变化,而gnu阵营却无比混乱,无时无刻不在进行着剧烈的化学变化与物理碰撞,这是不是也能说明点什么东西?

的确gcc鲜有变化,C/C++似乎永不过时;但重点不在于他们的一成不变,重点在于以他们为基石繁衍出了那么丰富的GNU世界,就算对封闭的软件世界也造成不可磨灭的巨大影响。
我听到一个阵营在说,所有语言其实都是一样的;我听到另一个阵营又在说,每种语言其实都不一样,否则为什么会有那么多语言的诞生。QUORA曾看到人说,如果你问一个优秀的程序员:哪种语言才是最好的?他的回答多是一笑置之、不予评价。因为,这问题上实在吵了太久。我相信优秀的与时俱进的人做出的选择,会是因为适用场景和个人品味,而绝对不会孤独求败似地只认为C++无敌。
《黑客与画家》专门就有章是《编程语言解析》,里面如是说:
“一些黑客只喜欢自己用的语言,反感其他所有的语言。另一些黑客则说所有的语言都一样。事实介于这两个极端之间。语言之间的确有差别,但是很难确定地说哪一种语言是最好的。这个领域依然还在快速发展。”
“语言设计者之间的最大分歧也许就在于,有些人认为编程语言应该防止程序员干蠢事,另一些人则认为程序员应该可以用编程语言干一切他们想干的事。JAVA是前一个阵营的代表,Perl则是后一个。(美国国防部很看中JAVA也就不足为奇了)”
也许,现在后者的代表应该换成RUBY了吧,哈哈。
EXAMPLES
俺前阵子有缠着maomao问shell和python的区别,他说这两门语言完全不可比,被我穷追猛打以后(我是比较崇尚于python),他举了两个例子:
- mysql -uroot -p < xxx.sql
- ls -a|grep xxx
唔,好吧,这的确是可以让我闭嘴了……结果很杯具的是,我的语言比较维度又多了一个:贴近系统的程度。
不过,除了运维人员或是系统级的开发,谁关心那个啊?累不累?
嗯,反正我是最关心程序可读性和维护性的了,这个倒好办,维基上的“快速排序”词条就能说明很多问题:http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F
动态语言完胜!哈哈!
这些东西还真是争论不休的。至少我们都得承认,编程语言正处于高速发展的阶段(相对于传统工业……当然还是无法跟互联网行业比),而且它的高速发展肯定有他的道理,也不见得就是坏事。
In my opinion:
今天也跟阳杰也聊起语言,胡说八道了一把,也拿出来让大家都讨论讨论吧,先说明,这纯粹是个人见解:
- C语言:擅长处理硬件问题,“堪称可移植的汇编语言”
- C++:对系统的把控比较强 (多泛式这是好事,但C++的语言复杂度也太恐怖了……)
- JAVA:企业级开发(毕竟他的可用组件是最丰富的(由SUN支撑),语言上的受限也是最多的:要求只能用面向对象这个范式编程)
- PYTHON:代码可读性最强(这个俺感觉没有“之一”。)
- JS:@帝归 说丫是个披着C外皮的LISP,好吧,不过反正浏览器端脚本也只有这个选项,真是舍我其谁啊
- PHP:HTML混合式编程最强(应该也没有“之一”)。他生来就是做HTML生成的。
其它有些我不熟悉的语言,俺说下俺的印象:
- Perl/Ruby :最自由,想怎么玩都行,也可能导致混乱不堪的代码(我感觉ruby应该算是进化版的Perl?但就没Perl那么靠近系统吧,大概……但据说最自由的其实是LISP,这个俺就不评价了……)
- Lisp :最高层次抽象的语言,大概是编程语言之神(总之我还没到那层次去理解他的好……我还停留在函数式编程、动态语言的层面吧……)
- VB/Asp :菜鸟上手速度最快(其实俺初中时学过,但基本忘光了……)
- C#.NET :windows编程最强。(也许C# 生在了.net上实在是鲜花插在狗屎上……虽然我还真不明白C#到底有哪些好?)
- Haskell:可能FP风格编程是这个比较强?不晓得跟JS差别在哪……
还有些乱七八糟的不是编程语言的语言:
- SQL:对于关系型数据的操作与读取没有比这个更强的了
- Markup Language:对结构化信息的组织肯定是这个最好哈哈(最典型的就是HTML和XML了,其它的像BB码、WIKI格式这些也是挺实用的,JSON甚至CSS大概也能纳入这个范畴?除了信息组织之外,这些玩意也越来越多用在程序配置文件上了)
- CSS:有人说它是排版的未来,谁知道呢?(其实它就是张表格,拿来描述信息在视觉上应该如何展现,果然纯粹的东西总是威力巨大呐)
- 传输协议:这个大概也能算语言?像TCP、HTTP啥的,其实里面也算是对结构化和流式传输有很强的能力吧。
一路写来,真是深有感触:黑客真伟大啊!
面对这很多各有千秋的语言,就算是有一万小时天才理论摆在那,我也不敢说一万小时后我就能得心应手。
程序员是吃青春饭的?
让这句话见鬼去吧!
晚安




