電腦學習計畫

近日因公司需求,開了一些電腦方面的書單,同時也檢討了一下未來計畫。我真的覺得工作太久了,雖然一直有成果產出,不過自己的腳步卻停頓了好一陣子,剛好利用這個機會,檢討了學習的方向,希望在經錄專案結束後,能有較多的時間投入學習中。

主要可以分成網路與電腦兩個方向來談。

在網路方面,過去除了使用最基本的 HTML、CSS、Javascript 之外,進階一點的就是使用 Perl 寫 CGI,搭配 MySQL 資料庫,偶爾用一點 PHP,這大概就能處理許多事了。

近日比較流行的技術,則有 Ajax 及 Ruby on Rails,前者能有較廣的應用,後者據說在開發上能更快樂及有效率,即然如此,就得好好來研究一下了。

至於電腦方面,首先就是想到跨平台的方向,有鑑於 Windows 程式愈來愈肥大,硬體要求也更嚴格,M$ 盜版則愈捉愈嚴(嗯,這好像不應該列入重點吧...),反觀 unix 系列愈開發愈酷,安裝與操作都更加方便,尤其是這一切幾乎都是免費的,相較之下,怎能不令人心動呢。而 mac 的主機,似乎可以同時安裝 OS X、unix 與 windows,這對測試跨平台應該更方便,因此除了學習開發跨平台是一個目標之外,若公司能提供一台 mac,那也是目前心中的期待。

在語言的選擇上,我想還是繼續以 c++ 為主,畢竟這是一個效率極高,應用極廣,也是極有歷史背景的語言,雖然學習難度稍為高了一點,不過為了長久投資著想,我想把 c++ 學好才是王道吧,所以在開給公司的書單中,也列了幾本 c++ 聖經級的書。

為了跨平台,只有 c++ 還是不夠,目前得知有 QT、GTK+ 與 wxWidgets 等跨平台的圖形界面開發工具,陸續看過一些資料,這些都是各有優劣,或許要真的寫過一些程式,才知道哪一種比較適合了。

當然,要學習開發跨平台程式,要先了解平台,目前沒有 mac,暫時學不到這部份。unix 的部份則要先列入計畫,不論是桌面或伺服器,都得多多研究了,自己比較有接觸的則是 Fedora 及 Ubuntu。

Java 是另一個跨平台的選擇,不過我一直擔心它的效率不夠。雖然如此,還是得花點時間去了解,至少要用它寫出簡單的程式,畢竟公司有些程式是用 Java 寫的,維護 Java 程式的工作最後總是會落在我頭上的。

Java 之所以效率略差,是因為它與作業系統之間還有一層虛擬平台,這和 M$ .NET 很類似,在 .NET 上面大概是以 C# 為主,而且 M$ 似乎想以它為未來 Windows 上的主流語言,所以這個大概也得加減學,幸好它和 Borland 的 VCL 架構很像,語法也與 c++ 雷同(或與 Java 雷同),過去學習 C# 的經驗算是蠻輕鬆愉快的。

還有一種腳本語言,我最常用的是 Perl,可惜它的物件導向支援不夠好,我還在等 perl 6 的成果。原本有考慮要學 Python,不過 Python 的書好像很難買,而也因為要學 Ruby on Rails,就把時間拿來學 Ruby 好了,Ruby 的理想是成為 Perl 的後繼者,希望它夠強大,讓我有初學 perl 時的驚艷。

至於 M$ Office 的 VBA 則偶爾用到,尤其是在 Access 的部份。這些大概丟不掉,也不會常使用。

順便回顧一下很久沒用的語言:Z80 組合語言、6502 組合語言、Basic、Pascal、Fortran 77、Clipper 5/dBase III,這些則是過去有使用過,但已經很久沒用了。

另外 XML 與 UML 是兩個要加強的環節,而 Eclipse, Code::Blocks 則是兩個想試用的開發環境。

整體看起來,就是朝著要逐漸擺脫 M$ 平台的限制,把重心轉移到跨平台及網路應用上。

把這些新目標整理一下:

Ajax、Ruby on Rails、c++、QT、GTK+、wxWidgets、unix(Fedora、Ubuntu)、Java、XML、UML、Eclipse、Code::Blocks

這些看來可以讓我好好學習一陣子了。

重要度:
文章分類:
一般標籤:

發表新回應