程序員水平分級 你屬于哪一類(lèi)?

發(fā)布時(shí)間:2012-2-15 13:35    發(fā)布者:1770309616
關(guān)鍵詞: 程序員 , 水平分級
近日,whattofix.com 刊登了一篇 Daniel Markham 的文章《What Level Programmer Are You?》,文內將參差不齊的程序員按照技術(shù)水平分為從“只讀”到“上帝”,共十一個(gè)階段,以幫助廣大程序員找到自身定位并從中發(fā)現自己發(fā)展方向。以下是文章摘要:隨著(zhù)技術(shù)發(fā)展,編程悄然融入了我們的生活。我們已然離不開(kāi)那些程序和編程語(yǔ)言。很多人都在不同程度地談?wù)撝?zhù)如何編程,而且也誕生出很多編程語(yǔ)言排行。那么程序員到底應該如何分級呢?

首先要明白什么是程序員?設計自己的 Apache Web 服務(wù)器的家伙?制作一個(gè)復雜的 Excel 電子表格的家伙?能自己開(kāi)發(fā) RPG 的家伙?Minecraft 的玩家?這些都屬于程序員的哪一個(gè)級別呢?當我們說(shuō):“每個(gè)人都需要了解編程”,這句話(huà)意味著(zhù)什么?

所以,我們需要制定一個(gè)程序員的等級,以便讓程序員們了解自己所處的環(huán)境和發(fā)展方向。

Level 1,只讀——這些人了解如何設置 Web 服務(wù)器的方法,在普通情況下能夠通過(guò)配置方式獲取工作所需要的東西。作為基礎他們知道如何使用文本編輯器和文件系統,還擁有移動(dòng)和操作文件的能力,如 ZIP 和 FTP。也能在結構中使用抽象符號,解析方式以及系統技能。



Level 2,腳本——能夠編寫(xiě)線(xiàn)性腳本告訴電腦要做什么,能夠學(xué)習和使用自己的符號。如果有足夠的時(shí)間和書(shū)面指導,他們可以使用 bash 或是 VB 編寫(xiě)一些簡(jiǎn)單腳本,為自己做些實(shí)用的事情。

Level 3,管理員——這些人了解庫和 API,并有能力學(xué)習更多。他們知道不管使用什么腳本語(yǔ)言都都需要連接庫。如果他們遇到問(wèn)題,可以通過(guò)閱讀使用手冊解決,或是在網(wǎng)上搜索庫并利用找到的結果。在工作中他能夠發(fā)現或是開(kāi)發(fā)自己的符號(使用 struct 編寫(xiě)函數或是聲明)。大多數系統程序員都處在這個(gè)等級階段,Excel 的初級宏系統用戶(hù)也同樣處在這個(gè)階段。

Level 4,Object-Dot-Method——剛開(kāi)始學(xué)習 coupling 和 cohesion,他們著(zhù)手組織自己的腳本面對公共對象、私有成員和方法。這里有六周編程奇跡,介紹 .NET 程序員。這些人能玩轉導向,了解庫和構建類(lèi)。如果不使用類(lèi),他們也能夠創(chuàng )建自己的模塊或是代碼文件。高級腳本用戶(hù)可遠不止這樣。有一些高級 Excel 商店和股票經(jīng)紀,他們使用自己 VBA 作為基礎代碼,而沒(méi)有意識到自己處于這個(gè)級別。

Level 5,多重框架——一旦上升到這個(gè)級別,將會(huì )遇到各種各樣的麻煩。常見(jiàn)編程下一階段就是能夠使用多重框架。這些人可以編寫(xiě)C#,但也知道如何創(chuàng )建表格和編寫(xiě) SQL 語(yǔ)句;可以編寫(xiě)C,同時(shí)也會(huì )使用 JavaScript 和 HTML。這兩個(gè)技能并不代表他們就是大師,只是要學(xué)會(huì )在理解同一個(gè)問(wèn)題上,需要通過(guò)多種不同的方式來(lái)找尋答案。

Level 6,初級建筑師——這階段的人才算是真正的從事編程工作。他們每天的工作就是要深入了解庫和 API。并不是要求他們必須記住這些,但是要了解用不同的模式去實(shí)現自己的目標。想要在 Win32 中繪制?可能需要一些 GDI 資源句柄。他們知道句柄是在系統表某處的一個(gè) UInt32 hash——常見(jiàn)的 Win32 范例。想在自己的庫中添加 JQuery?新庫里有很多格式,他們應該知道怎么做并且能解釋其工作方式。與此同時(shí),也要開(kāi)始學(xué)習如何重構自己的代碼并突顯亮點(diǎn),增強其代碼的質(zhì)量,慢慢的你會(huì )理解。

Level 7,資深架構師——他們的時(shí)間是用來(lái)創(chuàng )建自己的 API,平臺或是庫。也許這是一個(gè)大項目的必需品,也許只是他們個(gè)人想把自己的學(xué)識推廣出去。他們開(kāi)發(fā)的系統為用戶(hù)解決實(shí)際問(wèn)題,所面對的受眾群是 Level 5 程序員。在這個(gè)階段需要深入 OOAD,模板和實(shí)踐。我們大多數人在剛開(kāi)始都會(huì )搞得一團糟,不能理解怎么用更加簡(jiǎn)單的方法將復雜事情簡(jiǎn)易化。這個(gè)階段需要歷經(jīng)很長(cháng)時(shí)間,需要不斷修正錯誤,開(kāi)發(fā)高質(zhì)量的系統并創(chuàng )建更復雜、靈活性高的庫。當他們從外面接受幾個(gè)月的特定培訓回來(lái),肯定希望團隊其他人都能理解他做了什么。

Level 8,Meta——在某些時(shí)候,希望這些人能意識到大量復雜信息投入結構和構架中可以更好地形容特定域的語(yǔ)言,其受眾群體是 Level 4 程序員。代碼的復雜性增大,就能減少代碼的數量,DSL 開(kāi)放可以將代碼展示到各種地方?傊,他們將成為程序員使用腳本語(yǔ)言方面的作家。通過(guò)易于使用的腳本和導向將他們的系統開(kāi)放給初學(xué)者?梢苑謩e學(xué)習這些技能,但大多數情況是在復雜的結構后,最終走向 DSL 的道路。很快就能看到最初規模:利用自己編寫(xiě)的 DSL 能夠很好的理解問(wèn)題。

Level 9,Functional Nirvana——慢慢接近獎金,他們要開(kāi)始學(xué)習如何編寫(xiě)功能規劃。其受眾群是 Level 3 的程序員。FP 是必不可少的,幫助他們輕松的脫離 DSL,并能夠大幅度減少代碼數量來(lái)解決問(wèn)題,同時(shí)擁有較高的擴展性。某些函數式編程語(yǔ)言在系統運行時(shí)可以 hot–swap,慢慢就會(huì )感覺(jué)到已經(jīng)接近先進(jìn)水平。FP 是一切問(wèn)題的答案。雖然 FP 可以減少 BUG,提升開(kāi)發(fā)效率,但代碼也相對來(lái)說(shuō)很難學(xué)。程序員的腦海里需要時(shí)刻記憶很多東西——他們必須要記住繁瑣的復雜符號。但是,結根到底 FP 只是道路上的一個(gè)階段,很多類(lèi)似 OOAD。

Level 10,面向語(yǔ)言設計師——他們查看所有新創(chuàng )建的編程語(yǔ)言程序。惟一的區別是新語(yǔ)言應該做什么。他們了解如何開(kāi)發(fā)面向對象語(yǔ)言,語(yǔ)言功能和腳本語(yǔ)言,知道每一個(gè)語(yǔ)言在何時(shí)何地的用途。其受眾群是 Level 2 程序員。他們對每一個(gè)項目都會(huì )問(wèn):“這個(gè)項目我們需要什么樣的語(yǔ)言?”在項目完結后他們將會(huì )得到一個(gè)很好的工具,既解決了問(wèn)題并易于理解還擴展了入門(mén)級程序員。大多數項目不需要面向語(yǔ)言設計師。

上帝級別,計算機科學(xué)家——要么就是編程的頂峰要么就不存在,這個(gè)取決于自己的觀(guān)點(diǎn)。這個(gè)就是科學(xué)規劃,在里面有很多很酷的東西。任何一個(gè)人都是其受眾群體。但重點(diǎn)不是在于做人們想要的東西,而是促進(jìn)學(xué)術(shù)的發(fā)展。因為大多數編程能力水平都是基于人而言,人們居住在世界各地,也是必要條件之一。如何簡(jiǎn)單的在兩國之間相互來(lái)往?


你在這里可能受到很多啟發(fā),例如,首先學(xué)習函數式編程再學(xué)習 OOP。你也可以開(kāi)發(fā)自己的編譯器,這不是大學(xué)的樂(lè )趣嗎?或是程序集,或是真正理解集理論,或是如何開(kāi)發(fā)適用于數據庫與編程數據的結構;蚴情_(kāi)發(fā)你的第一個(gè)編程工具。

這些是我所看到的大多數程序員所遵循的道路。

來(lái)源:伯樂(lè )在線(xiàn)

[原文:What Level Programmer Are You?]
本文地址:http://selenalain.com/thread-86071-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
zhangyi8827 發(fā)表于 2012-2-24 12:58:37
感謝樓主分享!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页