為什麼說 Smalltalk 超前了 20 年?

"20年"是比如這篇裡面說的 http://blog.youxu.info/2010/02/28/why-mac-os-x-for-programmers/


在Smalltalk的一個實現環境 Pharo里,我見到了一個Find功能。輸入一個輸入和期望的輸出,程序會幫你找出可能實現它的方式。在之前我沒有見到過,與此類似的功能是在 Haskell中的 Hoogle,根據類型搜素函數。

如果大家在其他的開發環境中能找到類似的功能,請告訴我。

一個栗子:我想實現從一個Array中找出最大值。我給出一個實例輸入 #(3 4 7 2) 以及一個期望的輸出:7 。 Finder幫我找到了兩種方式: max 和 third, 兩個函數都能得到7 這個結果,當然程序並不會智能到能猜到我要的是哪個。

另外一個栗子,我想把一個字元串切分,我給出一個示例輸入 "1 2 3" 期待得到 #("1" "2" "3") ,這次找到了 String 類的 substrings 方法。


熱火朝天的Objective-C和Ruby都大量使用(參考)了Smalltalk的設計,而Smalltalk生於70年代,可以這樣認為Smalltalk超前了20年吧。


推薦閱讀:

Mathematica 這門語言怎麼樣?
UE4 C++編程學習路線?
2025年的編程語言將會是怎樣的?
wolfram language說得那麼優秀,為什麼沒有被普及,難道只是因為它貴?
為什麼編程語言中的區間一般是 [begin, end)?

TAG:編程語言 | 面向對象編程 | Smalltalk |