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

再谈非主流工业语言

    博客分类:
  • 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
分享到:
评论
21 楼 asterman 2011-03-22  
robbin这篇文章,跟我看到的炒作文章,感觉很像。

首先,javaeye的title是“JavaEye Java编程 Spring框架...践 - JavaEye做最棒的软件开发交流社区” 没有一个跟Ruby相关的。

其次,robbin靠javaeye挣到钱了,但是,跟java的活跃度有很大关系,也跟这里面很多大牛有很大关系。

在其次,javaeye的整体质量在下降,(访问量有没有下降,我不清楚),讨论也不那么激烈了。Robbin 前几天还“javaeye呼唤您的加入”,最近几天又做一些争论性的文章,这跟明星炒作太类似了。

(估计评论会被删除吧)
20 楼 DOCDOC 2011-03-22  
C#做startup的公司也不少嘛
商业运作,和你用什么语言抠代码,没太多关系
19 楼 numen_wlm 2011-03-22  
引用
肉饼举的几个例子,用牛角所上市、用千万身家,就可以证明这是企业级产品,就可以证明ruby适合企业级开发么?

我觉得这些产品是成功企业的产品而已,但是不是企业级产品。

18 楼 skandhas 2011-03-22  
Rails成功的案例太多了,大都是很有名的:
Twitter,Shopify,GitHub,Hulu,Groupon......

更多的著名案例看这里:
http://rubyonrails.org/applications

与其争论不休,不如静下来尝试一下。即使Rails不合适你,最起码对我们开阔思路还是有帮助的。
没有万能的语言和框架,只有更合适的语言和框架。每个都有其最合适的应用场合。C不能大小都通吃,C++也不是,Java也不能,Ruby和Python也不能。只有在合适的场合使用合适的武器,才能取得更好的效果。
17 楼 sai901013 2011-03-22  
想參考ruby 發展python的路過
16 楼 lanvige 2011-03-22  
我非常不喜欢那种上升到人生攻击的行为,也为那些人感到厌恶。

争论本身是件好事,可以让更多的人明晰各种语言的优缺,正如武林大会,辩百家之长。也让大家去从案例中明白自己要的是什么,你所喜欢的,可能不是别人适用的。但最少你能去了解更多的。

所以从这个角度我是很支持Robbin的这篇文章,最起码,表达了对自己所使用语言的一种热爱。而又如此真实。。
15 楼 saberma 2011-03-22  
感谢robbin,我就是当年在xx领域努力提高产品质量,降低研发成本、寻找自动化测试方案未果,加上robbin对ruby不厌其烦的自言自语,才入了ruby的门,彻底关上了xx的门。

想起那时候,一听说什么号称10倍于xx的开发效率,就不爽,怎么可能,xx我们用得炉火纯青了,什么高度封装,什么代码生成,什么动态配置,开发起来效率非常的高了,还能再高?j

直到真的决定去尝试,花时间去研究,用心去体验,才不得不感叹,robbin你已经说得很低调了,一点都不夸张。

再次感谢!
14 楼 jin52yang 2011-03-22  
去年毕业,java转ruby 是否欢迎呢?
13 楼 小龟爬爬 2011-03-22  
robbin 写道
移动应用领域

看好这个呀~~

12 楼 tterry 2011-03-22  
感触颇深。
   那为什么放弃python呢?
11 楼 fantasybei 2011-03-22  
求potian介绍
10 楼 yyanghhong 2011-03-22  
讨论这个没意思, 用Java成功的startup也很多, 个人认为公司的成功和选用啥工具没啥关系, 相对来说有一个稳定高效的team, 而且公司对市场的定位比较准确, 这些才是成功的关键要素。
9 楼 open2ye 2011-03-22  
Ruby (1.8.7) 的问题是正则表达式有性能问题。

但是从5年前开始接触ruby以来就再也没碰过php
8 楼 store88 2011-03-22  
成王败寇是典型的帝王思想。
ruby让人多一种选择,而且有人喜欢它,有什么不好呢
你们一定要选择java输,还是ruby输,有什么意思呢
多元的世界不是更加精彩吗

worse is better
ie 是worse, 所以 better
那么我是loser,所以我是succesor
7 楼 wenxiang_tune 2011-03-22  
写得太好了
6 楼 orlaa 2011-03-22  
历史上G军的小米加步枪打赢了美国的飞机加大炮,然后就有人以为步枪是最强武器了,唉,那可怜的娃
5 楼 robbin 2011-03-22  
to bonny:

>>ruby的临界在哪里,缺陷在哪里,风险在哪里。分享自己这方面的困恼和风险

这些问题我其实这几年在论坛和博客上都很详细的说过,如果你有心,你甚至可以发现我发现问题,探索问题,解决问题的一个清晰路径。
4 楼 bonny 2011-03-22  
引用
范凯老师对 PHP 的看法我不太同意 至少到现在,业界还没有TOP网站是用RoR实现的。Twitter的案例,我觉得基本是失败的。而基于 PHP 的顶级网站则是如此之多。


以成败论英雄本身就是一种不靠谱的逻辑。

引用
Ruby/RoR优雅?我倒是觉得恰恰是这个“优雅”导致了Ruby/RoR永远不能达到PHP那样的影响力。永远别忘了“Worse is better”.

我觉得有好处必然有坏处,但是用在合适的场合就可能产生奇迹,而彼此之间可能不会有必然的优略。


。。。。后面feng又开始谈了作家,钢笔什么的,完全跑题了。


整个肉饼和feng的辩论而言,我觉得乏善可陈。一边是毫无逻辑随意乱说几句,其本身可能也算不上这方面的专家,仅仅是靠名气吸引眼球。以及获取肉饼的回应。其实营养含量不高。

这篇文章呢,肉饼又在狂推ruby。

我对肉饼的技术敏感是有点小佩服的。但是我觉得企业级开发ruby还真谈不上。(JE论坛那叫企业开发?开玩笑!高度稳定性、高度安全性、高性能、大规模团队开发。。。。)我所知道的很多严格的企业环境用ruby就是开玩笑。

肉饼举的几个例子,用牛角所上市、用千万身家,就可以证明这是企业级产品,就可以证明ruby适合企业级开发么?

我觉得这些产品是成功企业的产品而已,但是不是企业级产品。

顺便说一下,我个人也的确满喜欢ruby,觉得可以应用在更多场合。但是我觉得肉饼作为一个ruby方面的专家,必须告诉大家ruby的临界在哪里,缺陷在哪里,风险在哪里。分享自己这方面的困恼和风险,才是更负责。

而选择,让人们自己去做。

3 楼 szbillqian 2011-03-22  
老实说,关于这段话"因为他的隐含意思大约是这样的:XXX就是再好,也不如YYY在市场占有率大/商业成功/影响力广,所以XXX就是worse的,YYY就是better的。" Robbin有点偷换了一点概念的意思,不过这没关系,这加深了我对Ruby和Rails的兴趣,也许真该好好谢谢Robbin.

but, "缺乏同伴或许能够带来更多的乐趣和财富",我喜欢这句话, think different
2 楼 peterwei 2011-03-22  
robbin又在推ruby了。可不可以推测一下ruby在国内几年内的普及情况。。

相关推荐

    天池赛事工业蒸汽预测基于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