原文:如何設計一門語言(五)——面向對象和消息發送

面向對象這個抽象的特例總是有說不完的話題,更糟糕的是很多語言都錯誤地實現了面向對象 class居然可以當一個變量類型什么的這只是讓人們寫代碼寫的更糟糕而已。當然這個話題第三篇文章已經說過了,現在來談談人們喜歡拿來裝逼的另一個話題 消息發送。 按照慣例先來點題外話。說到消息發送,有些人喜歡跳出來說,objective c的消息做得多優雅啊,代碼都可以寫成一句話 golang screw:you yo ...

2013-05-25 11:08 4 3493 推薦指數:

查看詳情

Java是一門面向對象編程語言

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式.. ...

Fri Sep 24 02:01:00 CST 2021 0 113
如何設計一門語言(一)——什么是坑(a)

這個系列的起因是這樣的,王垠寫了一篇噴go的博客http://www.yinwang.org/blog-cn/2013/04/24/go-language/,里面說go已經爛到無可救葯了,已經懶得說了 ...

Sun Apr 28 01:28:00 CST 2013 33 12488
如何設計一門語言(九)——類型

類型是了解編程語言的重要一環。就算是你喜歡動態類型語言,為了想實現一個靠譜的東西,那也必須了解類型。舉個簡單的例子,我們都知道+和-是對稱的——當然這只是我們的願望了,在javascript里面,"1"+2和"1"-2就不是一回事。這就是由於不了解類型的操作而犯下的一些滑稽的錯誤。什么,你覺得 ...

Sun Aug 18 00:27:00 CST 2013 6 5455
如何設計一門語言(二)——什么是坑(b)

我從來沒有在別的語言的粉里面看見過這么容易展示人性丑陋一面的粉,就算是從十幾年前開始的C++和C對噴,GC和非GC對噴,靜態類型動態類型對噴的時候,甚至是雲風出來噴C++黑得那么驚天動地的時候,都沒有發生過這么腦殘的事情。這種事情只發生在go語言的腦殘粉的身上,這究竟代表什么呢?想學go語言的人 ...

Mon Apr 29 02:28:00 CST 2013 27 6378
如何設計一門語言(七)——閉包、lambda和interface

人們都很喜歡討論閉包這個概念。其實這個概念對於寫代碼來講一點用都沒有,寫代碼只需要掌握好lambda表達式和class+interface的語義就行了。基本上只有在寫編譯器和虛擬機的時候才需要管什么是 ...

Sat Jul 06 06:32:00 CST 2013 20 10941
如何設計一門語言(六)——exception和error code

我一直以來對於exception的態度都是很明確的。首先exception是好的,否則就不會有絕大多數的語言都支持他了。其次,error code也沒什么問題,只是需要一個前提——你的語言得跟Haskell一樣有monad和comonad。你看Haskell就沒有exception,大家也寫 ...

Mon Jun 10 23:02:00 CST 2013 1 2801
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM