“只有大約5%的程序員能夠在編寫代碼時創造出藝術。其他95%一定是為了取得成功的科學家,不是藝術家。”  談及 " /> 欧美自拍电影,亚洲精品一线,日本欧美一二三区

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

編程:是一門藝術

圖片來源:accidentally in code

  1. 引言

"(program(computers) == *art) ? so : what"
“只有大約5%的程序員能夠在編寫代碼時創造出藝術。其他95%一定是為了取得成功的科學家,不是藝術家。”

  談及“藝術”,人們自然會聯想到“美”、“技藝”、“靈感”等詞,但很少會把它和“計算機編程”這聽起來似乎無趣的詞聯系在一起。而Donald Knuth,《計算機編程的藝術》多卷書的作者,通過他的著作,成功地展現了計算機編程的藝術。隨后他又在圖靈獎演說[1]中對計算機編程的藝術做了科學地論述和詮釋。他不是第一個這么做的人,但無疑他是最成功的一個。Guido van Rossum,Python的設計者,如是說:

“我同意Knuth對‘藝術’一詞的定義(或使用)。對于我來說,它和創造性聯系十分緊密,而這對于我的工作非常重要。如果(計算機編程)其中沒有藝術,它將沒有任何樂趣,而我也不會在30年之后仍然從事它。”

  編寫優美的程序需要靈感和高超的技巧,就像詩人寫詩,畫家作畫,建筑師構筑,充滿了樂趣、挑戰和美。優雅的程序會像詩歌一樣耐人尋味,像名畫那樣大開眼界,像教堂一樣堂皇華麗。所以,計算機編程也同樣是一門藝術,程序員就是創造這種藝術的藝術家。

  2. 編程之美

  什么樣的程序才是美的程序?這個問題似乎沒有完整的答案。一個很酷的Demo或一個很炫的視頻游戲都能讓我們贊嘆不已。Doom和Half Life可以說把3D技術推向了極至,這種程序總能給人一種視覺上的美,就像畫家手中的美麗油畫,只是程序員們的畫布在電腦屏幕上,畫筆是鍵盤。Linux也是一種美,一種開放的美,從Unix那里繼承來的優雅的設計,強大的可移植性,豐富的工具,這讓它看起來像優秀建筑師們設計的一座富麗堂皇的教堂。這些美是顯而易見的。還有一種美,隱藏在程序背后,流動于源代碼之中。什么又是美的代碼呢?可能它們一看上去就很美。這里有一個驚人的宏定義的C代碼集合[2]:允許程序建立常量,使它們看上去像是屏幕上的圖形!程序的自描述能力大大加強!

#define X )*2+1
#define _ )*2
#define s ((((((((((((((((0
static unsigned short stopwatch[] =
{
s _ _ _ _ _ X X X X X _ _ _ X X _ ,
s _ _ _ X X X X X X X X X _ X X X ,
s _ _ X X X _ _ _ _ _ X X X _ X X ,
s _ X X _ _ _ _ _ _ _ _ _ X X _ _ ,
s _ X X _ _ _ _ _ _ _ _ _ X X _ _ ,
s X X _ _ _ _ _ _ _ _ _ _ _ X X _ ,
s X X _ _ _ _ _ _ _ _ _ _ _ X X _ ,
s X X _ X X X X X _ _ _ _ _ X X _ ,
s X X _ _ _ _ _ X _ _ _ _ _ X X _ ,
s X X _ _ _ _ _ X _ _ _ _ _ X X _ ,
s _ X X _ _ _ _ X _ _ _ _ X X _ _ ,
s _ X X _ _ _ _ X _ _ _ _ X X _ _ ,
s _ _ X X X _ _ _ _ _ X X X _ _ _ ,
s _ _ _ X X X X X X X X X _ _ _ _ ,
s _ _ _ _ _ X X X X X _ _ _ _ _ _ ,
s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
};

it知識庫編程:是一門藝術,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 柯坪县| 博白县| 喀喇沁旗| 阿拉善左旗| 吴川市| 淮南市| 鄂伦春自治旗| 萨迦县| 鄂伦春自治旗| 阿图什市| 宜兴市| 和平县| 兴仁县| 安庆市| 大连市| 怀集县| 仲巴县| 江源县| 简阳市| 凌源市| 宝丰县| 花莲市| 永清县| 柘荣县| 怀化市| 勐海县| 永仁县| 古交市| 永仁县| 洛隆县| 同德县| 甘洛县| 尉犁县| 绥宁县| 社会| 新建县| 忻城县| 龙陵县| 承德市| 丹江口市| 家居|