今天看到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所说:
引用
也许,你喜爱的语言被成千上万的人使用并不是那么令人自豪的事情;自私一点地说,缺乏同伴或许能够带来更多的乐趣和财富
分享到:
相关推荐
综上所述,天池赛事中的“工业蒸汽预测基于R语言”项目,通过R语言的强大数据分析能力,结合主成分分析和多元线性回归模型,为解决工业蒸汽预测问题提供了一种有效的途径。项目不仅展示了如何处理高维度数据,简化...
在深入分析所给文件内容之前,我们需先明确文档所讨论的核心——工业机器人语言解释器的设计。工业机器人语言解释器是机器人控制语言系统的关键组件,负责将用户输入的指令转化成控制系统可以识别的格式。它在机器人...
工业机器人的编程语言是机器人技术领域的重要组成部分,随着工业机器人的发展,编程语言也在不断地发展和完善。机器人的编程主要可以分为示教编程、动作级编程语言和任务级编程语言三个层次。在开发这些机器人时,...
不断地尝试、失败、再尝试,才能真正提升自己的R语言技能,为未来的数据科学之路打下坚实基础。因此,建议同学们在参考答案的同时,也积极投入到实践中去,以确保理论与实践相结合,从而更好地理解和掌握R语言。
工业机器人语言及其解释器的研究与实现,是一个复杂而重要的课题。通过分析南京航空航天大学机电学院陈旭和陈富林在2019年发表的论文“工业机器人语言及其解释器的研究与实现”,我们可以了解到相关的核心技术和理论...
广东工业大学 汇编语言 课件PPT!!本人老师的,很全面!!!
史上最全工业软件二次开发技术全套教程,包括: 工业机器人仿真软件 工业机器人传感器 工业机器人品牌 工业机器人控制器 工业机器人编程语言 等流行技术的系列教程
工业机器人的编程与语言ppt,工业机器人的编程与语言
【哈工大汇编语言课件】是一套全面讲解汇编语言的教育资源,旨在帮助初学者深入理解并掌握这一基础而关键的计算机编程语言。汇编语言是计算机科学中的基石,它是一种低级编程语言,与机器语言紧密相关,但比机器语言...
史上最全工业软件二次开发技术全套教程,包括: 工业机器人仿真软件 工业机器人传感器 工业机器人品牌 工业机器人控制器 工业机器人编程语言 等流行技术的系列教程
随着技术的进步,控制系统变得越来越复杂,从单一的指令控制到多轴的协调控制,再到自主学习和优化控制策略,都展现了控制系统的不断进步。 在控制方式方面,工业机器人开始广泛采用机器学习和深度学习算法,提高了...
工业机器人的编程语言主要分为硬件描述语言、汇编语言、高级语言如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实验项目文件(可过检查),两份实验报告供参考,本人成绩94分,有问题私信,看到会回复,下载人数即为该份报告拥有人数,注意查重问题,另外实验高分不只是报告,而是要做的快!...
自然语言处理工程师个人简历知识点 本资源摘要信息是关于一名自然语言处理工程师的个人简历,包括教育背景、研究方向、研究项目、专业技能、所获奖励和证书等内容。 教育背景 本工程师拥有哈尔滨工业大学深圳研究...
《西北工业大学高级语言程序设计Java_UML实验报告》是一份深度探讨Java编程语言与统一建模语言(UML)在实际编程项目中的应用的报告。这份报告旨在帮助学生理解和掌握这两种关键技术,并通过实践来提升软件开发能力...