5.Rails强调一种DSL,一来符合人们的语言习惯、二来我觉得是一种编程语言的颠覆,我们并不是在用某个特定的语言(比如Ruby)来实现一个功能(就如同是用C还是用Java来写一个编译器),而是我可以在这些语言的基础上定义一种新的语言(类似于lex,yacc这样的词法语法生成器)。看看routes.rb的设置吧,能有多么惊讶,这是程序么,简直就是诗。美不只是在于内容,同样在于形式。
关于 Python
python的优势很多,比如:
1.语法简洁,无需编译。Python 语法简洁高效,一句话“人生苦短,我用 Python”啥都说明了,高效是 Python 的特点。
2.强大的数据结构。默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。
3.强制缩进,让代码自然显得有条理。
4.插件齐全,可以完成绝大部分的程序设计任务。
当然还很多,具体还可以去看看 《Python的设计哲学》这个 chapter。
小结
没有最好的语言,只有最合适的语言。
没有糟糕的语言,只有糟糕的程序员。
没有一种语言是万能的,只会一种语言是万万不能的。
用什么语言不重要,最重要的是效率:开发效率和执行效率。PHP 语法很傻,一点都不炫,但凡是学过C、JS、AS等等语言的,很容易上手,因为语法上有很多重合的地方。很多人看不起 PHP,说 PHP 太简单的人,往往是因为对 PHP 本身不够深入了解,其实 PHP 里面的东西一般人用到的很少,5.3 以上的特性也慢慢让这种语言生动起来,你越是深入,就越能发现它的强大和优势。
这里仅仅列出 PHP,Python 与 Ruby 的一些情况,让读者更好地挑选学习的语言。
语言没优劣之分,Just follow your passion.