`
robbin
  • 浏览: 4821401 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137058
社区版块
存档分类
最新评论

再谈非主流工业语言

    博客分类:
  • Tech
阅读更多
今天看到Fenng同学的发言:
fenng 写道
"Ruby/RoR优雅?我倒是觉得恰恰是这个“优雅”导致了Ruby/RoR永远不能达到PHP那样的影响力。永远别忘了“Worse is better”."


这是一个很典型的观点,类似的观点其实有很多,例如:Mac优雅?我倒是觉得恰恰是这个“优雅”导致了Mac永远不能达到PC那样的影响力。永远别忘了“Worse is better”."

其实这个结论是完全正确的,这个世界上充斥着“Worse is better”的东西:VB绝对是个垃圾的语言,但是他战胜了Delphi;IE绝对是个垃圾的浏览器,但是他战胜了Netscape,现在也一直领先着Firefox;MySQL的数据库特性绝对不如PostgreSQL,但是市场占有率遥遥领先;MacOSX操作系统的优秀毋庸置疑,但是Windows是绝对的霸主。

然而这种观点的逻辑性却很诡吊,因为他的隐含意思大约是这样的:XXX就是再好,也不如YYY在市场占有率大/商业成功/影响力广,所以XXX就是worse的,YYY就是better的。换句话来说就是:成王败寇,成功了就是好东西,不成功了就是坏东西。

我想引用一下potian在2006年写的一篇博客“非工业主流”编程语言,因为原文被墙,所以我全文转帖一下:

引用
什么是“非工业主流”编程语言。

我不知道如何下一个严格的定义。简单地说,就是不被绝大多数程序员所使用的编程语言。

看看tiobe的语言排行榜,你可以了解我在讲什么。Java、C、VB、C++和PHP占据了70%的份额,它们是当之无愧的工业主流语言。而 Ruby尽管连连升级,排名13位,份额也不过是0.804%,Lisp/Scheme连连下挫,目前仅为0.586%,如果你仔细寻找,在The Next 50 Programming Languages的标题下,Erlang,Lua,Scala缩在角落里,这些“可怜”的语言当然是非主流的。自然,你不不太可能认为PL/SQL 、 Visual FoxPro、 VB.NET和Lisp、Ruby、Erlang、Lua是同类,我也这样想。

或许你和我曾经或正在感到非常振奋,那些你我日常的编程语言高居前列,并引以为豪。但是事情并不是完全象我们想像的一样。

编写程序需要乐趣,很难说工业主流语言能够提供你更多的乐趣。我所知道的很多程序员在白天忙乎完手上的Java,C++工作后,晚上会带着一种神秘的快感摸索一些可能自己一辈子也不会用于谋生的语言。

当然,这可能是厌倦造成的,但是当你发现一个苦思冥想、或者需要n多语言规则、框架、n多所谓的高深理论解决的问题,在另外一种语言中是最最简单的一个特性,恐怕这种懊恼的感觉不是可以轻易描述的。譬如,当你天天为C/C++的内存释放绞尽脑汁的时候,当你为垃圾收集在Java的出现而欢呼的时候,你是否知道30年前,那已经是Lisp的一个标准构造了。当你天天面对着无穷无尽的并发要求,纠缠不清的哲学家吃面头皮发麻的时候,你可能很想知道Erlang 20年前就让极大规模的并发和可靠性处理变成小事一桩。

编写程序还需要创造价值,一个非凡的产品在获得巨大利润的同时,更会带来一种心底而生的自豪感。如果要担心工作的问题,那么主流语言是你必不可少的谋生工具。但是如果你从头建立一个公司,希望用有限的资源和人力制造出强有力的产品,一个与众不同的产品,那么你需要秘密武器,这些武器是什么呢?当然可以有很多,但其中最有杀伤力的武器之一无疑是编程语言--高生产力,适合某一领域的非工业主流语言。这种例子并不罕见,例如:
Beating the Averages
Making Money from Erlang
google

也许,你喜爱的语言被成千上万的人使用并不是那么令人自豪的事情;自私一点地说,缺乏同伴或许能够带来更多的乐趣和财富


我想表达的一种观点就是: 一个worse但是商业成功,被大多数人接受的东西并不必然成为适合你的东西:例如Mac确实不如PC普及,但是Mac适合我,我用起来很爽,工作效率很高;IE浏览器确实很普及,甚至很多网站专门为IE设计,但是我用chrome很爽,工作效率很高;php很普及,但是我用rails的开发效率非常惊人。

Erlang之父Joe Armstrong用Erlang这种非主流做产品开公司赚了千万身家,Rails之父DHH也用rails这种非主流做37signals赚了千万身家,现在开保时捷赛车做职业车手,就是potian本人,也用Erlang和Rails这两个非主流做视频监控软件,做出来一个纽交所上市公司。非主流究竟是让你不耻于使用的东西,还是能够给你带来成功的秘密武器呢?

对于JavaEye网站来说,我们已经充分从Rails这种非主流编程语言当中获得了巨大的收益,JavaEye的全职Rails程序员从来没有超过2个人,换了任何一个像JavaEye这种规模的网站,都不可能用这么少的研发人员达到这么惊人的开发效率和维护效率。

所以我们决定长期建设和培养一支有相当规模的Ruby研发团队,用来支撑我们在网站研发以及移动领域的扩张性需求,为此,我们将长期招聘Ruby程序员,也欢迎应届毕业生实习,培养成为未来的Ruby工程师。

JavaEye招聘Ruby工程师

JavaEye网站召唤你的加入

我们非常有信心,特别是看到同行这么不愿意采用Rails的时候,我们可以用Rails这种高效的秘密武器,在移动应用领域以惊人的速度做出来创新型产品,从而建立竞争性优势。

正如potian所说:
引用
也许,你喜爱的语言被成千上万的人使用并不是那么令人自豪的事情;自私一点地说,缺乏同伴或许能够带来更多的乐趣和财富

42
23
分享到:
评论
1 楼 sentryward 2011-03-22  
语言之争还是有乐趣的看来。

相关推荐

    天池赛事工业蒸汽预测基于R语言

    在本次的"天池赛事工业蒸汽预测基于R语言"项目中,我们主要涉及了四个关键的知识点:工业蒸汽预测、R语言、主成分分析(PCA)以及多元线性回归。这些概念是数据分析与预测领域的核心内容,对于理解和解决实际问题至...

    广东工业大学R语言实验答案.zip

    不断地尝试、失败、再尝试,才能真正提升自己的R语言技能,为未来的数据科学之路打下坚实基础。因此,建议同学们在参考答案的同时,也积极投入到实践中去,以确保理论与实践相结合,从而更好地理解和掌握R语言。

    工业机器人的编程与语言.ppt

    工业机器人的编程与语言ppt,工业机器人的编程与语言

    哈尔滨工业大学汇编语言课件

    【哈工大汇编语言课件】是一套全面讲解汇编语言的教育资源,旨在帮助初学者深入理解并掌握这一基础而关键的计算机编程语言。汇编语言是计算机科学中的基石,它是一种低级编程语言,与机器语言紧密相关,但比机器语言...

    汇编语言课程设计,工业顺序控制彩灯循环闪烁

    采用MCS-51单片机仿真实验仪DVCC-52196JH++作为实验平台,设计一个工业顺序控制系统,利用8个LED灯的8种不同的花形来模拟工业控制中8个顺序进行的工艺过程: 10000000,11000000,11100000,11110000,11111000,...

    西北工业大学汇编语言电子教案

    通过学习西北工业大学的汇编语言电子教案,学生可以系统地掌握汇编语言的各个方面,为未来深入学习操作系统、计算机体系结构、嵌入式系统等领域打下坚实的基础。此外,熟练掌握汇编语言还能提升分析和解决问题的能力...

    哈尔滨工业大学形式语言课件

    哈尔滨工业大学的形式语言课程深入浅出地讲解了这一领域的核心概念,对于计算机科学的学生或者对编程语言设计感兴趣的学者来说,这是一份宝贵的资源。 在形式语言的课程中,你会学习到以下几个关键知识点: 1. **...

    汇编语言 实验一 广东工业大学

    广东工业大学的这个实验旨在帮助学生掌握汇编语言的基本操作,包括程序设计、编写、调试和运行,以及使用debug工具进行程序分析。 实验一的核心任务是编写一个程序,用于比较两个字符串`string1`和`string2`的内容...

    自动化、信息化--浅谈“工业4.0”为焊接技术带来的挑战.pdf

    自动化、信息化--浅谈“工业4.0”为焊接技术带来的挑战 本文讨论了工业4.0时代对焊接技术的影响,CLOOS公司的创新能力和自动化、信息化解决方案,以及对中小企业的影响。文章还介绍了传感技术在焊接技术中的应用,...

    西北工业大学高级语言程序设计(JAVA&UML)实验报告以及相关代码

    包含JAVA实验所有代码,UML实验项目文件(可过检查),两份实验报告供参考,本人成绩94分,有问题私信,看到会回复,下载人数即为该份报告拥有人数,注意查重问题,另外实验高分不只是报告,而是要做的快!...

    自然语言处理工程师+谭聪+哈尔滨工业大学+计算机科学与技术+研究生1

    自然语言处理工程师个人简历知识点 本资源摘要信息是关于一名自然语言处理工程师的个人简历,包括教育背景、研究方向、研究项目、专业技能、所获奖励和证书等内容。 教育背景 本工程师拥有哈尔滨工业大学深圳研究...

    高级语言程序设计 试题

    【高级语言程序设计 试题】相关知识点详解 高级语言程序设计是计算机科学中的核心课程,它涉及编程语言的原理、语法结构以及如何使用这些语言来解决问题。本篇将围绕这一主题,深入探讨相关的重要知识点。 1. **...

    浅谈工业互联网大网安全监测思路

    浅谈工业互联网大网安全监测思路,内容丰富,值得学习。

    西北工业大学高级语言程序设计Java_UML实验报告-带代码和UML模型

    《西北工业大学高级语言程序设计Java_UML实验报告》是一份深度探讨Java编程语言与统一建模语言(UML)在实际编程项目中的应用的报告。这份报告旨在帮助学生理解和掌握这两种关键技术,并通过实践来提升软件开发能力...

    广东工业大学汇编语言试卷

    《广东工业大学汇编语言试卷》相关知识点解析 汇编语言是一种低级编程语言,它是计算机硬件可以直接理解的语言,每一个指令对应着计算机硬件的一个具体操作。广东工业大学的汇编语言课程,旨在让学生深入理解计算机...

    天津工业大学07英语语言学考研真题.pdf

    4. **语言能力(competence)**:语言能力是指个体潜在的语言知识和理解能力,是理想化的、规则化的语言系统,由Noam Chomsky提出。它是语言使用者无意识地知道并能够运用的语言规则。 5. **英国历史与文化**: - ...

    西北工业大学课件汇编语言电子教案

    【汇编语言电子教案】是西北工业大学计算机科学与技术专业的一门重要课程——汇编语言的教学资源集合,由知名教授王国军精心制作并提供。这组课件旨在帮助学生深入理解计算机底层工作原理,掌握汇编语言编程技能,为...

    工业机器人操作与编程-机器人的编程语言.pptx

    机器人的编程语言 工业机器人操作与编程-机器人的编程语言全文共15页,当前为第1页。 1.机器人编程的三个层次 2.编程语言的基本要求 3.编程语言分类 4.编程语言的发展 5.编程语言的现状 6.编程语言——RAPID 1/14 ...

Global site tag (gtag.js) - Google Analytics