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

坐井观天了啊,再次翻阅这本书,发现其实并不用看这本书

所以若是猎奇,满足好奇心,可以看看,如果是想认认真真的学,还是跳过吧


纵观编程语言,林林总总,大致逃脱不了以下范畴:

  1. 模型
  • 函数式
  • OO
  • 原型
  1. 数据结构算法
  2. 数据结构
    • 类型
    • 链表
    • 哈希表
  3. 过程
    • 判断
    • 循环
  4. 并发

关于并发,由于过程不符合人类思维,目前貌似还没什么好办法
我想以后即使解决了,也应该是通过天才的一些人,写好封装起来,让我这种智商平平的人,像写 ifelse 那么简单来解决掉的

个人感觉,一个语言的流行,与以下几点密不可分:

  1. 商业推广(Java|OC)
  2. 安全稳定
  3. 是否易于人类阅读

前两点无需多言,说多了都是泪

七周七语言中有提到:
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 另辟蹊径,把重点放到了如何让程序员快乐的写代码上

所以没什么最好的语言,只有最合适的语言

当然上述所说的,都不是用于一种情况,即电脑进化到可以编写代码

因为这已经脱离了人类的范式