飆的Python小學堂:每個人的第一課Hello World

之前我們提過了Python的誕生,而這一次會介紹的是所有程式語言的第一步:
「Hello World」。

「Hello World」,據說最早(備註1)是出現在B語言的示範教學程式。以下是他的範例:

main(){
    extrn a,b,c;
    putchar(a); putchar(b); putchar(c); putchar('!*n');
}
a 'hell';
b 'o, w';
c 'orld';
而當初這段程式的開發者,布萊恩·柯林漢(Brian Wilson Kernighan)在與丹尼斯·里奇(Dennis MacAlistair Ritchie)合著《C程式設計語言》(The C Programming Language)一書時,也將「Hello World」作為第一個程式範例:
#include <stdio.h>
main( ){    
    printf("hello, world\n");
}

自此之後,幾乎所有程式設計師的第一堂課都是「Hello World」,而後所開發的程式語言也會使用「Hello World」作為第一個範例。
至於為什麼是這句話呢?起源至今難以確認(備註2),不過倒是留下一些浪漫的傳說。

Python自然也不例外。
不過,在進到Python的程式碼之前,要先知道Python的特別之處。
在安裝好Python之後,除了可以使用它內建的開發環境之外,也可以使用命令提示字元來操作。
命令提示字元的畫面
命令提示字元的畫面
在這裡的操作,跟使用Python的IDLE是一樣的。

那在這裡要先介紹Python的重要概念:import
如同C需要#include,Python藉由import其它的模組來增加他可以操作的函式。
而在這裡,我們import了hello。

__(雙底線) + hello + __,__hello__
__(雙底線) + hello + __,__hello__
import __hello__
讓我們看看結果。
0003
Hello world!
如果說C可以用1行程式碼取代他的老前輩的5行程式碼,Python則是任性的連1行程式碼都不用
當然Python也可以用程式碼來印出hello world,這也是實際上它會做到的事。
print (‘hello, world’) 
hello, world
hello, world

不過import __hello__這個方法就跟Python背後的設計哲學有關了,我們之後會再討論。

備註1:有些研究認為BCPL(Basic Combined Programming Language)才是hello world最早出現的地方,不過使它成為流行的肯定是布萊恩·柯林漢。
備註2:根據不太能確認的回憶,布萊恩是使用小時候看過的卡通中的台詞。
「In interview with Forbes India, he said his memory’s dim. “What I do remember is that I had seen a cartoon that showed an egg and a chick and the chick was saying, “Hello, World.”」 ( from The History of ‘Hello, World’ )

Read More

飆的Python小學堂:Python的起源

Python、C與Java,是目前世界上的前三大程式語言。
Python作為一種簡潔的直譯式語言,被廣泛的用於各大機構中,如NASA、Google等等,而Python近年來更是AI領域中的發展要角。
這種強大又易讀的語言,是怎麼誕生的呢?
這就要回到1989年,12月的荷蘭了。
吉多·范·羅蘇姆,一個荷蘭的程式設計師。他參與了荷蘭數學和計算機科學研究學會(Centrum Wiskunde & Informatica,CWI,英文為National Research Institute for Mathematics and Computer Science)的一個教學計畫,目標是在教導非專業的人們學習如何開始寫程式。這個計畫後來稱為ABC語言。
而在聖誕節假期中,窗外大雪紛飛,羅蘇姆閒賦在家,對著電腦,剛泡好咖啡,夜深無聲
他想要一個東西讓他能打發假期。此時他想到了ABC專案。
「ABC是種優美和強大的語言,但是他是不是能做的更好?」
於是他在假期中,用著家中的唯一一台電腦,著手開發了ABC的後代。
出於喜好,他選擇用蒙提·派森的飛行馬戲團(Monty Python’s Flying Circus)這部劇來取名。
Python,就這麼誕生了。
看來,歐洲國家因為他們的氣候(下大雪的冬天又或者是說,長假),經常出現一些令人驚豔的產品!

Read More