LV. 29
GP 4k

【心得】對程式開發有興趣的進來,常見的程式語言總整理

樓主 深海異音 hbl917070
-
很多剛入門的初學者連自己要學什麼都不知道如何決定
網路很多人會推薦別人去學C/C++
然而這是一種不切實際,極度沒有效率的學法

要有效率的學習,一定要先弄清楚「自己想要做什麼」
明智的選擇是「根據自己想要達成的目的,來選擇程式語言」
不要因為某個語言很熱門,或別人說某個程式語言很好,就一股腦的衝去學
一定要先搞清楚自己的目標(例如:開發APP、控制機器人、分析大數據)

下面是我整理的一些常見程式語言、專案 之類的東西
(當然還有很多是沒提到的,也可能有一些解釋是錯誤的,歡迎其他人補充





組合語言
執行效率非常高的東東,但因為接近機器語言,所以通常不會直接拿來開發,只有在特殊情況下會用到。
用途:逆向工程、硬體控制、非常講求效率的程式核心



C
通用性非常高的程式語言,執行效率極高。
用途:開發硬體驅動、韌體、解碼器、單晶片微電腦控制 等等...



C++
算是C的進階版,引入了物件導向、疊代器、複合型別、各種標準函式庫 等等...。用途相當廣泛,且執行效率極高,但是開發難度極高。
用途:無所不能,從硬體控制到作業系統與軟體開發,只要跟程式碼有關係的,C++幾乎都能處理



C++ Qt 框架
用C++來開發跨平台視窗應用程式。
知名作品:Skype、VLC media player、MediBang Paint Pro




C#
微軟開發的程式語言,語法簡單功能強,且開發環境非常友善,相當適合初學者學習。
用途:開發Windows視窗應用程式、ASP伺服器、跨平台應用程式或函式庫(net core)、開發unity遊戲、很多硬體設備提供的控制函式庫是採用C#



C# Windows Forms 專案
用滑鼠拉拉點點就能快速做出「Windows視窗應用程式」,難度非常低且功能強大,相當適合初學者學習。缺點是難以做出漂亮的界面。
用途:快速開發Windows應用程式



C# WPF 專案
一樣是拿來開發「Windows視窗應用程式」,不過需要較多的基本觀念才能夠上手。能夠做出非常漂亮的界面,而且習慣後比Windows Forms還容易。
用途:快速開發Windows應用程式




C# UWP 專案
用來開發win10 APP的專案,開發完後可以直接上架到Windows的市級,語法跟 WPF 幾乎完全一樣,只是使用的套件有些不一樣,也多了一些限制。
用途:開發 Windows市級 APP、開發 windows IoT 的 APP



C# ASP.NET 專案
相當熱門的後台伺服器,是很多公家機關的首選,因為與Windows有非常良好的支援,且有完善的圖形化設計界面,能夠快速輸出各種報表、PDF、Word。現在也支援MVC架構,很多人不知道的是,其實ASP完全免費,而且能夠運行在Linux跟MAC上面。
用途:伺服器後台




VB.NET
與C#同樣運作核心都是「.net」,只是改用「Visual Basic」的語法來撰寫。
用途:跟C#一樣



VB6
VB.NET的上一個產品,非必要不建議學,畢竟是17年前的產物。
用途:公司可能會有舊的VB6專案需要維護、VB6 + PLC可以處理自動控制




Unity 3D
學習成本較低的遊戲引擎,能夠開發跨平台的2D或3D遊戲,使用C#來開發。
知名作品:崩壞3、爐石、紀念碑谷




Unreal Engine(虛幻引擎)
學習成本較高的遊戲引擎,跟unity一樣可以開發跨平台遊戲,開發者必須使用C++來撰寫,能夠做出畫面非常精緻的3A大作,而且因為畫面非常精緻,很多公司會用這套引擎來展示產品。例如汽車業者、房屋業者。
知名作品:絕地求生、幻次元遊戲戰機少女、劍靈 (詳細列表)




Lua
非常輕量的腳本語言,主要用來叫其他語言做事情(例如C++或C#)。很多地方都會用到腳本語言,尤其是遊戲開發,例如遊戲的技能攻擊力,可能會用一個資料庫來記錄成像這樣,「等級1=攻擊力110,等級2=攻擊力120,等級3=攻擊力130...」
如果用腳本的話只需要一行公式,「攻擊力 = 100 + (等級 X 10) 」
用途:做出可寫入邏輯的設定檔、讓程式可以擴充附加元件


Java
跨平台的程式語言,早些年很夯,但自從Oracle控告Google濫用java來開發Android,所以使用人數逐漸下滑。
用途:開發Android APP、大數據處理、跨平台應用程式或函式庫、JSP伺服器、很多硬體設備提供的控制函式庫是採用java
知名作品:創世神、SPSS、Eclipse、NetBeans




Kotlin
運行於java虛擬機的靜態語言,能直接使用java的函式庫,繼承java所有優點,也能夠編譯成JavaScript,讓程式在沒有JVM的環境運行。
Google在2017年正式宣佈 Kotlin 為開發 Android 的主推官方語言,被譽為Java終結者



Objective-C
Apple開發者一定要認識的程式語言,能夠用來開發MAC或iOS的APP。跟C非常接近,實在稱不上是什麼人性化的語言。
用途:用Apple有關的產品,皆用這個開發



Swift
因為Objective-C難度實在太高,所以Apple另外設計了Swift,初學者也能輕易上手。
用途:用Apple有關的產品,皆用這個開發




MATLAB
由美國The MathWorks公司出品的商業數學軟體。
用途:演算法開發、資料視覺化、資料分析、數值計算、深度學習




R
與MATLAB差不多,不一樣的是,R語言是免費開源。




HTML、CSS、JavaScript

HTML:網頁的結構與內容,像是文字或圖片。
CSS:網頁的樣式,像是背景顏色或文字大小。
javascript:網頁的腳本,按鈕點下去後跳出一個訊息框。

不論是多麼複雜的網頁,都是由這3個東西構成的。早期雖然還會在網頁裡面嵌入flash,不過那個基本上用的人也不多了

用途:開發網頁前端、某些應用程式的前端界面




JavaScript
運行於網頁的腳本語言,跟 Java 沒有任何關係。因為有瀏覽器的地方就能執行JavaScript,因此用途相當廣泛。
用途:開發 網頁前端、nodejs伺服器、瀏覽器附加元件、跨平台應用程式




Electron 框架
使用 HTML + CSS + JavaScript 來開發跨平台視窗應用程式的專案。
知名作品:Discord、Visual Studio Code、GitHub Desktop





PHP
最多人使用的伺服器後台語言,免費開源且能夠使用的套件眾多。
用途:伺服器後台




Python
直譯的跨平台程式語言,語法相當簡單,而且現成的套件眾多。
用途:人工智慧深度學習、伺服器後台、資料處理與分析、開發跨平台應用程式或函式庫、一些程式的附加元件(例如blender)

GO (或稱 Golang)
Google開發的強型態編譯型程式語言,執行效率極高僅略遜於C。
用途:伺服器後台、數據處理、跨平台應用程式或函式庫



Nodejs
採用Google Chrome 的 V8 引擎來運行的伺服器後台,開發者能夠使用JavaScript來開發後台。
用途:伺服器後台、npm軟體套件管理系統




關聯式資料庫
MySQL
免費的資料庫,很多中小企業都用它。但自從被甲骨文公司收購後,有些人擔心它不再免費。
用途:功能強大且免費的資料庫

MariaDB
MySQL創始人弄出來的另一套免費資料庫,用來取代MySQL。
用途:能夠無痛從MySQL轉移到MariaDB

MSSQL (或稱 Microsoft SQL Server )
微軟出品的資料庫,功能強大且價格親民,且有完善的圖形化界面,很多企業都採用這套。
用途:想要資料庫有強大功能,但又不想花大錢的公司,就會用MSSQL

Oracle
功能很多的大型資料庫,這套資料庫價格不便宜,所以聽說工程師薪水通常不差。
用途:需要很多權限管理功能,或是非常注重安全性的公司,就會用Oracle

SQLite
小型的資料庫,通常用在客戶端,支援大多數的SQL語法。
用途:當程式需要資料庫功能,但是又不想要客戶端安裝龐大資料庫的時候




CMS (內容管理系統)
像是部落格、論壇或是購物網站,很多都是用CMS來建構與管理。舉例來說,使用者要在部落格發表一篇新的文章,他只需要進到管理後台就能進行處理,不需要撰寫html或程式碼。
目前最常見的是WordPress,可以快速建製網站或部落格的懶人包專案,使用 PHP 開發而成,後台採用 MySQL 或 MariaDB。有眾多的主題跟外掛插件可以直接使用,就算是不擅長寫程式的人也能用,整個網路上有30%的網站都是用WordPress。





最後跟大家補充一個觀念

很多時候會混合多種程式語言來進行開發
像是Python易開發但執行效率不好,C++執行效率很好,但開發麻煩,所以就用C++來寫函式庫,用Python來呼叫這個C++開發的函式庫,如此一來同時兼具易開發與高執行效率
雖然說根據自己的需求選擇學習的程式語言很重要,不過如果學校在敎跟自己興趣不一樣的程式語言,其實也不需要太排斥
因為什麼時候會用到都不一定
在真的有理解吸收的情況下,多學不會有壞處

-
板務人員:

7485 筆精華,前天 更新
一個月內新增 25
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】