iT邦幫忙

DAY 17
1

成為資料工程師最初的 28 堂課系列 第 17

資料工程師第 16/28 課: 程式語言/系統程式

[修讀原因]

大多數的人還沒學程式語言時, 就開始學寫程式了, 這是無可厚非的, 事實上能夠多學幾種不同的語言之後, 在來學程式語言說不定是好的, 畢竟有寫過不同種語言的程式後, 會更了解語言的共通性與不同性, 此時可以歸納與理解更多有關語言的許多事.

但這些學程式語言或者有在寫程式的人, 真正學過程式語言 Programming Language 或學進去, 可能是寥寥可數, 這才是最大的問題, 因為若沒有對電腦語言能夠更深刻的體會與體認, 有時程式的感覺是很難進步的.

雖然說學習語言最好的方式就是下去寫就對了, 但若了解其架構, 邏輯是會更容易上手, 更能夠知道其特性, 這也是我期望的結果, 就像是從 BNF (Backus Normal Form) 來學習語言, 先了解 Operator 與 Identifier, 先了解 Object-Oriented 的概念之後再來寫程式, 或是寫完程式再來體會, 這才是我認知如何學好程式的要素.

  • 機械語言
  • 組合語言
  • 編譯語言
  • 直譯語言
  • 虛擬碼
  • 巨集

這些並不是所有人都可以全面碰得到的, 但若透過這樣的體驗與學習, 會對語言有更進一步的了解, 尤其現在每一種語言都是相當有趣, 都有其特色與時空背景, 了解這部份, 就會很容易上手與精通了.

[基本資訊]

  • 課程題目: Programming Language/System Programming
  • 困難度: ***
  • 必要度: ***
  • 所須時間: ***
  • 建議書輯: Concepts of Programming Languages

[基本介紹]

組成程式有很多基本元素:

  • 語法 (Syntax)
  • 語意 (Semantics)
  • 函式庫與執行系統 (Standard Library and Run-Time System)

學習系統程式與程式語言, 不是個教你如何寫好程式的科目, 要寫好程式, 要達到下面幾個目標:

當然最後還是以結案及達到目標說不定就是個好 Programmer?

有時學習 Programming Language 或許須要從一個語言開始, 就像是較有名的:

  • C
  • C++
  • Python
  • Java

除了透過虛擬語言來學習外, 不然就是透過 BNF, 而最有名的例子就是透過 BNF 來學 BNF:

這個在 RFC 很多都有類似的對通訊協定或語言是用這種方式來定義, 所以了解 BNF 不是只是為了學寫程式, 更重要的是拿來做為溝通的工具.

語言不是只有拿來寫程式用的, 現在的角度, HTML 也越來越接近一些語言了, 雖然 ML 指的就是 Mark-up Language, 在未來, 每一個人應該都須要會不只一個電腦語言, 因為不是只有拿來跟電腦溝通, 而是能夠更了解語言的思維.

[修習方式]

建議電子書:

開放課程:

關鍵字:


上一篇
資料工程師第 15/28 課: 使用者介面/使用者經驗
下一篇
資料工程師第 17/28 課: 資料探勘相關數學
系列文
成為資料工程師最初的 28 堂課30

尚未有邦友留言

立即登入留言