日历

November 2020
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
30  

关于语言的复杂性

Home Forums 《冒号课堂》讨论区 关于语言的复杂性

Tagged: 

  • This topic is empty.
Viewing 2 reply threads
  • Author
    Posts
    • #1087
      Todd
      Member

      网上常常见到C、C++、C#、Java的复杂性争论,《冒号课题》里面也有相应的讨论,我记得书中比喻“成年人比小孩复杂,因为成年人需要承担更多的责任…”。最近,我对这个问题又有了一些新的认识:从简单到复杂从低级到高级是自然界生物进化的过程,语言的进化过程与之非常相似,所以,自然的东西就让它自然去发展。

    • #1313
      hui
      Keymaster

      的确如此,没有任何一个语言设计者能在设计之初就预料到所有的语言特征。虽然好的设计理念和原则能在一定程度上降低语言的复杂度,但随着语言的演化以及语言所应用的领域的拓广和深入,复杂性是不可避免的,尤其是通用语言。相比之下,DSL(领域特定语言)由于专注于特定领域,会显得相对简单,如SQL。也正因为通用语言的复杂性和专业性,人们有时需要抽象程度更高、更贴近业务逻辑的语言,这也是LOP(语言导向编程)的价值所在。

      语言的争论不能说完全没有意义,但最好少动舌头多动脑筋,把更多的精力放在踏踏实实的学习和实践上。随着理解的加深、眼界的开拓和实践的打磨,以前所认为的复杂或许就不再令人费解、不再难以掌控了。

    • #1314
      Todd
      Member

      另外,进化也并不意味着一定会淘汰掉低级简单的东西,自然界有低级的植物,相对高级的动物,更高级的人;语言也是这样,汇编、C、C++、Java、C#、各种DSL等都同时存在。这也是一种多元性的体现。

Viewing 2 reply threads
  • You must be logged in to reply to this topic.
 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)