编程语言的发展趋势:从没有分号,到DSL
转载来源: https://github.com/liuyubobobo 文章时间:2019-06-19 09:39:26 只有在那崎岖的小路上不畏艰险奋勇攀登的人,才有希望达到光辉的顶点。 ——马克思 一直以来,我有一个观点: 随着软件行业的逐渐成熟,算法将慢慢不再成为软件行业工作者必备的知识 (但一定是信息学相关专业必学的知识)。因为算法将被越来越多地封装和直接使用。这就好比数据库,近乎是每一个软件项目都必备的需求,但近乎每一个软件项目都不会选择重新实现一个数据库。有太多现成的数据库工具唾手可得,我们只需要学会怎么使用它们就好了。而怎么使用它们,比重新实现一个数据库,简单不止 100 倍。 事实上,计算机行业的任何一个细分领域,都在上演着这样的“进化过程”: 很多在以前看来是必学的知识,从现代开发的角度看,不一定是必备的。所以,大家会觉得面试造核弹,上班拧螺丝 。 如果你曾在十五年前,就尝试做一个网页;做一个桌面app(那时还根本没有移动 app);做一个游戏;你就会明白我在说什么。一个非常显然的事实是:在十五年前,做一个网页,做一个桌面 app,做一个游戏,相应的成本都是现在的 100 倍以上,而最终得到的成果,搞不好不足现在的百分之一。这一万倍的差距,不是因为今天的我们更聪明了,而是因为行业在发展。今天的我们,不仅仅是“站在巨人的肩膀上”,更是“站在了几百万个巨人的肩膀上”。 来源: https://www.brainyquote.com/ 所以,我经常提醒自己,我能实现这么多复杂的功能,不是因为我有多聪明,而是因为编程现如今竟是如此简单。 任何一个技术,如果能被大规模地应用,除了它足够有用之外,还必须具备一个必要的因素——它足够简单。计算机技术在我们这个时代被越来越多、越来越广泛地使用,是因为计算机技术越来越简单 。 在这篇文章中,我想从计算机语言的角度,聊聊编程语言的“演化”。这本身是一个很大的话题,甚至有很多学者做专门的相关研究。因此,这篇文章的讨论角度也是极其有限的。大家通过文章标题就可以看出来,这篇文章将聊到 DSL 为止。但除了 DSL,我们确实还有很多维度去探讨这个话题。以后有机会,我会再逐渐补充我的观点:) 1、从没有分号,到给人看的编程语言 学习计算机的同学一定了解:分号在计算机编程语言中,有着举足轻重的地位。如...