2007-07-15 15:10:30克理斯 在 Internet!

工程師 Ruby on Rails Choice ?

在電腦語言中 , 就像在我們所在世界一樣 , 有許許多多 language 存在!
使用什麼語言在做什麼事 , 每每在公開討論版上都會引起許多討論!!

在身旁所面對過語系中 , 去看些現實生活可見現象去分析電腦似乎是個不錯想法!

法文: 優美語系 , 但它被稱做最不會算算術語言 , 80 = 4 個 20 , 但它優美語系和發音 , 卻是人文藝街發展亮麗原因 , 在語言研究學中 , 英國皇家在早期就也使用法語當做皇室的語言 (而非英語哦 , 妙吧...)

英文: 所說英文 , 已經普羅大眾化 , 適合做一般說明 , 它很適合溝通 , 怎麼說? 拼字式的語言 , 由單一字母就可以表達某一個程度上足夠定義 (在象形文字中往往一個字代表許許多多字義) , 而簡單似乎是最好的溝通用字

德文: 嚴謹是德文給我最直接印象 , 它是工業技術背後推手 , 德國民族性和語言自成一格 , 德文是嚴肅語言 , 在德文具體敘述下建構了最嚴謹德國工業技術!

中文:變化多端 , 用字以組合為主 , 不同上下句就能組成不同意義 , 標點段句更帶來複雜問題 , 君不見:下雨天留客天天留我不留。在人文上也許這很好玩, 但在科技中這個很嚴重的問題(甚至在法律和合約上)

日文:象形文字變形 , 和中文有類似在 , 但其大量引用外來文字加強其語言特性 (日文為中國唐朝時代遣唐使所傳回日本) , 為一改良式的漢字新語言 , 其特性為便於書寫使用 , 並大量外來文字加強其應用 , 但在拼音字上又顯複雜 , 但其描述文字卻又簡單 , 這也許是日文文件很大量發行原因吧

p.s 以上為吾於數種語言中 , 短暫學習和應用後淺見 , 如有誤請告訴我!

程式設計該學什麼才好?
已經是討論區和最常見問題上裹腳布 , 討論可以又臭又長!

我深深覺得: 解決問題、生產能力、可維護性、程式延展性 是選擇語言 First Head.
其次是:程式運作效能(performance)、學習人數、擴充應用能力....(這也非常重要)

那就從頭看看自己當初選語言原因:
ASP : 我第一份工作公司最多人使用這個來開發 web 程式 , 所以一用就是四個年頭 , 它很簡單並且執行在 Windows 上 , 雖然跑起來速度不快 , 程式一多時又有一些小問題 , 並且 HTML 和程式碼是”黏” 在一起 , 但在開發 web 初期(1997 年起) , 它是最簡單入門程式首選!!!

C: 從高中就用 C 當做比賽語言 (當初我看不起 VB , 真的看不起)...
說到這 , ASP 是 VB 語系....就知道當初在第一份工作時 , 是多~~~
從國中 1 年級開始練程式起 , C 和 Unix 就是我忠愛首選!
SUN 是也是後來程式運作平台 , 當初帶我程式教授說:怪卡!
好吧! 我當初是超級無敵程式偏執狂!!!
除了 C 外就配合中山大學有用 java , 因為 java 很像 C , 但覺得 java 寫起來跑不快 , 在當初是一大隱憂!!

用 C 一路拼上 IOI 營隊(奧林匹亞資訊科國手營) , 做科展
.(其他人大多用 VB) .
但我就不用 VB . 雖然我知道 , VB 可以很快完成手上工作(比 C 快很多)
但 , 程式的偏執狂 , 在當初電腦跑不快(那時沒人告訴我莫爾定律..)
RAM 又很少 (在十年前 , 我沒想過 RAM 可以到 256M以上!!)..好吧 , 這也是我的理由 , 但 Unix 上不能跑 VB = = . (這又是另一個理由)

但離開了學校的實驗室 , 我後來還是選了其他程式語言來用!
Delphi : 我大學時在寫資料庫程式和 POS (收銀機)程式時最常用語言.
也用它寫過 ASP dll 外掛函式用來擴充 ASP 不足之處.
很好上手語言 , 並且 pascal 是 OO 語系 , 大量引用和物件觀念實在!
在開發 Windows 視窗程式上是個我首選工具... Why Delphi?
因為在人工智慧實驗室大家都用它

Notes :
總統府的公文流程是用 Notes 於 1998 年開發完成. 事關機密, 不便多述. 但穩定、封閉是最重要的...哈哈!!

Python :
在 linux 上很好用 , 但身旁沒同好 , 就只能在專案中某些角落見到.
但為了可維護性 , 除非是很確定不改規格元件 , 否則暫不使用 python.

Java : 從 1996 開始使用 java 在寫中山大學電機系的一些專案計劃 , Java 不知在什麼時候成為我開發的語言. 細翻在電腦中紀錄的原始碼.
Java Applet 在 1997 年 2 月產生第一隻跑馬燈新聞看版
Java application 在 1997 年 4 月 , 用來做 Server 上 tcp server/client 跟 C 上 tcp server/client 做 communication Testing 和一堆 portocal 測試!.
Java Embedded System 在 1998 年 1 月產出 , 放在三菱控制器上執行 , 並外掛 sensor.
但 java 的速度一直在 1999 年前 , 因為環境限制(沒錢買設備) , 直到我們打入中華電信後才有錢可以跑上這個語系.
wny java ? 因為中華電信研究所裡面有數百位使用這個語言工程師, 環境使然 !! 並在研發路上 , 前端就是 asp 、後端用 C 或 Java , 但在 server 上 , Java 這塊沒有人帶領 , 我有先前相關經驗就去碰了 java.
Java 飛揚:
java 在 2002 年後的發展 , 像乘了風一樣!! IBM 捐出 Eclipse 開發介面 , 2001 年我也推出開發了第一版的業務日報系統、船務系統 on Web. 但大型的程式架構和 java 1.2.2 語系上的特殊語法 , 現在也變成了改版上的殘念!!!

現在工作中 90% 語言在 java 上了 , 8G RAM、4 CPU 機器是家常便飯!! Why Ruby?

在寫出 java 程式同時 , 會去想 , 有沒有更簡單方式去做? 更容易上手?
時間有限 , 專案無窮 = =(心聲心聲啦)

PHP 也是一個不錯的工具 , 很簡單使用 , 但後端運算能力不足 , 大量 hash 和資料量在 web application 上是很殘忍!!!

Ruby ! 它足夠量! why?
Ruby on Rails 中 Rails 是個完整程式架構用來開發有資料庫網頁程式架構,其程式設計型態為 Model-View-Control (M.V.C.) ;並且基於 Ruby 之上發展起來特性 (異常處理機制、自動垃圾收集和可攜性等特性) , 並且簡單學習是 RoR 特性, 看看最上面的那張圖就知道了!

在 for 迴圈上
5.times do
puts ”hello”
end

就可以印出 5 次 hello.
語法上的直觀!! 強!!

RoR , 並且最重要的是 , 若它可以加快程式開發速度 , why not try ?

我想 , 下篇文章再來 Post Ruby on Rail 上更多特性吧!! (我要去加強自己 Ruby on Rails 開發能力)....

其實 , 我也是個墮於現狀軟體開發人員 , 但 RoR 好像又是另一個插上翅膀飛翔般. 怎能不來試試?? 好改善我們低落已久程式開發上問題呢?