Home Contact Sitemap

Team Programming Dragon.編程龍

Programming Art、C++、Python、Django、LinuxDev、HCI、Graphics、Web2.0。讓我們成為編程界的朝田龍太郎吧。

Beauty is Our Business

A Birthday Salute to Computer Scientist Edsger W. Dijkstra.

半瓶醋的 C++ 教學(第六章):開源流萬世一系不敗經典 Hello World 實作

基本上到目前為止好像都在閒聊(汗),還是讓我們進入實際操作吧,在這邊我們寫一支編程界的經典 Hello World 出來。

Hello World 本質上是一支連玩具都稱不上的程式,但透過寫作,她可以讓我們了解編程的最基本流程,並確認環境設定無誤。我記得自己剛開始編程的時候對環境的設定反而比較苦手,不知道什麼部分該用什麼,不然就是知道該用什麼卻必須一直辜狗;相較之下,語法的部分一開始超簡單,看看書沒兩下就懂了,所以在這邊,如同第零章所述,我想補的是一般書籍的不足,語法部分就請大家在第一章的推薦書籍之中自修一下。

首先在第四章我們提過了編程環境的選擇,當中我推薦用開源環境來編程,所以在這邊我介紹的是開源流的編程方式,M$ 流的也不難,基本上就是想辦法搞到一片 VC(到底有多少人用正版的?科科),打上 Hello World 再按某個鈕就好了,非常簡單,兩者的差異大致上就像自排車手排車一樣。自排車好開,但要充份享受駕馭極速機器的快感唯有手排,沒有人開藍寶基尼在開自排的吧?

OK,咱們開始吧。

Tags: , , , , , , ,

. 14 Oct 08 | C++ | Comments (0)

半瓶醋的 C++ 教學(第五章):編程語言的軍團論

編程界裡面有許多爭論不休的話題。語言之爭是最主要之一。就像宗教有各種流派一樣,信或不信有時只是個人價值觀,這種爭論說起來就跟宗教戰爭沒什麼兩樣。

我自己的看法是這樣,就像一個專業的投手需要配球一樣,一個專業的 programmer 也至少需要兩種以上用起來順手的語言。用軍隊來比喻或許更為恰當。一支現代化的軍隊不可能只有步兵,也不可能只有重裝甲部隊。根據戰略戰術需求的不同,在兵種之間取得適當的平衡,才能讓戰力達到最大化。但兵種之間,比方說,戰機到底要裝備蘇系的 SU-27 還是美系的 F-22 就看各人喜好了。只要記得在這個講究制空權的時代,買戰艦的時候別去買到過時的巨大戰列艦大和號就好。

Tags: , ,

. 31 Aug 08 | C++ | Comments (2)

半瓶醋的 C++ 教學(第四章):編程環境的選擇

之前在第三章曾經提到,越接近數學的內力不容易隨時間而改變,但作為外功的程式或系統工具則會,那麼,我們該如何儘量讓自己的外功能夠歷久恒新呢?

很直覺的,當然就是選用較不會過時的工具。而工具要能夠在變化萬千的編程界中不被時間所淘汰,固然本身素質要好,另外,我認為最重要的其中一個環節就是,開放。雖然這應該很直覺,不過還是稍加解釋一下好了…

如果今天某工具某 framework 是知名大廠所提倡的,或許在這大廠能夠予以支援的狀況下是還滿不錯用的,但是天有不測風雲啊,再怎麼大的公司總也有收攤的一天…就算沒有收攤好了,也許是公司的政策改變了,要改推另一個工具,那麼這時候無論是開發者的使用順手度,還是市場的接受度(你知道,麻瓜常常都是看哪個廣告多就用哪個,但我們巫師要有巫師的衿持),都難免急轉直下。因為他不開放,沒人搞得懂裡面在幹嘛,所以不會有社群的力量,同理,你也搞不懂,就算你再強想自己硬幹也沒辦法,除非重新寫一個。

甚至不要說收攤或是什麼行銷政策了,光講某M社的 IDE,常常出一個新的版本舊的版本的 code 就不能用了,這種愚蠢的事情我真想不透為什麼有人能夠接受…

Tags: , , , , ,

. 27 Aug 08 | C++, Linux | Comments (2)

半瓶醋的 C++ 教學(第三章):程序員的內力與外功

很多人都曾經提出過這樣的比喻:程序員的功力之中,大致上可以分為內力以及外功。

Tags: ,

. 10 Jul 08 | C++ | Comment (1)

半瓶醋的 C++ 教學(第二章):何謂編程,與其魔幻性

常有人說電腦是人類的僕人,雖然我比較傾向於像大空翼一樣稱電腦為朋友啦,不過反正就是這麼一回事。然而不管你稱他僕人還是朋友,電腦某種程度來講就是笨。你可以說他很聰明,可以在很短的時間內作出大量的計算,但他笨的地方就在於他只認得 0101001 這類的 binary code(是故又稱 machine code)。

所以為了遷就我們的朋友,我們只好也跟著用 binary code 來溝通,就像家裡如果有老人家我們常常會用台語一樣。這種用機器能夠了解的語言來溝通的過程,我們稱作「編程」(Programming)(中譯部分,編程主要是大陸系的用語,但我個人覺得「寫程式」太過白話,所以傾向用這個詞,個人偏好而已)。而用以溝通的語言則稱作「程式語言」(Programming Language)

Tags: ,

. 12 Jun 08 | C++ | Comments (0)

半瓶醋的 C++ 教學(第一章.裏):Reading List

以下是進階區。入門者可以心裡先有個底就好,等級到了再來看這些書籍。但我之所以要列就是覺得中文世界似乎還不太多人分享所謂的 recommended reading。類似國外 blogger 如 Coding HorrorRecommended Reading 或是 Joel on SoftwareBook Reviews,我覺得很值得花些時間列一下給大家參考。

Tags: ,

. 28 May 08 | C++ | Comments (5)

半瓶醋的 C++ 教學(第一章.表):Reading List

既然本教學認為能夠在書上網路上找到的就從那裡找,這邊是建立正確觀念以及進行給予入門的引導以及 C++ 的巨觀,那是目前的書籍尚未能著墨的,因此,我們當然應該先列出究竟有什麼東西是可以在書上網路上找到的。

首先我建議初學者如果有心想要學好 C++,一定要擺一本書在手邊。網路上的資源固然多,但通常是屬於給你查某特定 function 或特定一支 library 的用法的,而不是從頭帶你。也有一些 tutorial 沒錯,不過基本上還沒有看過能夠如書一般既深且廣的。(但是如果只是想先瞧瞧 C++ 長個什麼樣子想要有個概念,那當然不必了,敝站很可能就是您最好的選擇,請參閱第二章何為編程、為什麼需要編程、第三章編程語言的選擇,在這裡我們講解 C++ 與其他語言的比較,並說明為什麼學 C++,第四章提到 Porgrammer 的自我修鍊,建議您可以看完以上三章,並在第五章跟著我們 step by step 一起撰寫您的第一支 program 之後再考慮是否要繼續深入學習)

Tags: ,

. 27 May 08 | C++ | Comments (3)

半瓶醋的 C++ 教學(第零章):前言

緣起:
在下絕對稱不上一個強者。但強者通常都忙於開創偉大的事業,小弟剛好有這個機會能夠把所學整理一下,雖然不強,卻有很多想法,正好印證了「半瓶醋響叮噹」這句俗話,這也就是這 title 的由來。

Do’s and Don’ts:
我們不企圖成為《C++ Primer》或是《The C++ Programming Language》的網路版本,一來是坊間已經有許多書籍在做類似的事情,二來即便是網路上其實也已經有許多很不錯的 tutorial 了,我會將我覺得不錯的整理起來,但不會做那種重造輪子的事情…

Tags: ,

. 23 May 08 | C++ | Comment (1)