文組生學程式語言?

three line 三條
夢想落地
Published in
5 min readFeb 12, 2020

這標題其實我並沒有很喜歡,若是十年前可能還會接受這樣的刻板論調,文組生跟寫程式似乎完全搭不上邊,試問請英文系、歷史系的人去學程式語言C、C++、JAVA、JavaScript、Python,就坐在在資工系、資管系為大宗的教室裡,不顯得突兀嗎?

我大一就做過類似的事,看到「人工智慧」、「程式語言」的課程,特別留意選修對象「不限」,我就興沖沖地選課了,開課第一天滿心期待來到地科系館,教室裡約莫七八十位同學,老師先跟大家打招呼,說著有很多外系選修這門課,接著詢問大家寫程式的經驗,「完全沒寫過程式,是程式新手的請舉手」,全班大舉了一大半,我的心也安了不少,但沒想到老師接下來卻公布了殘酷的事實:「這堂課不適合完全沒接觸過程式語言的人,你會修得非常辛苦,如果沒有學過,建議你們現在離開」於是我就跟著一些人離開了教室……從此學程式語言的勇氣便蕩然無存了。

而現今,坊間許多給中小學生上的「程式語言」班,像是學習 Scratch,沒有複雜的語法,而是用視覺化的積木來設定指令,訓練學生的計算思維與邏輯。

https://www.freecodecamp.org/news/scratch-has-a-marketing-problem-f84626bd18ef/

程式語言相關的線上課程蓬勃興起,專門開給非本科系的人、想要學其他程式語言的人,像幾年前興起的app開發,我一位唸英文系的朋友就砸了十萬元學習swift,現在在業界工作,負責app的開發與維護。

程式語言已不同於以往,是理工科系的專屬利器,在時勢所趨下,已是每個現代人都應該必備的技能。

於是我決定跨出舒適圈,開始學習程式語言JavaScript,學習的資源完善有系統,又有助教群可以解答疑難,和所有的學員一起前行,探索未知。

JavaScript是目前用於網站開發最熱門的程式語言,它可以呈現網頁的互動效果,讓網頁開展無限的可能。同時,物件導向(Object-based)對於初學者而言較容易上手,還有內建的功能模組可以套用。這是JavaScript的網頁的範例作品:

什麼是程式語言?

簡而言之,就是和電腦溝通的語言,就像我們跟不同的人要說不同的語言一樣,「見人說人話,見鬼說鬼話」(誤),面對小朋友,你會自然說出充滿疊字詞的萌語言;面對公司會議報告,你會用專業術語的語言;情人之間用傲嬌語言……。電腦只能懂0跟1的語言,有電/沒電,稱為「二進制(Binary)」語言,我們下的任指令最後都會變成0與1組合,電腦看懂便會執行。

高階語言與低階語言

程式語言中可分成高階語言與低階語言,高階語言是為了讓人更直觀閱讀也更容易寫所發明的,現在我們學的程式語言都屬於高階語言,它是經過轉化再轉化最終便利人們的偉大發明!

那低階語言是什麼呢?一連串的010101010111110011101010101111的「機器語言」,或是將0與1的字串以英文命名成為指令集,幫助硬體(處理器Processor)work的組合語言。

https://zhuanlan.zhihu.com/p/46534946
http://203.72.185.25/9601bcc/ca032/chapter/ch3/3-3-2index.htm

線上寫程式資源

在雲端寫程式,走到哪寫到哪,這也是我近期非常推崇的工作模式,我已經可以做到只要有連上網路的電腦,我都能持續我的工作:線上學習、寫文章、做筆記,這一切全部都在雲端空間裡 :)將你的檔案帶著走,感覺非常棒!寫程式也能做到這點,以下兩個網站能讓你隨心所欲地寫程式、測試執行,非常適合新手。

https://repl.it

以下是試用repl.it的畫面

第一條程式
第二條程式

let是動作

myBirthday是變數

1999/02/29是資料

第一條程式,我的理解為,讓myBirthday這個變數放入1999/02/29的資料 ,所以當我下一個指令(console.log)要顯示這個變數時,就會出現1999/02/29這筆資料。

以上是我目前學到的內容。

持續認真學習!

--

--