該學什麼程式?Which programming language?

許多人對於學習程式設計的有兩個常見的問題:

  1. 到底該學到什麼程度?
  2. 應該從哪個語言入門?

程式語言的功能及目的只有一個:指示電腦照著你的意思辦事!

著名網站 Stack Overflow在2016年,針對173個國家中,5萬6千位的程式設計師,所做的一個調查:

  • 最常用的技術:

    1. JavaScript — 55.4%
    2. SQL — 49.1%
    3. Java — 36.3%
    4. C# — 30.9%
    5. PHP — 25.9%
    6. Python — 24.9%
    7. C++ — 19.4%
    8. AngularJS — 17.9% (JavaScript framework)
    9. Node.js — 17.2% (server-side JavaScript)
    10. C — 15.5%
  • 最害怕的語言:

    1. Visual Basic — 79.5%
    2. WordPress — 74.3%
    3. Matlab — 72.8%
    4. Sharepoint — 72.1%
    5. CoffeeScript — 71.0%
    6. LAMP — 68.7% (Linux, Apache, MySQL, PHP)
    7. Cordova — 66.9%
    8. Salesforce — 65.4%
    9. Perl — 61.3%
    10. SQL — 60.3%
  • 最想學習的:

    1. Android — 15.8%
    2. Node.js — 14.8%
    3. AngularJS — 13.4%
    4. Python — 13.3%
    5. JavaScript — 11.9%
    6. React — 9.2%
    7. Swift — 8.7%
    8. MongoDB — 8.1%
    9. Arduino / Raspberry Pi — 8.0%
    10. C++ — 8.0%
  • PYPL(Popularity of Programming Languages Index),統計網路上最常被搜尋的排名:

    1. Java — 23.1%
    2. Python — 14.4%
    3. PHP — 9.7%
    4. C# — 8.4%
    5. JavaScript — 7.7%
    6. C — 7.1%
    7. C++ — 7.0%
    8. Objective—C — 4.4%
    9. R — 3.4%
    10. Swift — 3.0%

由這些數據觀察,手機程式設計及電子商務依舊是佔著高比例的主流。 如果您是:

  • 學生
  • 轉換跑道
  • 正在準備技能找工作
  • 進修提升自己的薪資

你可以投入這兩大產業,活到老學到老除了連續的自我學習以外,尋求培訓公司的課程,是縮短時間,大幅度的加速你的成長的良方!

最後,介紹各個語言的主要用途:

  • C/C++

    • 研發新的作業系統,或是維護,優化作業系統的程式碼
    • 撰寫一個新的電腦程式語言
    • 高速運算系統
    • 3D,遊戲引擎
    • 撰寫電腦語言的編譯器或直譯器
    • 醫學設備
    • 廠房產線設備
    • OSI七層中的資料連結(Data link), 網路(Network), 傳輸(Transport)等層的程式撰寫
  • Python

    • 撰寫視窗介面 - wxPython, PyQt or PyGtk
    • 影像處理及圖形設計:
      • 2D : Inkscape, GIMP, Paint Shop Pro and Scribus.
      • 3D : Blender, 3ds Max, Cinema 4D, Houdini, Lightwave and Maya.
    • 科學與計算應用:

      • 科學計算:NumPy
      • 3D模型建立 : FreeCAD
      • 有限元素分析:Abaqus
    • 遊戲

      • 3D遊戲引擎:PySoy
      • 函式庫:PyGame
    • Web框架(framework)與應用:
      • 框架:CherryPy, Django, TurboGears, Bottle, Flask etc.
      • ERP:ERP5, Odoo.
    • Google App Engine, Reddit, YouTube

java usage chart

  • Java

    • 視窗介面 - Abstract Windowing Toolkit (AWT), Swing and JavaFX
    • 手機程式設計 - J2ME, Android J2SE SDK(Software Development Kits), Android Studio, Eclipse.
    • 嵌入式系統 - 小從微晶片到工業電腦,大到大型機具或電動設備,SIM卡,藍光播放機,水電表還有電視,都使用內嵌式Java的技術,根據Oracle表示,全世界的藍光播放機100%使用Java技術,共有1億2千5百萬個電視機也使用Java技術。
    • 網頁應用 - Spring, Strut2, Hibernate, Servelet, JSP.
    • 網頁及應用伺服器
      • 網頁伺服器:Apache Tomcat, Simple, Jo!, Rimfaxe Web Server (RWS) and Project Jigsaw.
      • 應用伺服器:WebLogic, WebSphere, and Jboss EAP.
    • 企業應用 - J2EE, 高頻交易 Murex, 網路銀行, 高達97%企業電腦都有執行Java的蹤跡。
    • 科學應用 - MATLAB, 數學, 科學計算,生物基因演算 bioJava等。

<參考資料來自 https://www.invensis.net/>


建議閱讀 -> 轉換跑道,迷惘中? 我們來指引你方向


我想要專屬職涯規劃師幫我規劃學習路徑!