2023年6月16日 星期五

第一次學程式該學哪個語言? 30年資深程式設計師的告白:答案很清楚

 作者介紹:

戴玉珮Patty-恆逸教育訓練中心資深講師,從知名企業撰寫專案到恆逸專職講師,超過30年程式開發經驗。資工系、資工所學習COBOLC++Pascal,前10年使用微軟VB開發系統,近年專精於Java應用程式開發。

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

不管過去是不是資訊系背景,如果從現在開始立志成為一位應用系統軟體開發人員,到底選擇哪一個程式語言才能贏在起跑點呢?

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


編譯+直譯式語言?

目前編譯+直譯式語言知名的有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程式設計師養成班


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

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

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

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

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



0 意見:

張貼留言