|
Aaron Griffin寫了一篇精彩的牢騷文章,主要是關(guān)于各種框架和它們能把程序員從主要業(yè)務(wù)編程中抽離出來的功能特征。概括一下他的主要論點,當你成為了一個“Rails程序員”,你使用的是一種易于理解但不通用的東西,它是從易于理解且通用的東西,如HTTP,SQL上抽象出來的一種東西。Rails上的知識是不通用的,如果你轉(zhuǎn)向使用一種新的框架,你只得扔掉你現(xiàn)在的技能。Rails和你的新框架上沒有交集的知識。
Aaron的論點有很多可以討論的,他干的不錯,我不想再總結(jié)了,你可以自己去閱讀一下。
但我要談一個小插曲。在文中,他說:
有太多太多太多的‘開發(fā)人員’喜歡愚蠢的把自己標榜為–“php程序員”或“Ruby程序員”或“C++程序員”–這毫無意義。編程語言只是一種工具。各自都有各自專長的問題領(lǐng)域。稱自己為“C程序員”就像是在說你是個“錘子木匠”,一個只會使用錘子的木匠。我們都知道這聽起來有多傻。
我想說的是,“這是在他所有的精彩觀點中一個明顯不對題,不合適的說法。”我覺得他比喻的問題的級別完全不對等,“C程序員”這個詞語所蘊含的知識和經(jīng)驗跟“錘子木匠”所表達的東西完全不在一個重量級上。如果我們要找相同級別的東西,我們可以找到一些跟這個行業(yè)工具相關(guān)的頭銜:起重機操作員,火車司機,數(shù)控設(shè)備操作員。
但這個問題并不重要。我同意Araon所說的人們把工具和任務(wù)混淆了。只做為一個工具專家,而不是任務(wù)專家,會使你在工作中有些偏跛。成為一個工具專家會使你在有工具使用時工作效率非常的高,但當你需要離開這個工具環(huán)境,或者更糟糕,需要使用其它的環(huán)境時,你就顯得有些無能為力了。
如果你不懂關(guān)系型數(shù)據(jù)庫和SQL(現(xiàn)行的標準語言),當你從ActiveRecord轉(zhuǎn)向LINQ時,你會發(fā)現(xiàn)那是相當?shù)耐纯啵驗槟阈枰贚INQ和ActiveRecord之間找映射關(guān)系,而不是從LINQ和SQL之間找。Aaron這點說的很對。
上面的段落中我認為把”C程序員”的稱呼和“錘子木匠”相比較有問題。我還發(fā)現(xiàn)了另外一個問題,這個問題使我更接近了Aaron的視角。我不認為編程語言是一種工具,我認為它是思想的記號。如果說我們有什么東西能和木工業(yè)做類比,我認為語言是編程建筑中的木材.
C不能比作錘子,C應(yīng)該是木頭。所以,一個C程序員應(yīng)該是個木匠。你精通所有木工上的技藝并不能表示你的技藝可以通用于處理電線電纜,光線鋪設(shè),或鋁制品。但對于做各種的木制品工作卻是足夠勝任的。
用于處理木材的工具就是我們用的IDE。如果你稱自己為一個“Eclipse程序員”,在不需要知道它在做自動編譯和自動反射,不知道如何使用git或SVN或不知道它的那些插件…的情況下你開發(fā)出來程序,那么,你就很像是個錘子木匠了。
我就是這么認為的。感謝Aaron。不錯的討論。
[英文出處]:Why I call myself a Javascript Programmer
it知識庫:為什么我要稱自己為Javascript程序員,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。