作者:

戴玉珮Patty-恆逸教育訓練中心資深講師,從知名企業撰寫專案到恆逸專職講師,超過30程式開發經驗。早期資工系、資工所學COBOL、C++、Pascal,前10年主要是使用微軟的VB開發系統,後來精通Java應用程式開發。

▲第一次學程式語言,該選哪個語言?

如果有志成為應用系統軟體開發人員,不管原來在大學是不是資訊專業,打算此時此刻正式開始從頭學習,投入軟體開發的道路,到底選擇哪一個程式語言才能贏在起跑點呢?

其實這只要觀察將近70年的電腦程式語言發展史,就可以清楚地找到答案-Java。

▲編譯式語言、直譯式語言的差別?

編譯式語言(Compiled Language):知名的編譯式語言有:Fortran、COBOL、C、C++、Pascal…等。其中Fortran(1957年推出)、COBOL語言(1959年推出)開發的系統,至今都還廣泛的使用中。

這種語言在執行前必須先透過該語言專用的編譯器(compiler)將程式碼編譯成特定作業系統看得懂的二進位原生碼(native code)才能執行。各作業系統的native code差異很大,所以編譯式語言一旦編譯完成後,就不能跨平台執行。

優點是他的語法較為嚴謹,速度流暢迅速,對於要求快速又安全的大型應用系統,是較為理想的架構。

直譯式語言(Interpreted Language):知名的直譯式語言有:JavaScript、Python、Ruby …等,甚至最早的BASIC語言(1964年推出)也是直譯式的語言。

不同於編譯式語言,直譯式語言好像可以不用先編譯就直接執行,但其實是在執行前把一行文字程式編譯並執行,然後再處理下一行,也就是動態直接編譯後立刻執行,故稱為直譯。

因為無須事先編譯,直譯語言具有靈活的型別處理與自動型別轉換機制,語法規則也相對直覺好學,而且只要作業系統有提供直譯環境,直譯式語言的程式碼就可以在這個平台執行,也算是某種程度的跨平台。但缺點是,速度會比編譯式語言要慢得多。

而且靈活簡單過度的語言結構也常常變成鬆散雜亂,甚至在執行時期發生難以偵測的錯誤。再加上沒有Compilier在編譯程式時提醒開發人員,語法錯誤就只能靠程式人員自己用眼睛找了,所以比較適合小型應用系統,或簡單測試用。

▲編譯+直譯式語言?

編譯+直譯式語言:目前編譯+直譯式語言知名的有Java、C#、VB(包含VB.NET)。只可惜,微軟的C#和VB與Windows作業系統中特有的Visual C++程式庫勾結太深,所以無法跨平台到Windows以外的作業系統。

1995年出現的Java程式語言,則是直接在規格中宣布了它的編譯+直譯運作機制,目的是為了提供跨平台的解決方案。所以Java程式語言編譯出來的不是Native Code,而是Java自訂的Byte Code。

執行Java Byte Code時,作業系統平台要安裝Java Runtime環境,由JVM直譯Byte Code後交由作業系統執行。此外Java也去掉了C++中比較用不到又繁瑣的設計,這樣相對簡潔又可以跨平台的機制,讓程式人員的開發環境與客戶的線上環境,就算使用不同的作業系統也能順利運作,是非常務實的做法。

▲學會一個語言,許多語言就能無師自通

程式語言除了編譯、直譯式的差別外。語言設計結構也在70年代後期到90年代初期有了重大的變化,出現了物件導向程式設計(Object-oriented programming,OOP)。

從程式語言指標性的統計網站TIOBE INDEX來看,從2000年開始,熱門程式語言排行榜前五名中幾乎都是物件導向程式語言。

為什麼這些語言都要加上物件導向設計呢?不是因為比較簡單,也不是執行效能更快速!物件導向設計透過類別與繼承架構提供強大的擴充性,利用Overriding Method、Polymorphism讓系統維持各版本之間的相容性,再藉由物件轉型讓子類別新功能也得以發揮。藉由抽象類別與介面設計,提供嚴謹又不限縮的規格。再加上Encapsulation機制,提供好的Code Securities。集中管理檢查邏輯,維持修改的一致性。

有趣的是,除了Java程式語言,這些程式語言的教材中,對於物件導向設計的說明少之又少!使得除了Java之外的程式人員普遍都無法確實正確運用物件導向設計,所以寫出來的程式庫相容性就很差。

Java也才能在這23年間都保持TIOBE Index前三名。

想要確實了解好的物件導向設計,Java程式語言才能達成這個目標。而且在Java學好的物件導向設計,拿到任何其它程式語言,只要是物件導向,設計原則、技巧通通一樣。所以學會Java,C#、Python可以無師自通,大概只有C、C++的指標設計比較難一點,但也好學許多。

身為一個資深開發人員,在資工系、資工所學COBOL、學C++、Pascal,前10年主要是使用微軟的VB開發系統。但在認識Java後,深深覺得:

「如果我一開始就學Java,我一定會進步更多更快呀!」

▲Java全方位Web程式設計師養成班介紹

恆逸「Java全方位Web程式設計師養成班」針對完全沒有程式背景的新鮮人,或想轉職進修者所設計,讓您由淺入深的學習,成功跨入程式設計領域。課程規劃從最基本的程式設計概論與物件導向分析開始,再來由基礎Java語法相關知識進階到Java網站程式開發、MySQL資料庫端的串接、HTML5與JavaScript等前端技術,再加上Java商用購物車開發等課程,循序漸進帶您進入程式開發的世界。

•    深耕資訊教育訓練超過25年,每年受訓人次破萬人

•    台灣第一軟體公司精誠資訊(股票代號6214)旗下品牌

•    全台最多國際原廠授權、最多企業指名合作的資訊培訓中心

•    就業養成班開辦十多年來,成效卓越,是許多知名企業用人的首選合作對象

•    舉辦聯合徵才,為企業與學員打造最快速的媒合平台,每年培育數百位資訊業新人進入相關產業任職

學員成果作品:https://www.youtube.com/watch?v=Dizn1j3elSg

詳細資訊請上https://ucom.uuu.com.tw/UCOM_index_ithome.aspx

或請來電由專人為您解說(02)25149191#100

也可私訊粉絲團讓專業小編幫你解答!https://www.facebook.com/messages/t/uuuEdu

熱門新聞

Advertisement