…………………
這是一篇沒有很完整的文章
我還在構思要怎麼更好
歡迎大家提供意見
…………………
以下正文↓
為什麼我們要寫那些C++?
寫那些在黑黑小框框裡面的東西要幹嘛?
能不能不要再看著這個小黑框了,好無聊……
寫這種東西的用處是什麼?
開始學程式的時候,他們會叫你印快樂數、 判斷是不是質數、或是印九九乘法表之類的。
我做這些幹嘛?做這些的意義又是什麼?
寫程式能辦到什麼?
不知道是不是只有我這樣想,
這些問題我在一年前曾經很疑惑過,
那時問的時候,就只有得到小黑框可以辦到一切的事情,
或是想要漂亮的話去寫網頁。
但這些還是沒有我想要的答案。
現在有點找到解答了,
所以我要回覆一年前的我的問題。
「你想像中的寫程式是什麼?」
一般人寫程式的印象,不外乎就是好像魔法一樣,好像什麼都能辦到。
對AI的想像好像也都是這樣。
雖然似乎是如此,不過也要端看你想做些什麼。
寫程式能做的事情遠遠超過印九九乘法表、判斷閏年平年。
那為什麼我們需要寫程式,讓小黑框印出東西來呢?
那是因為我們需要練習這些基本語法的緣故。
熟悉了基本語法(if else while for),接著就可以做很多事情,
而最常見的就是學C++或是C語言,通常是因為C語言很接近電腦的底層運作,所以打基礎或是給資工系學生了解電腦的運作用。
或是讓你了解基礎的邏輯,因為C語言是一門相對來說沒有那麼高階的語言。
他最麻煩,所以可以好好的訓練剛開始學的學生。
但通常我們實際去做的時候,除非需要很高的效能,不然現在除了底層的系統外,比較少在用C語言。
當然,也有很多程式語言的底都是C語言寫的。
不過程式語言大同小異,至少基本的邏輯都一樣,所以很多人都會用C++或Java當母語。
當然,實際運用上,我們沒有必要自己造輪胎,所以現在很多人在推崇python。
其最大原因是,背後有很多人在幫他造輪胎,讓他很方便。
也有另一個原因是,他很好學。容易上手,普通人教一個下午大概就能略懂一二。
而我們在做的事情通常是對「資料」進行某種「處理」
再把處理完成的「結果」傳送到介面給使用者看。
就像是我今天跟麥當勞說我要一份薯條,店員拿著訂單跟廚房說「一份薯條」,接著廚房就會開始處理這份訂單,從冰箱裡面拿出薯條開炸,處理完之後就會把薯條拿給店員,店員再把薯條給你。
資料就是「一份薯條」的訂單、
處理就是廚房在炸薯條、
而店員就是剛剛說的介面。
也就是說,
我們學習寫程式,通常都是在學習怎麼炸薯條!!
我們對著小黑框輸入3
寫程式判斷了以後
輸出true
這就是寫程式。
一個判斷質數的程式
舉例來說,今天你想要做一件很rutine的事情,
就像是去PTT板上找演唱會的換票好了。
一般做法就是,你要時不時去刷新頁面尋找有沒有人要出售。
這時候就可以寫一支程式,去代替你做定時去瀏覽PTT的事情。
這個現在有個很火熱的名詞,叫做「爬蟲」
那麼爬回來的那些資訊,存在電腦的某個地方,
你要怎麼看呢?
最簡單的方法就是print出來
這時候就是所謂的電腦上的黑色小框框啦。
這東西簡單來說叫做介面。
就是你跟電腦溝通的一個小窗口。
要怎麼擺脫這個小黑框呢?
最簡單常見就是寫個網頁,把這個服務架在伺服器上,人們透過瀏覽器去對伺服器傳送請求,例如說我想要查有沒有人在賣某某球鞋,這時候伺服器就會去做爬蟲的事情去幫你找到你要的。再把資料傳給瀏覽器。
你就會看到你想要的東西。
這就是網站的運作流程。
再更進階一點可能串上line提供的功能,如果這隻程式定時去PTT看到有人願意交換票,就馬上通知你。
這就是透過line提供的服務,也就是常見的聊天機器人(chat bot)。
所以對程式設計師來說,沒有什麼人在乎脫離小黑框這件事情。
因為他們只是在炸薯條,炸好了自己吃就好了。
所以初學者通常比較少在美化「介面」這件事情,
畢竟你連薯條都還不會炸,又談什麼開個速食店呢?
但你要開一家餐廳,可不是只要一個廚房就好了,
你可能會需要漂亮帥氣的店員幫你看店,接待客人。
這時候就會有「網頁設計師」的需要,他們就是在製作介面,
html css javascript這三個東西就是網頁的前端主要構成的元素。
你現在看到的任何透過chrome或Firefox等瀏覽器看到的介面幾乎都是這三者構成的。
手機的原理也差不多。
而HTML CSS是主要構成畫面的部分也就是店員的外表,JavaScript則是程式語言,也就是店員的靈魂
有了靈魂,店員也就可以幫你處理一些事情了。
像是你可以篩選你想要的商品之類的事情。
所以出現了更進階的「前端工程師」
他們在做的就是分攤後端的邏輯到前端去。
不過主要前端的功能就是傳送請求給後端。
也就是店員把訂單給廚房這件事情。
至於有前端就會有「後端」就是我說的炸薯條的廚房的部分,也是大多數寫程式的人主要在做的事情。
當然寫程式的功能遠不止這些,
但我認為寫程式這件事情就是把你能做的事情交給電腦做。
因為這些事情可以不必要你親自去做。
寫到這邊突然不太知道要寫什麼了,
改天有什麼想法再補。
或是有人提問再補好了。
總覺得還是寫得很爛,好像有什麼講得很模糊。