切換
舊版
前往
大廳
主題

程式語言 口語化概述

LinYa | 2018-07-28 02:42:57 | 巴幣 26 | 人氣 886

廢話很多的「程式語言」 口語化概述

最近因為興趣開始學習程式語言
自我複習之餘順便來個不成熟教學。
有錯都歡迎大家留言來鞭!!讓我更加理解。

除了點錯連結、或意外點進來之外。
相信你會點進來,本身就是對程式語言有點興趣了。

文章會盡量以白話、口語化的方式撰寫,
想要口語化就會廢話很多。
又或是出現舉例不正確的狀況,
還請大家小力一點。

前言
一〃〃〃〃〃
이른바 언어는 의사 소통을위한 일련의 방법입니다.
당신이 지금 이해할 수있는 "한국어 텍스트"
너는 "한국어"를 공부했기 때문에 "한국어를 이해한다"
당신은 배운 적이없는 언어를 이해할 수 없습니다.

Le soi-disant langage est un ensemble de méthodes de communication.
Ce "texte français" que vous pouvez comprendre maintenant,
Parce que vous avez étudié le français, alors "comprenez le français",
Vous ne pouvez pas comprendre la langue que vous n'avez pas apprise.


(上面是 韓文、法文,意思跟下面的中文一樣)

所謂的語言就是用於溝通的一套方式。
你我現在看得懂的現在這個"中文字串",
你學習過"中文語言" 所以"理解中文",
而你沒學習過的語言,你是無法理解的。


"蘋果"、"Apple"、"애플"其實都是同一個東西,看你能理解哪個罷了。

程式語言就是電腦識別、理解的依據,
PythonPHPCC++JavaJavaScript...太多太多程式語言
(如同韓文、中文、英文、法文、泰文...)

又因為所有的程式語言都是為了讓"電腦"識別,
因此這些各式各樣的程式語言又帶有針對性。
例如C++Java 主要用來開發系統軟體和應用程式、
JavaScript則是針對網頁設計發展出來的。

程式語言除了因為沒接觸過而不熟悉,讓更多人退卻的複雜性源自「有些程式語言是建立在另一個程式語言再發展出來的。
如同CC++C#,這三個是不一樣的東西,有種雖然很類似又很亂的感覺。

(你想像一下學習完中文之後,又為了其便利性、或是直覺性、不可替代性,你自己再把日文韓文英文中好用的單字加到你的中文裡,然後請別人來理解你自創的這個新語言,程式語言大概就是這樣的狀況 XDDD)

二〃〃〃〃〃〃

學習一個語言,
你可以無腦的死背"歐嗨唷",
日本人就懂你在跟他說"早安"

如果自己記得"歐嗨唷=おはよう=早安",
就是自己多理解了日文50音。

再深入一點,其實"おはよう"的發音是"歐嗨唷屋"。
但是因為連音的關係 "" 會帶過去,不用特別強調""這個音。
(我不用英文當例子,是因為我英文爛)

每個字都懂意思,甚至這詞的來源都了解就是熟悉這個語言了。

你總不會問,為什麼"おはよう"是早安的意思。
當初日語發展 就是認定"おはよう"就是早安的意思。
學習程式語言也是如此。


讓你選擇一個語言學習,除了自己有興趣的以外。
第二選擇應該就是選擇"主流"語言了吧!

既然要學習程式語言,朝自己已經有興趣的方向去是最好的。
你會發現你在學習的路上會知難而退,興趣被挫折磨光光(大誤)。

再來就是興趣結合工作
既然都有興趣了, 如果學會了用此當工作又何樂不為?
而且投入職場完成各式各樣的要求,肯定會加速學習。


我們來看看2017年前五名主流的程式語言分別是
JavaScriptPythonJAVARUBYPHP
註:C++在第六名
(資料源自GitHub的《Octoverse 觀察報告》)

意思就是大多數工程師都在用,且大多數資訊產品都用此來做程式語言
如同找飯店要找trivago(誤),你要找程式設計的工作當然是往需求多的地方去。

而2017主流第一名 JavaScript,它被世界上的絕大多數網站所使用,也被主流瀏覽器(Chrome、Firefox、Safari、Opera、IE)支援。 延展性非常的高。

當然,學習 JavaScript這件事不是非要不可,
一切是看學習動機及興趣

目前GO語言(Golang)也在崛起中,天曉得未來某一天是不是會崛起成為第一名呢。

三〃〃〃〃〃〃開始有點深奧(怕打擊信心,以下可略過)

電腦就是一堆電路板、電晶體組成,而電路之所以懂得"二進位"。
是透過 {通電} 和 {斷電} 的方式,
替換理解 {1} 或是 {0};top或是Btm

這是電腦之所以能實踐二進位的原因,(OP運算不贅述)
從電影裡面 偷汽車掏出幾根電線接幾下觸電,就讓車發動了(舊車才有辦法)
到家用電話按數字鍵就能撥出去的原理,都可以看到通電斷電的方式(也就是1和0)。

我們用家用電話來當簡單一點的例子,
當我用電話接上電話線會持續通電。
(家用電話就算不裝電池,接上電話線也會發現螢幕會顯示。)

當我連續按 【1】 五次,電話內的電晶體會有規律的切斷電流五次。
(也可能設計成電話都是斷電,當我按數字鍵時才通電。一樣意思)
按 【9】 則是規律的斷電九次,如此用來實現 "判別不同的訊號"。

如果你問說按0怎麼辦,其實是斷電10次!
出來的成果只要讓你覺得你在按0都行(設計成斷電20次也行),
這個思考邏輯在程式設計當中很重要!!

以前是電話將這串訊號發給交換局,當交換局的人收到號碼(訊號)。
會幫你轉接到你想轉接的電話號碼(搞工 搞死人的工作)
再用一模一樣的方法讓對方的電話響。
現代則是設計更多程式語言取代人力,
讓電腦系統讀懂當我收到這個訊號的時候,要轉接給誰。

回頭來說,程式語言發展中有所謂的低階語言、高階語言:
低階語言就是完全的0和1組成,所以電腦語言剛發展出來的時候非常難。

你要電腦算個 1+1=2,
你要打一堆0010101000110101001,電腦才會懂。
嗯?! 有沒有頭皮很「(ㄇㄚˊ)」的感覺。

隨著發展,
高階語言則是透過"編譯"將指令做翻譯,
增加使用者的可讀性。

以下不成熟的形容:
當我鍵盤輸入ABC,螢幕會顯示ABC。

其實是編譯器設定成:
01000001代表A、
01000010代表B
01000011代表C。

再將鍵盤的 某三個鍵設定成
我按下A鍵 電路產生01000001、
我按下B鍵 電路產生01000010、
我按下
C鍵 電路產生01000011。

當我按下ABC這三個鍵,
電腦裡面會跑010000010100001001000011,
再透過編譯器 解碼這串鬼東西之後,實現ABC在螢幕上面。

綠色的部分就是使用網站、軟體的使用者。
黃色部分,則是程式設計的人去做的。完成輸入ABC得到ABC。

簡單來說程式語言的設計,就是工程師和電腦溝通的方式。藉此設計出一堆方便的東西。
包含你看到的這個網站,你點開瀏覽器"檢視原始碼"。那就是程式語言。
其實網站就是原始碼那些東西組成,設計完之後使用者只需要圖像化的方式點選。

總結
如果將程式語言當成蓋房子。

材 料:電腦只懂 1 跟 0。
設計師:程式語言的創造者設計出各種不一樣的程式語言。
工 匠:使用程式語言的工程師,用程式語言設計出各種不一樣的程式。
住 戶:使用程式的人。

以前我們都是 住戶(使用者),
當開始學習程式語言 就變成工匠學徒了,直到學會變成了工匠。
再專精一點的人會當設計師(如同GO語言是Google工程師設計出來的一樣)
當然,也是有負責製造材料(電腦)的人。那就是不同階層的。

這文章就是概述 (發牢騷?)
希望能用白話、口語化的方式讓更多人懂 ((應該有吧?!

後面會開始一步一步地放上自己學習C++的內容。


cout<<"寫程式就像寫文章一樣"<<endl;

if(知道文字怎麼寫)
cout<<"文章不一定寫的好"<<endl;
else
cout<<"一定不會寫文章"<<endl;

//你知道文字怎麼寫,跟文章寫的好不好並沒有關聯。

創作回應

又在亂玩一通
文章好有條理
很容易理解
2018-08-19 15:57:39
多古尼爾拉布拉布拉格
優質文 推
2019-08-21 20:09:51

相關創作

更多創作