I have successfully run your code after doing the following two steps:
Download GLPK from
http://sourceforge.net/projects/winglpk/files/latest/download (as mentioned by oyvind)
C:\glpk_is_here\
Add GLPK binaries to your system path before running python C:\>set PATH=%PATH%;C:\glpk_is_here\glpk-4.55\w64
Using the same cmd window from (3), use python/ipython to run your code:C:\>ipython your_code.py
See the results Out[4]: 2.0
Good luck.
原貼:http://www.cnblogs.com/ajunForNet/archive/2012/09/12/2682063.html
組長說在內網部署一個論壇,這可難不倒我,裝個Discuz嘛。
部署環境就一臺普通的PC,四核i3,Windows7。這就開搞了。
系統是Windows 7 專業版,自帶IIS7.5(家庭版不帶)。IIS7開始帶了FastCgi,對PHP支持好了許多,所以也不必裝Apache啦。
下載 PHP 5.4、 MySQL 5.5 以及Discuz X2。
對于IIS7 FastCgi,我們應當選擇VC9編譯的線程安全的版本。
解壓PHP,我給的路徑是C:\PHP,大伙兒隨意
把php.ini-production改名為php.ini(用于開發環境的話,就改那個development)
修改擴展路徑
extension_dir = "./ext"
啟用MySQL擴展(即去掉分號)
extension=php_MySQL.dll
修改時區
date.timezone=Asia/Shanghai
完了可以嘗試在命令行中執行以下PHP:
cd C:\PHP
php -v
可以看到php的版本信息,如果把dll文件不存在的擴展打開了的話,會有提示。
IIS容易對付,不過先得把確保這幾項已經裝上:
1、添加模塊映射
啟動IIS管理器,對服務器設置“處理程序映射”,”添加模塊映射“:
(圖)
注意,設置可執行文件路徑的時候,要選擇exe。
2、添加index.php為默認文檔
對服務器設置“默認文檔”,添加index.php
3、創建新站點
接著在創建一個新的站點,并創建一個目錄存放你的網站,C:\Forum
主機名填你想要綁定的域名,對于一臺服務器上有多個網站的情況,域名幾乎是必須的。
當然啦,內網的話,就改hosts隨便弄個上去吧。
4、設置程序池
去應用程序池,設置剛才創建的站點對應的程序池,把.Net framework版本設成無托管代碼。
重啟IIS,在網站目錄下放一個index.php,內容很簡單:
<?php phpinfo(); ?>
訪問網站,設置無誤的話應該能看到PHP的系統信息。
安裝MySQL挺容易的,按照Discuz給出的教程就可以了。
因為我下的是UTF8版本的Discuz,所以在選擇字符編碼那一步選的UTF8。
至于改數據庫目錄以及移動那個dll,看上去完全沒那個必要,我也就沒弄。
最煩的都搞定了,最后把安裝包里upload里面的東西都復制到網站目錄下,
訪問網站下的install目錄就能看到安裝界面
剩下的不用說了吧···
得記得安裝完了以后,進UCenter->全局->域名設置->應用域名,把論壇的域名給設好了,
否則論壇首頁就是個500
Over.
Python讀寫文件
1.open
使用open打開文件后一定要記得調用文件對象的close()方法。比如可以用try/finally語句來確保最后能關閉文件。
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
注:不能把open語句放在try塊里,因為當打開文件出現異常時,文件對象file_object無法執行close()方法。
2.讀文件
讀文本文件
input = open('data', 'r')
#第二個參數默認為r
input = open('data')
讀二進制文件
input = open('data', 'rb')
讀取所有內容
file_object = open('thefile.txt')
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
讀固定字節
file_object = open('abinfile', 'rb')
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )
讀每行
list_of_all_the_lines = file_object.readlines( )
如果文件是文本文件,還可以直接遍歷文件對象獲取每行:
for line in file_object:
process line
3.寫文件
寫文本文件
output = open('data', 'w')
寫二進制文件
output = open('data', 'wb')
追加寫文件
output = open('data', 'w+')
寫數據
file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )
寫入多行
file_object.writelines(list_of_text_strings)
注意,調用writelines寫入多行在性能上會比使用write一次性寫入要高。
在處理日志文件的時候,常常會遇到這樣的情況:日志文件巨大,不可能一次性把整個文件讀入到內存中進行處理,例如需要在一臺物理內存為 2GB 的機器上處理一個 2GB 的日志文件,我們可能希望每次只處理其中 200MB 的內容。
在 Python 中,內置的 File 對象直接提供了一個 readlines(sizehint) 函數來完成這樣的事情。以下面的代碼為例:
file = open('test.log', 'r')sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - position < 0: position = file.tell() lines = file.readlines(sizehint)
每次調用 readlines(sizehint) 函數,會返回大約 200MB 的數據,而且所返回的必然都是完整的行數據,大多數情況下,返回的數據的字節數會稍微比 sizehint 指定的值大一點(除最后一次調用 readlines(sizehint) 函數的時候)。通常情況下,Python 會自動將用戶指定的 sizehint 的值調整成內部緩存大小的整數倍。
file在python是一個特殊的類型,它用于在python程序中對外部的文件進行操作。在python中一切都是對象,file也不例外,file有file的方法和屬性。下面先來看如何創建一個file對象:
file(name[, mode[, buffering]])
file()函數用于創建一個file對象,它有一個別名叫open(),可能更形象一些,它們是內置函數。來看看它的參數。它參數都是以字符串的形式傳遞的。name是文件的名字。
mode是打開的模式,可選的值為r w a U,分別代表讀(默認) 寫 添加支持各種換行符的模式。用w或a模式打開文件的話,如果文件不存在,那么就自動創建。此外,用w模式打開一個已經存在的文件時,原有文件的內容會被清空,因為一開始文件的操作的標記是在文件的開頭的,這時候進行寫操作,無疑會把原有的內容給抹掉。由于歷史的原因,換行符在不同的系統中有不同模式,比如在 unix中是一個\n,而在windows中是‘\r\n’,用U模式打開文件,就是支持所有的換行模式,也就說‘\r’ '\n' '\r\n'都可表示換行,會有一個tuple用來存貯這個文件中用到過的換行符。不過,雖說換行有多種模式,讀到python中統一用\n代替。在模式字符的后面,還可以加上+ b t這兩種標識,分別表示可以對文件同時進行讀寫操作和用二進制模式、文本模式(默認)打開文件。
buffering如果為0表示不進行緩沖;如果為1表示進行“行緩沖“;如果是一個大于1的數表示緩沖區的大小,應該是以字節為單位的。
file對象有自己的屬性和方法。先來看看file的屬性。
closed #標記文件是否已經關閉,由close()改寫
encoding #文件編碼
mode #打開模式
name #文件名
newlines #文件中用到的換行模式,是一個tuple
softspace #boolean型,一般為0,據說用于print
file的讀寫方法:
F.read([size]) #size為讀取的長度,以byte為單位
F.readline([size])
#讀一行,如果定義了size,有可能返回的只是一行的一部分
F.readlines([size])
#把文件每一行作為一個list的一個成員,并返回這個list。其實它的內部是通過循環調用readline()來實現的。如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
F.write(str)
#把str寫到文件中,write()并不會在str后加上一個換行符
F.writelines(seq)
#把seq的內容全部寫到文件中。這個函數也只是忠實地寫入,不會在每行后面加上任何東西。
file的其他方法:
F.close()
#關閉文件。python會在一個文件不用后自動關閉文件,不過這一功能沒有保證,最好還是養成自己關閉的習慣。如果一個文件在關閉后還對其進行操作會產生ValueError
F.flush()
#把緩沖區的內容寫入硬盤
F.fileno()
#返回一個長整型的”文件標簽“
F.isatty()
#文件是否是一個終端設備文件(unix系統中的)
F.tell()
#返回文件操作標記的當前位置,以文件的開頭為原點
F.next()
#返回下一行,并將文件操作標記位移到下一行。把一個file用于for ... in file這樣的語句時,就是調用next()函數來實現遍歷的。
F.seek(offset[,whence])
#將文件打操作標記移到offset的位置。這個offset一般是相對于文件的開頭來計算的,一般為正數。但如果提供了whence參數就不一定了,whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以文件末尾為原點進行計算。需要注意,如果文件以a或a+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾。
F.truncate([size])
#把文件裁成規定的大小,默認的是裁到當前文件操作標記的位置。如果size比文件的大小還要大,依據系統的不同可能是不改變文件,也可能是用0把文件補到相應的大小,也可能是以一些隨機的內容加上去。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/adupt/archive/2009/08/11/4435615.aspx
linux 下的iconv命令可以把Windows默認GBK編碼的文件轉成Linux下用的UTF-8編碼。
Example: $ iconv -f GBK -t UTF-8 file_name -o file_name
1. 安裝命令行版的texlive: sudo apt-get install texlive-full
2. 安裝一個比較有幫助性的編輯器: sudo apt-get install texmaker
3. 安裝中文環境: sudo apt-get install latex-cjk-all
A useful webiste http://chixi.an.blog.163.com/blog/static/29359272201262952120729/
To install/upgrade to TeX Live 2012:
Add the texlive-backports PPA by typing the below (enter your password when prompted):
sudo apt-add-repository ppa:texlive-backports/ppa
Then type:
sudo apt-get update
Installation:
If you are installing TeX Live for the first time, type:
sudo apt-get install texlive
If you already have TeX Live installed and are upgrading, type:
sudo apt-get upgrade
Warning: this will also upgrade all other packages on your Ubuntu system for which upgrades are available. If you do not wish to do this, please use the previous sudo apt-get install texlive
instead.
轉自:http://blog.csdn.net/lsg32/article/details/8058491
【招聘須知】 Facebook正在全球招聘,對中國頂尖大學的Engineering專業學生尤其歡迎。 具體職位信息可以在https://www.facebook.com/careers上找到,申請的時候一般都是選 擇Software Engineer (University Recruiting),Facebook的制度是并不預先定向你去 哪個組。在入職的第一個月統一進行培訓,培訓結束的兩周后進行統一的Team Selectio n,每個組的大Manager過來將自己的組做的東西,你可以和感興趣的組聊,雙向選擇后最 終決定去哪里。所以是很自由的文化,決定你去哪里的最重要的是Potential,而不是你 已經在這個area的experience,這也是FB的文化,希望培養每個Engineer成為多面手,對 任何問題的Fast learner。 【基本要求】 專業不限要求有限,可以分成兩個類,看看你符合哪一類 1. 第一類: - ACM/ICPC 區域銀牌以上,或者在大型比賽上得過不錯的名次(前15%),這里大型比賽 指包括NOIP, NOI, APOI,省級選拔賽,Topcoder, Google Code Jam, 百度之星,有道難 題等等 - 在以下公司有過實習經驗:Google, Microsoft Research Asia, Hulu, EMC/VMware, Microstrategy (這些公司只是在經驗范圍內實習生非常靠譜,并沒有對其他公司不尊重 的意思,只是接觸的不多而已,見諒) - 本科成績年級前10%,核心課程算法,數據結構,C++,離散,組合數學等等絕大部分為 優秀 - 頂級會議上發表一二作論文,頂級會議的定義是專業領域內公認的大會,例如IR/ML領 域的SIGIR, ICML, WWW, ICDM等等 以上符合任意一條的話,請聯系我 2. 第二類: - <Crack the Coding Interview> 從頭到尾詳細閱讀并且做完所有的例題和習題 - www.leetcode.com 全部做完所有的題 符合以上所有條件的,請聯系我,附上代碼 PS: CTCI書課后有答案,leetcode網上有不錯的人做了發表,比如 https://github.com/zwxxx/LeetCode https://github.com/anson627/leetcode 做的時候請不要參考,做完以后可以和參考答案對比改進,直接抄答案是沒有意義的,答 案只是幫你提高的工具。對于代碼的要求是,寫的塊,風格簡潔,易于理解 【聯系方式】 請發郵件到郵箱zhangchitc@gmail.com,附上簡單的自我介紹,并著名是符合上述哪些要 求,如果第二類請用zip壓縮包打包代碼附在附件中 BTW: 第一類滿足的話最終還是要將第二類里面的材料全部做了的。。。。 【面試過程】 職位都是美國總部,不排除可能外派海外Site,不過基本應該都是前者。在推薦以后一 周之內應該總部會安排工程師使用skype進行2到3輪電話面試,通過以后提供機票到美國 進行onsite面試。3到5輪不等。基本都是算法面試,在白板上寫程序。全程英文,不需要 英語標準考試成績,但是對基本的聽力和口語要求比較高,要能自由和工程師進行交流, 語法有問題的可以完全不用擔心 住宿和交通費用全包。 【注意事項】 - 理論上是可以推實習的,不過對中國學生來講實習不是很現實,本科生太忙,研究生完 全2、3個月在外面導師應該說不過去 - 基本沒有deadline,全年都可以聯系我,但是考慮到大陸學生過去的H1B簽證申請,如 果拿到offer需要在每年4月前遞交申請,所以最晚開始面試應該是2月,越快申請越好 - 因為FB在中國沒有公開的招聘渠道,所以請不要傳播本帖(雖然知道基本是白說,但是 希望至少本校的同學不要傳播出去)招聘的細節我不能說太多,接觸以后可以聊 - 滿足條件就請大膽申請,在整個過程中我都可以為大家提供幫助和建議。根據HR的反饋 來看本人的推薦還是挺靠譜的,目前為止有7位同學通過我的推薦成功拿到了offer,目測 很快在一周之內會達到10個
轉載自:cool shell,作者:陳皓
From:http://coolshell.cn/articles/7992.html
先說明一下,我不希望本文變成語言爭論貼。希望下面的文章能讓我們客觀理性地了解C++這個語言。(另,我覺得技術爭論不要停留在非黑即白的二元價值觀上,這樣爭論無非就是比誰的嗓門大,比哪一方的觀點強,毫無價值。我們應該多看看技術是怎么演進的,怎么取舍的。)
周五的時候,我在我的微博上發了一個貼說了一下一個網友給我發來的C++程序的規范和內存管理寫的不是很好(后來我刪除了,因為當事人要求),我并非批判,只是想說明其實程序員是需要一些“疫苗”的,并以此想開一個“程序員疫苗的網站”,結果,@簡悅云風同學直接回復到:“不要用 C++ 直接用 C , 就沒那么多坑了。”就把這個事帶入了語言之爭。
我又發了一條微博:
@左耳朵耗子 : 說C++比C的坑更多的人我可以理解,但理性地思考一下。C語言的坑也不少啊,如果說C語言有90個坑,那么C++就是100個坑(另,我看很多人都把C語言上的坑也歸到了C++上來),但是C++你得到的東西更多,封裝,多態,繼承擴展,泛型編程,智能指針,……,你得到了500%東西,但卻只多了10%的坑,多值啊。
結果引來了更多的回復(只節選了一些言論):
那么,C++的坑真的多么?我還請大家理性地思考一下。
我們先來看一個圖——《各種程序員的嘴臟的對比》,從這個圖上看,C程序員比C++的程序員在注釋中使用fuck的字眼多一倍。這說明了什么?我個人覺得這說明C程序員沒有C++程序員淡定。
不要太糾結上圖,只是輕松一下,我沒那么無聊,讓我們來看點真正的論據。
相信用過C++的程序員知道,C++的很多特性主要就是解決C語言中的各種不完美和缺陷:(注:C89、C99中許多的改進正是從C++中所引進的)
上述的這些東西填了不知有多少的C語言編程和維護的坑。少用指針,多用引用,試試autoptr,用用封裝,繼承,多態和函數重載…… 你面對的坑只會比C少,不會多。
C++的坑真的不多,如果你能花兩到三周的時候讀一下《Effecitve C++》里的那50多個條款,你就知道C++里的坑并不多,而且,有很多條款告訴我們C++是怎么解決C的坑的。然后,你可以讀讀《Exceptional C++》和《More Exceptional C++》,你可以了解一下C++各種問題的解決方法和一些常見的經典錯誤。
當然,C++在解決了很多C語的坑的同時,也因為OO和泛型又引入了一些坑。消一些,加一些,我個人感覺上總體上只比C多10%左右吧。但是你有了開發速度更快,代碼更易讀,更易維護的500%的利益。
另外,不可否認的是,C++中的代碼出了錯誤,有時候很難搞,而且似乎用C++的人會覺得C++更容易出錯?我覺得主要是下面幾個原因:
另外,C++的編譯對標準C++的實現各異,支持地也千差萬別,所以會有一些比較奇怪的問題,但是如果你一般用用C++的封裝,繼承,多態,以及namespace,const, refernece, inline, templete, overloap, autoptr,還有一些OO 模式,并不會出現奇怪的問題。
而對于STL中的各種坑,我覺得是程序員們還對GP(泛型編程)理解得還不夠,STL是泛型編程的頂級實踐!屬于是大師級的作品,一般人很難理解。必需承認STL寫出來的代碼和編譯錯誤的確相當復雜晦澀,太難懂了。這也是C++的一個詬病。
這和Linus說的一樣 —— “C++是一門很恐怖的語言,而比它更恐怖的是很多不合格的程序員在使用著它”。注意我飄紅了“很多不合格的程序員”!
我覺得C++并不適合初級程序員使用,C++只適合高級程序員使用(參看《21天學好C++》和《C++學習自信心曲線》),正如《Why C++》中說的,C++適合那些對開發維護效率和系統性能同時關注的高級程序員使用。
這就好像飛機一樣,開飛機很難,開飛機要注意的東西太多太多,對駕駛員的要求很高,但你不能說飛機這個工具很爛,開飛機的坑太多。(注:我這里并不是說C++是飛機,C是汽車,C++和C的差距,比飛機到汽車的差距少太多太多,這里主要是類比,我們對待C++語言的心態!)
理解C++設計的最佳讀本是《C++演化和設計》,在這本書中Stroustrup說了些事:
1)Stroustrup對C是非常欣賞,實際上早期C++許多的工作是對于C的強化和凈化,并把完全兼容C作為強制性要求。C89、C99中許多的改進正是從C++中所引進。可見,Stroustrup對C語言的貢獻非常之大。今天不管你對C++怎么看,C++的確擴展和進化了C,對C造成了深遠的影響。
2)Stroustrup對于C的抱怨主要來源于兩個方面——在C++兼容C的過程中遇到了不少設計實現上的麻煩;以及守舊的K&R C程序員對Stroustrup的批評。很多人說C++的惡夢就是要去兼容于C,這并不無道理(Java就干的比C++徹底得多),但這并不是Stroustrup考慮的,Stroustrup一邊在使盡渾身解數來兼容C,另一方面在拼命地優化C。
3)Stroustrup在書中直接說,C++最大的競爭對手正是C,他的目的就是——C能做到的,C++也必須做到,而且要做的更好。大家覺得是不是做到了?有多少做到了,有多少還沒有做到?
4)對于同時關注的運行效率和開發效率的程序員,Stroustrup多次強調C++的目標是——“在保證效率與C語言相當的情況下,加強程序的組織性;能保證同樣功能的程序,C++更短小”,這正是淺封裝的核心思想。而不是過渡設計的OO。(參看:面向對象是個騙局)
5)這本書中舉了很多例子來回應那些批評C++有運行性能問題的人。C++在其第二個版本中,引入了虛函數機制,這是C++效率最大的瓶頸了,但我個人認為虛函數就是多了一次加法運算,但讓我們的代碼能有更好的組織,極大增加了程序的閱讀和降底了維護成本。(注:Lippman的《深入探索C++對象模型》也說明了C++不比C的程序在運行性能低。Bruce的《Think in C++》也說C++和C的性能相差只有5%)
6)這本書中還講了一些C++的痛苦的取舍,印象最深的就是多重繼承,提出,拿掉,再被提出,反復很多次,大家在得與失中不斷地辯論和取舍。這個過程讓我最大的收獲是——a) 對于任何一種設計都有好有壞,都只能偏重一方,b) 完全否定式的批評是不好的心態,好的心態應該是建設性地批評。
我先說說我學C++的經歷。
我畢業時,是直接從C跳過C++學Java的,但是學Java的時候,不知道為什么Java要設計成這樣,只好回頭看C++,結果學C++的時候又有很多不懂,又只得回頭看C,最后發現,C -> C++ -> Java的過程,就是C++填C的坑,Java填C++的坑的過程。
注,下面這些東西可以看到Java在填C/C++坑:
當然時代還在前進,這個演變的過程還在C#和Go上體現著。不過我學習了C -> C++ -> Java這個填坑演進的過程,讓我明白了很多東西:
我從這個學習過程中得到的最大的收獲不是語言本身,而是各式各樣的編程技術和方法,和技術的演進的過程,這比語言本身更重要!(在這個角度上學習,你看到的不是一個又一個的坑,你看到的是——各式各樣讓你可以爬得更高的梯子)
我對C++的感情有三個過程:先是喜歡地要死,然后是恨地要死,現在的又愛又恨,愛的是這個語言,恨的是很多不合格的人在濫用和凌辱它。
C++語言發展大概可以分為三個階段(摘自Wikipedia):
在《Why C++? 王者歸來》中說了 ,性能主要就是要省電,省電就是省錢,在數據中心還不明顯,在手機上就更明顯了,這就是為什么Android 支持C++的原因。所以,在NB的電池或是能源出現之前,如果你需要注重程序的運行性能和開發效率,并更關注程序的運性能,那么,應該首選 C++。這就是iOS開發也支持C++的原因。
今天的C++11中不但有更多更不錯的東西,而且,還填了更多原來C++的坑。(參看:C++11 Wiki,C++ 11的主要特性)
最后,非常感謝能和“@簡悅云風”,“@淘寶諸霸”,“@Laruence”一起討論這個問題!無論你們的觀點怎么樣,我都和你們“在一起”,嘿嘿嘿……
(全文完)
轉載Cool Shell,作者:陳皓
From:http://coolshell.cn/articles/2250.html
下面是一個《Teach Yourself C++ in 21 Days》的流程圖,請各位程序員同仁認真領會。如果有必要,你可以查看這個圖書以作參照:http://www.china-pub.com/27043
看完上面這個圖片,我在想,我學習C++有12年了,好像C++也沒有學得特別懂,看到STL和泛型,還是很頭大。不過,我應該去考慮研究量子物理和生物化學,這樣,我才能重返98年殺掉還在大學的我,然后達到21天搞定C++的目標。另外,得要特別提醒剛剛開始學習C++的朋友,第21天的時候,小心被人殺害。呵呵。
當然,上面只是一個惡搞此類圖片,學習一門技術,需要你很長的時間,正如圖片中的第三圖和第四圖所示,你需要用十年的時間去不斷在嘗試,并在錯誤中總結經驗教訓,以及在項目開發中通過與別人相互溝通互相學習來歷練自己。你才能算得上是真正學會。
這里有篇文章叫《Teach Yourself Programming in Ten Years》,網上有人翻譯了一下,不過原文已被更新了,我把網上的譯文轉載并更新如下:
在這三個小組中的每一個人基本上都是從相同的時間開始練習的(在五歲的時候)。在開始的幾年里,每個人都是每周練習2-3個小時。但是在八歲的時候,練習的強度開始顯現差異。在這個班中水平最牛的人開始比別人練習得更多——在九歲的時候每周練習6個小時,十二歲的時候,每周8個小時,十四歲的時候每周16個小時,并在成長過程中練習得越來越多,到20歲的時候,其每周練習可超過30個小時。到了20歲,這些優秀者在其生命中練習音樂總共超過 10,000 小時。與之對比,其它人只平均有8,000小時,而未來只能留校當老師的人僅僅是4,000 小時。
抱著這些想法,我很懷疑從書上到底能學到多少東西。在我第一個孩子出生前,我讀完了所有“怎樣……”的書,卻仍然感到自己是個茫無頭緒的新手。30個月后,我第二個孩子出生的時候,我重新拿起那些書來復習了嗎?不。相反,我依靠我自己的經驗,結果比專家寫的幾千頁東西更有用更靠得住。
Fred Brooks在他的短文《No Silver Bullets》(沒有銀彈)中確立了如何發現杰出的軟件設計者的三步規劃:
這實際上是假定了有些人本身就具有成為杰出設計師的必要潛質;要做的只是引導他們前進。Alan Perlis說得更簡潔:“每個人都可以被教授如何雕塑;而對米開朗基羅來說,能教給他的倒是怎樣能夠不去雕塑。杰出的程序員也一樣”。
所以盡管去買那些Java書;你很可能會從中找到些用處。但你的生活,或者你作為程序員的真正的專業技術,并不會因此在24小時、24天甚至24個月內發生真正的變化。
(全文完)