程式語言基本概念、功能及應用1


程式語言

語言是溝通的橋樑,人與人透過自然語言(中文與英文...)溝通,它是自然演化的,要根據上下文意來判斷,例如"今天和朋友聚餐好不快樂",若以此語言與電腦溝通,那電腦是無法判斷到底是快樂還是不快樂,故需要精確地與電腦溝通需要程式語言,它是由人發明及定義的,與其他語言一樣有其字彙與語法

程式語言(programming language)也是一種語言.和我們日常使用的中文、英語一樣, 程式設計語言也是一門用於溝通的語言.只不過"程式設計語言"是和電腦溝通的語言.

圖片引用:

程式(program)就是使用電腦能夠理解的語言書寫的一連串的指令(Instructions)

範例

利用程式語言設計出的電腦軟體(Software)就是程式(Program).已經應用在我們日常生活及工作中

程式設計(編程)(coding):為了完成某項任務, 將解決問題的步驟, 用電腦能夠理解的語言寫成指令, 它會根據這些指令一步步執行, 最後完成任務.

 

牛刀小試

What is Coding?

範例解說

"程式設計"涉及到 3 個組成部分:

1.人負責思考解決問題的步驟

2.人負責使用電腦能夠理解的語言來描述解決步驟

3.電腦負責執行這些步驟


我們可以把"程式"想像成"食譜", 我們以"煎雞蛋"為例: 假設我們不會炒菜, 然後獲得了一份煎雞蛋的食譜,然後, 我們就可以照著這個食譜一步步去操作, 最後做出一份香噴噴的煎蛋.

在這, "食譜"就是"程式", 有人製作了這個"程式", 我們呢, 只需要按照這個"程式"執行, 最終獲得程式運行的結果 -- 一份香噴噴的煎蛋.但是儘管有食譜, 我們還是可能把煎蛋搞砸.其原因可能為

1. 我們沒有按照食譜煎蛋, 導致失敗

2. 食譜描述的煎蛋方法有問題

3. 煎蛋方法沒問題, 但是描述有不同的解釋或歧義

那麼, 如果是由電腦來執行這個食譜, 如何讓它不搞砸?假設由我們來編寫食譜, 讓電腦來煎蛋. 是否也會面對上面的 3 個問題?

對於第 1 個問題:電腦不存在第 1 個問題. 因為電腦沒有思想沒有情緒, 它只會不折不扣地執行指令.

對於第 2 個問題:第 2 個問題涉及到"解決問題的能力.

對於第 3 個問題:這是我們現階段的瓶頸 -- 儘管我們有解決問題的辦法, 但是還不知道如何按照電腦能夠理解的語言去描述步驟

那麼, 如何解決這個瓶頸?現在, 我們已經成功把"程式設計的難點"縮小到"如何準確描述步驟"這個問題在以後的課程會來探討


程式語言種類及其功能應用

實作1-程式語言種類

看4分鐘

影片重點說明

1.簡介程式語言,以及為何需要這麼多不同的程式語言

2. 目前最常用的幾種程式語言

3.程式設計背後的基礎概念-二進位

補充說明:

1.程式語言分類(抽象層次)

圖片引用:https://sites.google.com/a/ysjh.hc.edu.tw/sing/home/05zi-xun-ke-cheng/07wan-ji-mu-xue-cheng-shi/7-2

2.積木式程式語言(例如:Scratch、Blockly、Microbit等)是如何被電腦執行的?

 

資料引用:教育部高中學科中心

3.高階程式語言種類

解說:

C 比之九陰真經,學會並掌握指標,天下無敵。

C++ 比之龍象般若功,有十三層,但修煉不易,無人超過第十層。

Python 比之降龍十八掌,簡單卻威力強大。

Java 比之獨孤九劍,敗中變化出的招式,不限平台的 JVM 。

JavaScript 比之胡家刀法,六字訣變幻莫測,瀏覽器上都能運作。

PHP 比之黯然銷魂掌,需要深厚內力才能使出。

C# 比之彈指神通,高手運用手指的巧勁就能施展。

Objective-C 比之六脈神劍,獨家不傳絕技。

Perl 比之龍爪手,少林正宗武學,幾乎 Linux 高手必備。

Ruby 比之乾坤大挪移,這要用過了才會知道。

Swift 比之一陽指,六脈神劍的精髓,本來同樣是獨家不傳絕技,不過現在 open source 了。

4.高階程式語言選擇及應用

實作2-圖型化程式語言遊戲網站-Hour of code


程式語言基本概念、功能及應用小結

“程式語言並無好壞之分,各有所長。依自身需求,選擇適合的程式語言。

參考資料

何謂編程

http://billor.chsh.chc.edu.tw/IT/Supply/01.pdf


計算機概論Ⅳ,施威銘研究室(旗立,2016)

初探程式語言學習單1下載