最好的编程语言 --- 月旦评
1
"最好的编程语言",当我写下这个题目的时候,熟悉的朋友大概以为,这家伙又开始为 R 做广告了。
然而这次不是这样。
事情的起因,是最近我办的“猜猜 TA 是谁”活动,有朋友问:
你那图是怎么画出来的?不会是用 R 语言吧?——是。用别的我也不会画呀。
……那跟 php 比起来,R 入门容易吗?——不知道。因为 php 我没学过。没法比。
说完这话,我庆幸躲过一劫。要知道,让不同的编程语言相互 PK,这个话题是个坑,跳进去容易出不来。经常看到不同粉丝团为此争得面红耳赤,轻则天旋地转,头昏脑胀,重则众叛亲离,不治而亡。
那么,世界上到底有没有最好的编程语言?
2
编程语言不是每个人都懂,这个问题不好回答。那么我们换个问题:人类语言,比如中文、英文、家乡话,我们每个人至少懂两样吧,有没有哪个是最好的?
记得小时候,语文课学到都德的《最后一课》,里面说“法语是世界上最美的语言”,我一直很困惑。后来,上大学学了一个学期法语,更加加深了我的疑问。
最美的语言就这个德性?这哪里比得了中文,比得了普通话啊!
“落霞与孤鹜齐飞,秋水共长天一色”,多美!
我母亲则认为,普通话不如河南话表达起来准确。
把汤端好,别“砍”了。“砍”,就是端水端汤时,碗不慎倾斜导致洒出。普通话怎么说?“洒”?“溅”?“泼”?都不对。
不过,我家大娃不同意。他更喜欢德语。家里买了很多中文书,他偏偏要去图书馆借德语书来读。他在德语区长大,除了中文,德语也是他的母语。同时,周围的同龄人都读德语书,聊起来更有共同话题。
什么在大象(Elefant)里小,在苍蝇(Fliege)里大?我不知道。
——字母 f 啊!他喜欢这样的谜语。
中文书他也能读,但跟小伙伴分享时还得翻译,有时候还找不到合适的词。算了。
跟娃闹了几次别扭。后来,我想通了:这就是个”小马过河“的问题。没有任何一种语言对每个人都是最好的。
到什么村唱什么歌。语言是用作交流的。哪种语言是最好的语言?周围的人普遍说哪种,哪种就是最好的。
3
编程语言也一样。只不过是把人类跟人类的交流,换成了人类跟计算机的交流而已。
就拿我自己的经历来说吧。
上大学之前,没怎么接触过计算机,不提。
大一上,系里开的计算机课是 Fortran。学完了就一次也没用过,没过半年就忘干净了。
大一下,开了 c 语言,遭遇同上。
此后就没再学过编程,一直到研究生毕业工作,老板用 VB。
这回没人教了,但是为了巴结领导工作进取,就自学,老板宏观指导,居然自己弄出了几个像模像样的小程序,能解决工作里的一些实际问题。
当时,我被同事忽悠,接触了 R 语言,然而读了很多本入门书都读不懂,照着实例做也做不来。出现问题,身边没人可问——忽悠我的同事跟我一样。只能放弃。
后来出国的故事,在 《学 R》一书的前言里都讲了,身边的人都在用 R,我就随波逐流地学了。有现成的代码可以直接用,有高人可以问,所以一直到现在。
其间,还伴随着 MatLab 和 python。这两种语言,我只会一点点;要完成同样的任务,用 R 更称手,就懒得换了。于是 MatLab 和 python 我永远学不会。
这跟我学德语的历程非常相像。日常用交流,英语足够,所以德语永远学不会。
4
这是不是说,这个问题没有客观标准,全靠主观感觉?
我觉得不是。关键是评价”最好“的标准是什么。
这就好比外语,从啰嗦严谨来看,最好的语言德语应该排得上;
从装逼优雅角度,法语应该是最好的语言之一;
从简陋易学的角度来说,最好的语言无疑是英语啦——不信?那你去学一星期德语试试。
年轻的时候,我浪费了很多时间,来挑选“最好的操作系统”、“最好的流程图软件”、“最好的排版软件”……后来,哎,我竟然忘了自己想拿这些工具做什么。我又不是软件测评狮啊。
人生苦短。如果有机会让现在的我给年轻时的我一些忠告,那么第一条就是“别把时间耗在选择上”。
与其说“最好”,不如说“最适合”。花开堪折直须折,莫待无花空折枝。
只要身边很多人在用,遇到问题有人帮你解答,能满足你的使用需求,这样的编程语言,就是最好的语言。
Posted from my blog with SteemPress : http://dapengde.com/archives/19738
恭喜你!您的这篇文章入选 @justyy 今日 (2018-07-12) 榜单 【优秀被错过的文章】, 回复本条评论24小时内领赏,点赞本评论将支持 @dailychina 并增加将来您的奖赏。
Congratulations! This post has been selected by @justyy as today's (2018-07-12) 【Good Posts You May Miss】, Steem On! Reply to this message in 24 hours to get rewards. Upvote this comment to support the @dailychina and increase your future rewards! ^_^
编程语言语言没有好坏之分,只是看采用的语言适不适合自己想做的事情。
如果是那些从“0”到“1”的事情,比如说想创造出一门新的编程语言、自下而上地为当前的编程语言添加新特性,或者是操作硬件,那可能使用偏底层一点的编程语言更合适(比如C,C++...)
如果说自己想做类似做一个网站这样的应用程序,更倾向于自上而下吧,用别人做好的库、包、框架,使用更高级的编程语言来做效率更高(比如PHP,Python,JAVA...)
如果是做科学计算,仿真的话,使用MATLAB、Mathematica、R 这类编程语言更合适,这时候的侧重点是验证或实现自己的算法,而不是把时间花在在编程上,所以这些编程语言往往让人觉得功能很强大
那些从创立到现在都还没有消失的编程语言,说明都有各自适合的使用场景和生命力,具有不可替代性,谁优谁劣是比不了的。至于学什么编程语言,先想清楚自己到底想用它做什么事情更好,不然学着学着就默默地走向从入门到放弃这条路了。
讲得太好了。你这是从专业层面说的,而我是从业余层面说的。普通人做出选择之前很难有机会了解各种语言优劣之后。所以我觉得还是随缘为好,少在选择上做纠结。
有趣的是,不管是哪个层面,我们得出的结论却是殊途同归。
是的,没有什么所谓的“最佳选择”,大鹏用的,就是最好的!!!
你拍死我吧!
板砖拍的疼,我去买豆腐~
还等书收到了带我一起飞呢!不能不拍,拍到大腿骨骨折为止
你这底层的也来弄效果了?
底层人民蠢蠢欲动,想要阶级跃迁啊!!!
我也尝试学过一些编程语言,可是到现在还是一窍不通!
是吗?那么我写的《学 R》一书最适合你!
好像个托儿啊。
带回了一本你写的R,但是还没有开始学习
真买啊!那书可够沉。可以加入 @dancingapple 的 R 语言女子学习小组了。然后用 R 来一起刷乌托邦。
女子学习小组?😓
你肯定受欢迎。
没有最好的语言,只有最适合的语言。
恩说得好,挑一个用就好
Posted using Partiko Android
@dapeng, 棒棒哒~~~
竟然不是夸R语言 失望了 你家大娃关于f的笑话好冷 哈哈哈 英语跟德语荷兰语之类的比起来真的很简陋
那个问答,我咋感觉好像是我问的你~😂
不过最后,我还要说,PHP是最好的语言!姜辰和大鹏是最帅的!