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

再谈非主流工业语言

    博客分类:
  • 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
分享到:
评论
41 楼 jazzmozart 2012-05-10  
MacOSX不见得就比Windows优秀,混的时间比Windows长,但是市场就个Windows的零头。市场就是市场,同样大自然会淘汰一些体质差的玩意儿  Worse is better随便说说可以,别当真,成功有100个理由,失败也可能会有一万种接口。
40 楼 kisslittleruo 2012-02-28  
语言的优劣姑且不提,能静下心来在自身领域取得一定学术水平的又有几个?
39 楼 天涯菩提 2012-01-21  
语言本身差距不大,或者说没有框架的差距大
DELPHI能从PASCAL+汇编建立起来一个能用的对象体系,就是一个很好的例子
38 楼 dt_flys 2011-10-29  
babykick 写道
python,ruby都在用,python成熟度比ruby好,简洁实在。 三方模块广泛,有种无所不能的感觉,属于很均衡的语言。
rails聪明的使用了ruby作为开发语言建立了一个好的框架,框架虽好,但大家最担心的其实还是ruby本身具备的生命力和稳定性,希望ruby有更好的改进。

每种程序语言都是黑客的工具箱的一样工具,工具就是工具。生产力取决于黑客是不是总是善于用最合适的工具最省力的解决问题,好比用一字起去拧十字的螺丝,可以拧开,但是不是最好的,搞不好还会把螺丝拧坏。

一个拿着大刀身怀绝技的大侠可能被一个拿枪的小孩轻易杀死。这个道理看到很简单,但大部分人不懂。
37 楼 babykick 2011-07-28  
python,ruby都在用,python成熟度比ruby好,简洁实在。 三方模块广泛,有种无所不能的感觉,属于很均衡的语言。
rails聪明的使用了ruby作为开发语言建立了一个好的框架,框架虽好,但大家最担心的其实还是ruby本身具备的生命力和稳定性,希望ruby有更好的改进。

每种程序语言都是黑客的工具箱的一样工具,工具就是工具。生产力取决于黑客是不是总是善于用最合适的工具最省力的解决问题,好比用一字起去拧十字的螺丝,可以拧开,但是不是最好的,搞不好还会把螺丝拧坏。
36 楼 coolesting 2011-06-30  
我决定弃暗投明, 来ruby阵营,

csdn的曾经有过很多的开发编辑器调带帖, 我见很少人用vim 之流的工具,
我不禁感叹国内的开发效率,

vim是很优秀的工具, 在国内, 真正被人使用还不到1/10.  这是我支持这帖的原因, 尽管robbin大哥说话有点激动。
35 楼 paramore 2011-04-14  
自从加入csdn 自从出名了 曾经的javaeye渐渐地变得让人不认识了 robbin的言论也变得让人吃惊
34 楼 smartfish9 2011-04-09  
唉,实在太偏激了,就你说的那个关键点:ror开发效率更高,这个在过去可能是成立的,但现在大家都从ror里学到经验,php,python的一些新近推出的框架开发效率与ror根本就是相差无几,这样一来,ror的优势真的有限,大家何必冒险再去用ruby这个成熟度差一点的语言呢?其实现在ror的势头已经不如前几年了。
33 楼 yujiaao 2011-04-07  
能从善如流的人不多啦,批评和怀疑的眼光太多了,勤动手的人少了,也许是我老了,学学看吧!
32 楼 kongqz 2011-03-28  
一夜回到解放前
又开始争论语言的优略
还不如去讨论下各种语言使用的场景
31 楼 kldwq2002 2011-03-25  
其实事情是这样的,你和脑残的人叫劲,自己的智商也会变低。

那些拿着白痴逻辑和你叫嚣,然后还自我感觉良好的人,基本可以归为脑残。
30 楼 xiaoyu211940 2011-03-25  
robbin 能够谈谈groovy 方面的嘛? 
我想一个java人员的话 对于能够使用类似ruby的语法糖
而且能够平滑的使用java类库,利用广大的开源社区的东西
ruby 感觉要跨度挺大的
29 楼 xieye 2011-03-24  
大多数人更在乎的是金钱带来的乐趣,而非代码带来的乐趣。
28 楼 mathgl 2011-03-23  
orlaa 写道
历史上G军的小米加步枪打赢了美国的飞机加大炮,然后就有人以为步枪是最强武器了,唉,那可怜的娃


那个最多叫打平....
27 楼 store88 2011-03-23  
skandhas 写道
abfover 写道
reddit.com 一直已来只有3个正职开发 目前下降到1个
javaeye成功也只是内容的成功 和什么工具开发的有关系么?
twitter从始至终被性能所困扰 更说明ruby在生产环境是多垃圾 ...

光说不练的人,哪有资格说别人?别人已经用你“瞧不上”的技术收获了累累果实,你呢?你的果实在哪里?

请不要上升到人格的批判,另外,
别人已经用你“瞧不上”的技术收获了累累果实
这句话 有胜者为王,败者为寇的 强盗逻辑在里面
26 楼 skandhas 2011-03-23  
abfover 写道
reddit.com 一直已来只有3个正职开发 目前下降到1个
javaeye成功也只是内容的成功 和什么工具开发的有关系么?
twitter从始至终被性能所困扰 更说明ruby在生产环境是多垃圾 ...

光说不练的人,哪有资格说别人?别人已经用你“瞧不上”的技术收获了累累果实,你呢?你的果实在哪里?
25 楼 lengyubing 2011-03-23  
做试验的一个很重要的方式就是屏蔽一些杂项的干扰,抛开企业成功的各项因素,只是拿开发语言说事貌似不是很合理。不过非常欣赏主流以外的语言,一者可以带来很多新的思路,软件业是很需要这种新想法的,二来如今的主流语言,其实也是这样一步步发展来的。
24 楼 abfover 2011-03-22  
reddit.com 一直已来只有3个正职开发 目前下降到1个
javaeye成功也只是内容的成功 和什么工具开发的有关系么?
twitter从始至终被性能所困扰 更说明ruby在生产环境是多垃圾 ...
23 楼 javaeye官理员 2011-03-22  
不了解feng 但是这哥们的文章看了。文字很好。程序员有一手好文字真是好!
22 楼 DOCDOC 2011-03-22  
确实,JavaEye的成功,至少大部分是靠了Java内容. 其实Robbin的话证明了这个问题:语言或技术不是成功的关键

相关推荐

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

    综上所述,天池赛事中的“工业蒸汽预测基于R语言”项目,通过R语言的强大数据分析能力,结合主成分分析和多元线性回归模型,为解决工业蒸汽预测问题提供了一种有效的途径。项目不仅展示了如何处理高维度数据,简化...

    工业机器人使用的编程语言简介.pdf

    工业机器人的编程语言是机器人技术领域的重要组成部分,随着工业机器人的发展,编程语言也在不断地发展和完善。机器人的编程主要可以分为示教编程、动作级编程语言和任务级编程语言三个层次。在开发这些机器人时,...

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

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

    广东工业大学 汇编语言 课件PPT

    广东工业大学 汇编语言 课件PPT!!本人老师的,很全面!!!

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

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

    工业机器人编程语言:Sysmac Studio (Omron).zip

    史上最全工业软件二次开发技术全套教程,包括: 工业机器人仿真软件 工业机器人传感器 工业机器人品牌 工业机器人控制器 工业机器人编程语言 等流行技术的系列教程

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

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

    浅谈工业机器人技术在自动化控制领域的实践.pdf

    随着技术的进步,控制系统变得越来越复杂,从单一的指令控制到多轴的协调控制,再到自主学习和优化控制策略,都展现了控制系统的不断进步。 在控制方式方面,工业机器人开始广泛采用机器学习和深度学习算法,提高了...

    工业机器人编程语言c语言-工业机器人编程语言和编程方式.pdf

    工业机器人的编程语言主要分为硬件描述语言、汇编语言、高级语言如C/C++以及专用工具如MATLAB和Java等。每种语言都有其特定的应用场景和优势。硬件描述语言,如VHDL和Verilog,常用于电子设计自动化中,通过编写代码...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    浅谈工业以太网

    浅谈工业以太网

Global site tag (gtag.js) - Google Analytics