有些語言可能可以說是 好用.靈巧.在programmer能力值高的情況下能產出好的程式

但卻很難被歸類為 “優雅”

比如說這麼一個語言

混淆應屬於物件的 method 或獨立的 function 甚至狂熱試圖把一切都當成物件 然後鼓勵一堆人寫出 3.times do 這種念起來很順 實際上意味不明的程式

又在設計上絲毫不在意 redundancy 到了比喝醉酒的張飛還豪邁的地步

你可以寫 unless / until 無視他就是 if not / while not
可以寫 for i in (0..5) 也可以寫 (0..5).each

標準庫裡面有 map , collect
find_all , select
has_key? , include? , key? , member?
多種組合任君挑選好自在

當試圖用 lambda 又讚嘆不已的發現 居然超友善的提供了 block, proc, lambda 三種豐富的選擇
然而因為不用括弧就自動呼叫function的貼心設計, 讓你沒辦法真正的將 function 傳遞
而必須傳遞一個包含 .call method 的物件 然後彆扭的寫成 f.call()

function call 會像許多FP一樣 親切的回傳最後一個 expression , 然而卻不做 tail call optimization .

更別說 class 的定義都靈巧無比, 不但可以拆成兩部分做, 還可以隨機做, 對原生標準庫做, 每次呼叫一個 method 都不知道他現在到底會做什麼XD

因為各種神人採用的設計 保證了他永遠走在時代的尖端 也讓目前沒有任何神人可以做出堪用的靜態型別推導

資深的社群大大會說這是個很多領域都合適的先進語言
當然我也認為 Rails 真的很好寫

備註

其實因為很少用了, 實際上並沒有非常強烈的怨念 這篇是 FB 上看人聊到有感而爆發出來的 XD

語言看多了 也知道什麼是取捨, 什麼是胡亂搞(所謂歷史因素)

因為我現在並不是任何一個語言的信徒, 也不是哪個語言的 Hater (我在寫 C++ 專案耶, 怎麼可能會沒度量)
要討論歡迎, 要打戰爭請別算上我 :)

使用 Windows RDP 遠端到 VirtualBox 上的 VM

為了讓別人可以連進來我的 Windows VM,而玩了一下。 Goolge 前面的結果是用 VirtualBox 提供的 extension pack 搞 VBox 的 VRDP。不過我覺得應該不用裝這麼麻煩,直接設 port fowarding 就好了, …… Continue reading

[Note]Setup SSH on Fedora in VirtualBox

Published on January 30, 2015

yoda in languages

Published on December 08, 2014