An indigestible programming language is a bad language
Gap Year 时,就看到了这本书,当时正在 codecademy 刷题, 只看到 Ruby 那章,那时感觉知道 Go
已经很 Geek 了
时隔一年,现在所在的公司重构后端时,曾考虑过 Scala
,有个基友看游戏工资高,毅然决然的去看Erlang
,有次 Thoughtworks
活动分享听到了 Clojure
再看这本书时,赫然发现 Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell
坐井观天了啊,再次翻阅这本书,发现其实并不用看这本书
所以若是猎奇,满足好奇心,可以看看,如果是想认认真真的学,还是跳过吧
纵观编程语言,林林总总,大致逃脱不了以下范畴:
- 模型
- 函数式
- OO
- 原型
- 数据结构算法
- 数据结构
- 类型
- 链表
- 哈希表
- 过程
- 判断
- 循环
- 并发
关于并发,由于过程不符合人类思维,目前貌似还没什么好办法
我想以后即使解决了,也应该是通过天才的一些人,写好封装起来,让我这种智商平平的人,像写 ifelse
那么简单来解决掉的
个人感觉,一个语言的流行,与以下几点密不可分:
- 商业推广(Java|OC)
- 安全稳定
- 是否易于人类阅读
前两点无需多言,说多了都是泪
七周七语言中有提到:
In many ways, Clojure is the wise kung fu master, the oracle on the hill, or the enigmatic Jedi trainer.
Lisp 的好处,从《黑客与画家》就得知了,并且 Emace 誉为“神用的编辑器”
但是,说的那么好那么牛逼,却流行不起来,是个值得深思的问题
从语法糖的角度来说,还记得有次用 Swift
,一个上一代的(C/C++/Java)程序员(无贬义),仅仅是看到返回值变成了 -> , 变量类型在后面就惊呼不已
至于我自己,完全接受 Go Swift
等语法糖,却也感觉 Lisp
的前缀表达式各种难受,简单还好,一长就晕了,并且结尾一堆右括号很有异端的感觉
可见程序员习惯了一套体系后,再接受新语法有多困难
“代码是写给人看的”
所以我想,反人类阅读方式的语言不说会消失,至少不会在人类中流行开来
所以 Mazi 另辟蹊径,把重点放到了如何让程序员快乐的写代码上
所以没什么最好的语言,只有最合适的语言
当然上述所说的,都不是用于一种情况,即电脑进化到可以编写代码
因为这已经脱离了人类的范式