眾所皆知:「不會寫程式的人都認為程式語言是寫給電腦看的,
會寫程式的人都知道程式語言是寫給人看的。」
其實電腦是看不懂程式語言的,程式語言的檔案就只是一個純文字檔,需要經過「翻譯」變成機器語言電腦才看得懂,其中翻譯的方式主要分成兩種:編譯式、直譯式。
Icon 來源:programming-29、computer-technology-2
編譯器(Compiler) 會把整個程式翻譯完,然後交給我,我再去找電腦把翻譯後的文件給電腦閱讀。
這樣做的好處是會執行的比直譯式語言快,因為執行的時候沒有翻譯的步驟,缺點是每次修改程式都要重新編譯。
常見的編譯式語言:C、C++、C#、Java、Golang
Icon 來源:programming-29、programming-16、career-women-13
直譯器(Interpreter) 會一行行的翻譯給電腦看,一邊翻譯一邊執行。
因為執行程式時要先經過翻譯的動作,所以執行的速度較慢,但是修改程式不需要重新編譯。
常見的直譯式語言:Javascript、Python、PHP、Ruby
PHP 原本的全名是 Personal Home Page,是拉斯姆斯·勒多夫為了要維護個人網頁,而開發的程式語言,主要是用來生成動態網頁。
1997 年,兩個以色列的工程師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,PHP 也在這個時候改稱為 PHP:Hypertext Preprocessor。
PHP 原先是設計成直接和 HTML 鑲嵌在一起的,不過我完全沒用 PHP 寫過網頁就是了XD,不太喜歡兩種東西寫在一起的寫法,總覺得會糊成一坨、難以維護。
大部分的網站伺服器都可以執行 PHP 程式,相較於其他語言的部署門檻低了不少,入門的難度卻是挺高的。
通常學 PHP 都要順便學 HTML、CSS、JS,肯定讓新手一個頭兩個大,我這邊剛好有不用會那三樣東西就能學 PHP 的方法。
在這前後端逐漸分離的時代, PHP 也是能作為純後端使用的,網站後端該有的功能它都有,因為它原本就是用來寫動態網頁的嘛!
用 PHP 來寫 Telegram Bot 也能算是一種純後端應用吧,只作為傳送資料使用,而不用產生網站頁面,完全不需要會 HTML、CSS、JS。