黑客是程式設計師的子集。
程式設計師在解決那些原先已經被解決過的問題。而黑客通常是在嘗試解決一些新的問題。
程式設計師是一種職業,而黑客是一種興趣。
程式設計師的工作有很多限制,而黑客可以盡情發揮。
程式設計師都想把自己說得更好,因為他們要推銷自己,而真正的黑客更謙虛,他們知道自己懂得還不夠多。
程式設計師是一種「職責」,需要的是對程式語言的使用,更希望儘快完成工作,而不是探尋為什麼要做這項工作。做一個程式設計師沒有什麼錯,但生活中有很多比編程更重要的事情。相反,黑客是一種「心態」,對技術有著極大的好奇,希望理解核心的工作原理,喜歡創造。嘗試理解如何工作,如何做得更好,如何讓事情做得特別。黑客就像藝術家或哲學家,同時有著科學工程的天賦,有很多「為什麼」和「為什麼不」。
程式設計師和黑客,就如同畫匠和藝術家,DIYer和工匠,教科書的方式和創新的方式。
程式設計師的目標是寫出程序,完成需求,而黑客是要讓程序為自己而用,滿足自身需求。
程式設計師和黑客都在寫代碼,只是黑客把不可能變為了可能。
程式設計師的代碼:
#ifndef __A_B___S__LIB_____2___ #include "mything3.h" #include "mything4.h #include "lib/bicycle.h" #include "lib/noodle.h" #endif #ifndef __A_B___S__LIB______4__ #include "mything1.h" #include "mything2.h" #include "lib/mything3.h" #include "lib/spaghetti.h" #endi
而黑客的代碼:
#include "myhack.c"
他們的代碼通常非常高效,但不被認可,因為人們根本看不懂。
出處:程序師