『壹』 程序員的十種級別
第一級:神人,天資過人而又是技術狂熱者同時還擁有過人的商業頭腦,高瞻遠矚,技術過人,大器也。如丁磊,
求伯君。
第二級:高人,有天賦,技術過人但沒有過人的商業頭腦,通常此類人不是頂尖黑客就是技術總監之流。
第三級:牛人,技術精湛,熟悉行業知識,敢於創新,有自己的公司和軟體產品。
第四級:工頭,技術精湛,有領導團隊的能力,此類人大公司項目經理居多。
第五級:技術工人,技術精湛,熟悉行業知識但領導能力欠加,此類人大多為系分人員或資深程序員,基本
上桀驁不遜,自視清高,不願於一般技術人員為伍,在論壇上基本以高手面目出現。
第六級:熟練工人,技術有廣度無深度,喜歡鑽研但淺嘗輒止。此類人大多為老程序員,其中一部分喜歡利用工
具去查找網上有漏洞的伺服器,干點壞事以獲取成績感。如果心情好,在論壇上他們會回答菜鳥的大部
分問題。此級別為軟體業苦力的重要組成部分。
第七級:工人,某些技術較熟練但缺乏深度和廣度,此類人大多為程序員級別,經常在論壇上提問偶爾也回答菜
鳥的問題。為軟體產業苦力的主要組成部分。
第八級:菜鳥,入門時間不長,在論壇上會反復提問很初級的問題,有一種唐僧的精神。雖然招人煩但基本很可
愛。只要認真鑽研,一兩年後就能升級到上一層。
第九級:大忽悠,利用中國教育的弊病,頂著一頂高學歷的帽子,在小公司里混個軟體部經理,設計不行,代碼
不行,只會胡亂支配下屬,拍領導馬屁,在領導面前胡吹海侃,把自己打扮成技術高手的模樣。把勾心
斗角的辦公室文化引入技術部門,實在齷齪!
第十級:驢或傻X,會寫SELECT語句就說自己精通ORALCE,連寄存器有幾種都不知道就說自己懂匯編,建議全部
送到日本當IT產業工人,掙了日本人的錢還嚴重打擊日本的軟體業!
『貳』 低級程序員和高級程序員的區別
低級程序員認為自己與高級程序員的區別, 主要是高級程序員任何功能都能編碼實現, 編碼速度快, 代碼無 bug. 正如一慣的那樣,
低級程序員之所以低級, 正是因為他們勉強能看到(或者根本看不到)事物的表象而看不到本質. 所以, 低級程序員總結出的一切東西,
你都可以大膽的忽略.
所以, 我們來聽聽高級程序認為自己與低級程序員的區別是什麼. 高級程序員之所以高級, 在於他們認識到代碼 bug 是不可避免的,
有千萬種理由可以導致 bug, 但他們可以在設計和邏輯上保證(追求)滴水不漏, 並用邏輯的百分之百准確性還減少代碼 bug. 沒錯,
嚴謹的邏輯能力是高級程序員區別於低級程序員的最主要原因.
可以舉一個簡單常見例子: 網路購票終端的開發. 當然, 比低級程序員還低級的程序員做不出來. 我們先看看低級程序員是怎麼做:
order = Db::new_order();
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}
你看到的沒錯, 這段代碼邏輯清晰, 一般 90% 的情況都能正常工作, 有的甚至能達到 99%, 在某些特定的時間段, 這樣的系統 100% 能正常工作(幾乎是完美的系統).
你可能發現了問題: 網路是不可靠的, 網路請求可能發出去了, 也可能沒發出去; 對方可能收到了, 也可能沒收到; 響應可能由對方發出去了, 也可能沒發出去; 你可能收到了響應, 也可能沒收到.
但是, 低級的程序員會這樣解釋: 我用的是 TCP 協議, "TCP 是一種可靠的傳輸協議", 哈! 可笑的照本宣科. 這種低級程序員,
不僅在於他們寫出了邏輯上不完備的系統, 而且還惡劣地引經據典來做錯誤的辯護. 但他們引用的經典是不合時宜的(不能支撐他們的結論).
正確的做法應該是假設上面的每一行代碼都可能中斷執行, 然後進行相應的對策. 正如狹義上的網路協議其實是廣義上的交互協議, 我們可能把 TCP/IP 協議上的許多思想和機制應用到系統間的交互上來.
簡單來講, 可以加上就是重試(超時重傳)和對賬(請求確認). 所以, 邏輯上更准確的代碼應該是這樣:
Process_0{
order = Db::new_order();
}
Process_1{
order = Db::find_new_order();
ret = Network::query_order_result(order);
if(ret == NOT_FOUND){
ret = Network::place_order(order);
if(ret == TRUE){
order.finish();
}else{
order.cancel();
}
}
}
Process_0 和 Process_1 是相互獨立的處理邏輯.
Process_0 即處理用戶交互, 接受訂單.
Process_1 請求服務提供商進行對賬. 進行采購下單(補單), 更新訂單狀態.
上面的代碼邏輯實現了重試(超時重傳), 對賬(請求確認). 但上面的代碼在邏輯上還不是 100% 准確的, 例如, 如果對方系統誤報呢? 但其它的異常情況可以根據實際情況來忽略. 如果你發現這段代碼還有重要的邏輯上缺陷, 歡迎告訴我.
記住, 低級程序員和高級程序員的區別在於邏輯和抽象.
『叄』 什麼是程序員
程序員,從字面看就是寫程序的人員。
程序員(英文Programmer)是從事程序開發、程序維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
初,中級程序員一般叫做碼農。
高級程序員和架構師一般叫做攻城獅
系統分析員是指做需求分析同時懂代碼的那群
測試攻城獅一般指黑盒測試,也就是點點點,所有功能按鈕全點,看看有沒有錯誤,常見錯誤404,500。
總結而言,一隻優秀的程序猿通常有以下特點:(以下來自於網路,詞條:程序猿)
【PMonkey】對技術充滿JI情(因為能夠得到香蕉)
將編程作為一種愛好(不一定,只有少數的程序猿有這一素質) 如果你允許會滔滔不絕地跟你談論技術(程序猿使用特殊的語言,別的人或猴子很難聽懂)
【PMonkey】有過個人的開發經歷(獨立的尋找過香蕉或追尋母猿)
堅持認為某種技術最好(程序猿都很固執)
如果讓他用他認為不好的技術他會非常別扭(同上)
聰明、健談、興趣廣泛(只限於NEET和有關宅話題)
在大學和工作前就開始接觸程序(程序猿從小就是程序猿了)
總而言之,程序猿和它的一些同種族(如網管猿,技術猿)一樣,都是人類用來幫助提高生產力的技術人員,由於許多程序猿的智力很高,所以經常自己去尋找香蕉或母猿而無心工作,但這只是個別現象,總體來說程序猿是一種對人類很有用的動物,它們工作時很勤勞,而且不像業務猿那樣喜歡跳奇怪的舞蹈(也叫增猿舞)吵的人們想鬼畜它,程序猿一般到了30歲左右就會進化成別的猿類(一般是管理猿),不過據報道,也有一些少數一生都是沒有母猿的悲劇程序猿。
程序猿是被詛咒的悲慘生物,它們受到的詛咒有:過度的勞作、永遠不足的睡眠、低廉的收入等等……
程序猿並不擅長戰斗,它們生活中最主要的活動是——在樹葉上打洞,然後將打洞的樹葉放進一個木盒子里念咒語,並聲稱那些是能夠提高族群的食物供給或提供其他神奇功能的偉大產品。但是,因為每個程序猿打洞的方式各不相同,他們之間也會經常爆發沖突,每個程序猿都聲稱自己所用的打洞方式是最好最先進,打出的洞是最美最華麗的,並不惜因此用打洞的樹葉互相投擲。根據一些冒險者收集到的程序猿族群的資料,所謂的打洞方式,有西珈岬式、爪哇式、希沙埔式等等。不過,令人驚異的是,雖然每個程序猿所用的打洞方式都不同,但它們能用幾乎所有的方式來給樹葉打洞,來表達「你好,世界」的意思……
因為長時間的不運動,程序猿的體力普遍低下,不擅長近戰。不過,它們的高超智力彌補了這個缺陷。投擲打洞樹葉是它們常用的攻擊方式,而且,一如它們所宣稱的一樣,那些樹葉有著一些神奇的功能——很多冒險者在受到樹葉攻擊後,雖然受傷並不嚴重,但都不同程度表現出反應遲緩、四肢不聽指揮、眼前一片藍色等症狀,甚至於昏迷不醒。不過,好在這些症狀都不致命,但是這足以保護程序猿遠離冒險者的侵擾。
程序猿只為了保護棲息地才會戰斗,因此,一般冒險者都會繞開它們的地界。而且,由於程序猿的智力達到了能和冒險者交流的程度,甚至有的冒險者和程序猿族群建立了良好的關系,並且得到了它們的打洞樹葉作為向族群提供食物的交換——只是這些禮物在冒險者手上遠不如在程序猿手上可靠……
『肆』 碼農和程序員的區別
碼農和程序員的區別如下:
1、一個好的程序員不光是考慮怎麼去用代碼實現功能,而是要考慮整體,模塊之間關系,這個功能影響的地方有哪些,以及效率等問題。而碼農就是只為了實現功能而去編碼。簡單來說,同樣一種功能,程序員只需100行代碼,而碼農則需要300行,顯的臃腫。
2、碼農寫的是代碼,而程序員寫的則是系統,代碼只能是一段代碼,實現功能的代碼段,而系統則需要,各種模塊,功能及軟體組成。從本質上將,碼農只是「機器人才」。通常只懂幾種語言,不知變通,他們只知道寫代碼。
3、真正的程序員不是完完全全的技術工人,其除卻技術高超之外,其思維邏輯上的價值,讓其不可替代性比碼農強多了。自動寫代碼工具,這對於大量的程序員們來說可能是福音,但對於單純的碼農而言,帶來的卻是毀滅。
4、在程序員的發展歷程中,大家幾乎都是從碼農走過來的。自動寫代碼工具會淘汰大量在碼農期間無法加強自己學習能力,加強自己不可替代價值的初級程序員,也就是我們所說的碼農。
『伍』 編程語言與程序員有什麼區別
編程語言與程序員區別為:性質不同、使用不同、來源不同。
一、性質不同
1、編程語言:編程語言是種編程開發工具,如:C,C++,java、Go、Python等。
2、程序員:程序員是一種職業,為用戶通過程序軟體實現特定需求功能。
二、使用不同
1、編程語言:編程語言被用於作為程序的基礎,在編程人員的利用下才成形成程序。
2、程序員:程序員使用某種編程語言編寫程序以實現某種功能。
三、來源不同
1、編程語言:編程語言是一種客觀存在的東西,被程序員發明以後,逐漸完善就成了一種規則。
2、程序員:程序員是來自需要使用編程語言達到用戶電子需求而誕生的職業。
『陸』 代碼是什麼和程序又有什麼區別
代碼,程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。
1、作用不同
源代碼主要功用有如下2種作用:生成目標代碼,即計算機可以識別的代碼。對軟體進行說明,即對軟體的編寫進行說明。
計算機程序為一組計算機能識別和執行的指令,運行於電子計算機上,滿足人們某種需求的信息化工具。
2、目標不同
計算機程序以某些程序設計語言編寫,運行於某種目標結構體繫上。計算機源代碼最終目的為將人類可讀文本翻譯成為計算機可執行的二進制指令,這種過程叫編譯,它由通過編譯器完成。
3、特點不同
為了使計算機程序得以運行,計算機需要載入代碼,同時也要載入數據。從計算機的底層來說,這是由高級語言(例如Java,C/C++,C#等)代碼轉譯成機器語言而被CPU所理解,進行載入。
如果在一個符合大多數的計算機上,操作系統例如Windows、Linux等,載入並執行很多的程序,在這種情況下,每一個程序是一個單獨的映射,並不是計算機上的所有可執行程序。
源代碼作為軟體的特殊部分,可能被包含在一個或多個文件中。一個程序不必用同一種格式的源代碼書寫。例如,一個程序如果有C語言庫的支持,那麼就可以用C語言;而另一部分為了達到比較高的運行效率,則可以用匯編語言編寫。
較為復雜的軟體,一般需要數十種甚至上百種的源代碼的參與。為了降低種復雜度,必須引入一種可以描述各個源代碼之間聯系,並且如何正確編譯的系統。在這樣的背景下,修訂控制系統(RCS)誕生了,並成為研發者對代碼修訂的必備工具之一。
還有另外一種組合:源代碼的編寫和編譯分 別在 不同的平台上實現,專業術語叫做軟體移植。
『柒』 低級程序員和高級程序員的區別是什麼
低級程序員和高級程序員的區別如下:
『捌』 編程和程序員區別
二游念汪者的性質不同,具體如下。
第一,編程是一種概念,是一個工作的工種崗位或者一個動作,表示通過計算機語言完成了一個程序工作;程序員是一個角色,表示完成編程這個工作的人,這個特定的人就是指程序員。
第二,編神仔程是泛指,程序員是指具體的人。
編程語言與程序員有什麼區別
1.性質不同
編程語言:編程語言是種編程開發工具,如:C,C++,JAVA、Go、Python等。
程序員:程序員是一種職業,為用戶高賀通過程序軟體實現特定需求功能。
2.使用不同
編程語言:編程語言被用於作為程序的基礎,在編程人員的利用下才成形成程序。
首先編程是一個行為,它是一種工作的名詞,而程序員是人,他的工作內容或者說他的工作類型是編程。程序員日常工作是用各種語言編程。比如,C、C++、java、android、php、javaweb、JavaScript等等。應用的領域也五花八門,有網站開發,手機開發等等,這些都離不開編程。
編程:從詞性上來說就是動詞,指的是根據用編程語言如世界上最好的編程語言php進行代碼的編寫,注重的代碼開發上。
程序員:從詞性上來說是名詞,指的是進行代碼編寫的人員,這些人員可以使用各種各樣的編程語言如:php,java,c,c++等等,進行編程。