導航:首頁 > 程序命令 > 程序員最佳段位

程序員最佳段位

發布時間:2023-12-10 07:19:45

❶ 如何成為一名合格的程序員

很多人想要成為程序員,在學習編程的過程中,面對各種bug和源源不斷的問題,有時會對自己是否適合編程這一問題產生困擾。

作為一名教授全棧Web開發的教育工作者,我已經帶領很多新手成為了程序員。好消息是,我發現沒有任何人是不能學習編程的。我把它看作是一種基本的人類技能,就像閱讀、寫作和算術一樣,任何人都可以做到。它是我們人類能力的一部分,只是需要學習。

在過去的幾年的教學中,我目睹了不同的學生在學習過程中的斗爭,以及在他們的掙扎中出現的一些共同問題。

下面的列表將幫助你了解你是否喜歡編程

1、缺乏好奇心

如果你對計算機是如何工作的缺乏好奇心,那麼,作為一個程序員,你將永遠不會成功。

學習的一個基本要求是對你所學的東西有積極的興趣。如果你沒有一個對技術好奇的頭腦,你就沒有精力去堅持學習要成為一個成功的程序員所需要的廣博而深入的知識。相比之下,技術的世界就像一個巨大的海洋,裡面充滿了各種有趣的領域、相互聯系的思想和各種可能,它們可以激發人們的想像力。想要潛入這片海洋並發現你所能發現的一切,需要內在的動力。

找到你的好奇心:問問你自己,編程是否真的讓你感興趣?如果沒有興趣,去找你感興趣的東西,以節省時間和精力。但是如果你的答案是感興趣,那麼就強迫自鄭襪己去發現一些你以前沒有注意到的新事物,認識到浩瀚的技術海洋,再往下潛一點。

2、缺乏自主性

如果你不培養自己解決問題的能力,你就永遠不會成為一個成功的程序員。

毫無疑問,要成為一個成功的開發人員,你必須對自己的學習能力充滿信心。這實際上是一項基本的生活技能,如果你年滿18歲,沒有人有義務教你任何東西。這就是現實。當你想學習技術所需的技能時,首先要學會的是,在谷歌中輸入你想要的任何東西並獲取你需要的信息。除此之外,所有編程語言都有文檔和規范,這些文檔和規范對語言的工作方式解釋的非常清楚,它們就像字典一樣。作為一個程序員,最快速、最可靠的學習方法就是簡單地閱讀這些文檔。

當你有問題的時候,在問別人答案和查閱官方文檔之前,強迫自己先搜索一下,節省別人的時間。

3、面對問題缺乏毅力

如果你在遇到問題時輕易放棄,作為一個程序員,你將永遠不會成功。

編程的本質是解決問題,這也是計算機產生的全部原因!每當你開始編寫一個程序時,你總是會遇到一大堆問題。一旦你解決了一個問題,那麼幾乎總是有另一個問題在後面等著你。你在進步,但總是會有新的問題要面對。

這堆問題會讓人望而生畏,令人感到沮喪。如果你覺得程序應該「能用就好」,那麼你就沒有精力堅持下去,因為問題還在繼續出現,它們會一點一點地擊潰你的情緒和決心。從字面上來說,你的工作就是找出程序為什麼不能跑起來。

從我在授課上的經驗來看,通常每個班都有一兩個學生,和其他學生相比,他們似乎更容易遇到更多的問題——通常是非常隨機和模糊的問題。我提醒學生,他們面對的問題越多,學習越深入、越徹底的可能性就越大。如果他們能通過這些問題獲得深刻的理解,他們會很快發現他們變得更加自信了,因為他們面對和解決的問題比普通學生多。

你需要認識到,問題不僅僅只是問題,它實際上也是挑戰。你所面臨和克服的每一個挑戰都能讓你更深入地理解技術,更好地面對新的挑戰,並迅速解決舊的挑戰。

4、解決問題之後沒有成就感

如果你在解決一個問題後沒有興奮感和成就感,作為一個程序員,你將永遠不會成功。

與上一個問題相關的是,你成功地解決了一個問題,卻缺乏「良好的感覺」。當修復bug和問題變成了一個永遠不會結束的事情時,你會失去與克服問題的動力。

當你解決一個問題時,你需要的是多巴胺的釋放。這類似於在電子游戲中完成了一個關卡,或者解決了一個像縱橫字謎或數獨這樣的挑戰。我們都知道,堅持通過一項挑戰,然後最終贏得比賽,一般都會有成就感和興奮感。但是如果你失去了感受這些快樂的能力,或者從一開始就沒有真正有過這些感受,你將無法體驗到編程帶來的快樂。如果你把編程看作是一種磨礪,你只想盡可能容易地得到結果,那麼你永遠不會真正成為一個成功的程序員。

無論何時,當你解決了一個一直在努力解決的問題時,無論這個問題多麼微小,你總是為你的成就感到驕傲。你需要休息一下,祝賀你自己完成了一項出色的工作,讓成功的感覺滲透進你的心裡,為你即將面臨的下一個問題注入活力。

5、無法獨立思考

如果你期望別人為你著想,並且主動看到你自己所在的處境喊純激的細節,你將永遠不會成為一個真正成功的褲脊程序員。

當你在學習新的東西時,很容易感到缺乏知識和經驗,並沒有自己的觀點。主動做事或者說錯話似乎是有風險的。對於錯誤,我們的內心都有一種恐懼感。當對錯誤的恐懼抑制了你的探索和好奇心時,你會扼殺開發真正知識、從經驗中獲得的知識和「失敗」的能力。當你需要依靠「權威」的觀點、一個受歡迎的博客、一個最佳實踐或「教科書」的答案時,那麼你就沒有真正地整合編程的知識。你需要對什麼有效,什麼無效形成自己的觀點。你需要理解為什麼你認為你的解決方案有效,以及使用這個方案有什麼好處。你需要建立一個微妙的視角,超越那些顯而易見的東西。你需要能夠「證實」你的立場。

為自己著想。通過你的經驗和批判性思維技巧,發展出你自己的思想體系。做出合理的猜測,堅定立場,並願意隨著新信息的出現而改變立場。

6、僵化、狹隘、混亂的思維

如果你的思維僵化,並且難以保持代碼的條理化,那麼你將永遠無法成為一名真正成功的程序員。

我有時在學生中看到兩個極端。第一種是僵化和狹隘的思維方式。擁有這種態度的人拒絕幫助,盡管會有反饋,但不會有改變。他們看事情只從一個角度看,別人給的建議被忽略。

我看到的第二個極端是思維混亂。學生們似乎使事情變得更加復雜,他們的代碼雜亂無章,難以理解。他們過度思考問題,寫100行代碼,而其中只有10行是有用的。

當這兩種心態結合在一起時,結果就是一種用蠻力的方法去設計程序。我們需要的是回顧解決方案,重新評估它,放棄最初的方法,並重新組織方法。

無法看到其他可能性或無法反思反饋會抑製成長的能力。思維雜亂無章會減慢你的成長速度,阻止你看到那些原本顯而易見的模式。你的工作質量也會下降。

自我反省。你需要退後一步,看看你是接觸的事物的大局是什麼樣子的。你要怎樣才能做得更好?你能做些什麼讓你的生活更輕松嗎?你需要什麼來幫助你?

7、需要「正確」的答案,而不是識別一系列「好」和「壞」的答案的方法

如果你認為編程的最終目標是找到正確的解決方案,而不是一系列解決方案,那麼作為一個程序員,你將永遠不會真正成功。

當開始學習技能或編程時,學生往往想知道他們所做的是否「正確」,而答案總是「視情況而定」。

計算機科學是一門評估權衡的科學。在不同的環境下,哪條路更好,這完全取決於所處的環境和目標。當你把編程看作是一個有正確答案或錯誤答案的測試時,你就失去了對全局的認識,放棄了你的創造力。任何答案都可以是「正確的」,前提是你能根據具體情況證明這一點。現實情況是,編程更像是寫詩或寫短篇小說(如果程序很大,則可能是小說)。在你的代碼中可以看到一種美學和美麗,這些東西有時只有你和其他程序員能夠識別出來。你決定解決方案的原因,以及你對答案的設想,比「正確的方式」或「錯誤的方式」更重要。擁有一個藝術家的頭腦可以讓你編的程序具有選擇和可能性,而不是認為只有一種處理方式。這就是編程的美——有很多方法可以解決問題,考慮不同的可能性,然後決定哪種方法最適合當前的情況。

創造性很重要。你要認識到,解決問題的方法有很多種,通過經驗和積累,你會對哪些解決方案比其他解決方案感覺更好產生細微的理解。縱觀全局,想像不同的可能性,相信你的直覺,你會得到更滿意、更好的解決方案


如果你對學習編程感興趣,我鼓勵你開始這段旅程。記住提到的七條,並開始學習、探索在線資源,這些資源可以讓你快速學習。你不會後悔的!


合格程序員,對於一種計算機程序設計語言,我們將其分為語法、語義、語用三個層面。僅僅掌握語法是不夠的,不算學好。但是很多人,在履歷上寫自己掌握(甚至精通)了某種語言,其實就是解了語法,會寫簡單的程序而已。這就是為什麼我們行業特別不喜歡「精通」這個詞的原因。

現代軟體開發,規模都比較大,不是寫個HelloWorld那麼簡單,也不可能每個項目每件事都從頭開始造輪子,我們都是站在前輩、同行們的肩膀上工作的。也就是說,語言之外,還有「庫」這個東西需要掌握,不然就寸步難行。庫有語言級別支持的BuildIn的庫,比如java裡面的util、concurrent,CPP的IOSTREAM、STL等等;更多的更豐富的還有第三方提供的庫,比如JDBC、Servlet、EJB的implementations等等。這些東西掌握了,幹活兒才可能得心應手,不然寸步難行。

比Libaray更高層一些的,是Framework。框架的作用在於,將某一方面開發的BestPractices搞到一起,給你提供一個更易用的、不關注底層的腳手架。比如做企業應用的,SpringFramework是標配了;訪問數據,Hibernate或者MyBatis也離不開,很少直接用JDBC去幹活的了;做WEB的,各種MVCFramework起碼得掌握一兩個(springmvcorstruts2?);做網路的,Netty,MINA怎麼也得掌握一個......總而言之,框架是繞不過去的一個門檻。

然後呢,就是環境、輔助工具。應用伺服器,怎麼也得會調試配置那麼兩個吧。TOMCAT是入門標配,JBOSS,WEBLOGIC之類,起碼要弄得跑得起來;針對不同應用場景,還要會選擇。開發/管理工具,ECLIPSE是標配、GIT和SVN起碼要搞熟一款;其它比如單元測試工具、Build工具、測試覆蓋率、CodeReview這些插件...也得知道怎麼用。

最後,通用的,計算機科學的基礎,不說多扎實,至少不能一竅不通。說起來就那幾大件,操作系統、數據結構&演算法編譯原理、體系結構。要懂一點點,你才知道你編的程序是怎麼run起來的,哪兒可能存在效率問題性能瓶頸,除了問題知道怎麼debug。如果僅僅把計算機當作一個黑盒子,那也不算學好了。

最最後,還有一樣,就是你要訓練一下,快速理解領域知識的能力。你參與做一個項目,你懂的只是上面這些專業知識,但並不懂客戶的行業知識。如何盡快地理解業務,並用你手頭的工具實現業務邏輯,這點對程序員而言是非常重要的,否則你做的東西客戶總不滿意,GET不到重點,很麻煩。

我覺得這是一個合格的程序員的基本要求。你看,我並沒要求你懂需求工程、懂項目管理、懂架構設計、懂很多演算法、模式,甚至更深的專業知識。


❷ 金三銀四、金九銀十的說法真的是對的嗎程序員最佳跳槽時間是什麼時候

年底了程序猿並非很好找工作中的,如果你還沒有辭職,建議你等年之後再說吧。或者等你尋找下家後,在提出辭職也可以的。後半年最好找工作的時長在9~10月份依據招騁規律性而言,後半年9~10月份是聘請的高峰期。許多公司都是會在這個時間開展第二年的人才資源。因此,對專業人才十分充沛,而且許多秋招都是在這個時間開展的,這個時候比較合適找工作的。可是這個時候,市場競爭也比較大,好多人由於暑假天氣太熱,不出去找工作。

總得來說,到年底了,無論如何,假如題主在職人員,或是不建議辭職,悉渣此風險性很大的,安安穩穩度過年,再堅持幾個月,年之後能夠再去找,那時會有很多人換工作,當然也有許多職位了。假如題主睜迅待崗中,那樣請一定要有信心,好好地提前准備招聘面試,每一次招聘面試進行搞好匯總,查缺補漏,我相信能迅速尋找放心的作業。年底找工作實際上機遇也許多,可是年底找工作總給人一種迫切的覺得由於馬上就要過年啦。機遇盡管少可是此刻發出來招聘職位來的,基本上都是十分心急惹人。而且年底了除非是有特殊情況,大夥兒都不會離職去看看一個新的機遇,那樣來看年末前相對而言或是一個瀚海,年之後機遇毫無疑問多了許多,找工作的人也更多了,那樣實際上市場競爭愈發猛烈反而是火爆了。

❸ 普通的程序員和大神級的程序員有什麼區別

你好,普通程序員只能做一些重復簡單的事情,大神級程序員可以解決普通程序員解決不了的難題,還可以給普通程序員建框架。

❹ 如何才能成為一個優秀的程序員甚至工程師

首先聲明:
這是我電腦珍藏的了。當然,都是別人的。閣下看看:

這帖子我已經珍藏幾年了,只是轉貼而已,為啥說這帖子好,您自己看。我是計算機系大四學生,就這篇文章讓我得益非淺
一、為何要學編程?

每個人的動機不一樣。大致有:

1、為了找個好工作;或為了有更好的機會和更好的發展。

2、看到別人超厲害,所以也想學。

3、實際工作中很多場合需要。

4、從小就立志做個程序員,做軟體工程師。

5、振興中國的軟體事業。

。。。。。。

================================================

二、如何學編程?

1、多看好書。

差書誤人子弟,不但浪費時間和精力,而且打擊人的信心,差書使人很久都不會,讓會讓人懷疑自已

的學習能力。

現在的書很多,但好書很少,特別是被大家公認很有價值的好書,更是少之又少。歷經多年時間考驗

和市場風雨不殘酷洗禮而僅存的巨著,更是極其稀少。中國歷史上文學小說類書本多如牛毛,但僅存的巨

著,也只不過<<紅樓夢>>等四本名著而已。

編程方面也是如此。

2、多動手。

這一點很重要。而且特別重要。

「紙上得來終覺淺,絕知此事要躬行。」陸游的千古名句說的就是這個道理,並且同樣適合於編程方

面。

================================================

三、用什麼語言最好?

這主要取決於應用領域,每種語言都有自已的長處和不足。

1、匯編語言和C語言在單片機及工控領域用較多。另外C語言也是一種通用語言,是學C++/c#的起點。

2、C++系統編程等多個方面,最常用的編譯器是VC。

3、C#/Java網路編程方面新興的。

4、VB通用。

5、還有Delphi等。。。。。。

個人建議:從未編過程的,就從學vb開始。有基礎的可直接學c++/VC。

===================================================

四、有什麼好書?

幾年前,台灣著名技術作家侯捷先生曾經寫過一篇影響很大的書評文章,叫做《MFC四大天王》。文章的

意思是說在MFC的浩瀚書海中,只要認真研讀和學習其中四本,就可以「五嶽歸來不看山」。侯先生雖以

MFC為例,但是這個道理卻同樣適合於MFC之外的很多具體技術領域,這不能不說是一個有趣的統計現象。

通常在某一個具體細分的技術領域,會自然而然地出現3-5本頂級著作,它們彼此互相配合,形成一個完

整的體系。對於學習者來說,只需要認真研讀這幾本書,就足以升堂入室。我樂於將這種現稱為「四書五

經現象」。對於讀者來說,如果能夠找到該領域中的「四書五經」,則無論在時間上還是金錢上都是最經

濟的選擇。好書幾本,勝過爛書幾捆,這個體會想必大家都有。在此,幫助大家遴選各個技術領域里的「

四書五經」。

編程的書可謂汗牛充棟,其中經典也是不泛其數,但絕大多數的過來人,都一致認為,要想很快的入

門並盡快的投入到編程實踐中,只要其中的四到五本也就夠了,即只看經典中的經典,聖經級的書就可以

了。

所謂活到老學到老,程序員是個終身學習的職業,要不斷的看書,直到放棄編程的那一天。所以,

您要讀的好書也絕非以下推薦的這些書喲,呵呵。

一句話,由於我們的時間、精力、金錢都是有限的,如何以最小的代價換得最大的收獲。
[/equote]
[equote]
經典好書分類熱銷榜

================================================================

1、Java

Java編程語言(第三版)---Java四大名著----James Gosling(Java之父)

Java編程思想(第2版)----Java四大名著----Bruce Eckel

Java編程思想(第3版)----Java四大名著----------------Bruce Eckel

JAVA 2核心技術 卷I:基礎知識(原書第7版)---Java四大名著-----Cay Horstmann

JAVA 2核心技術 卷II:高級特性(原書第7版)----Java四大名著-----Cay Horstmann

Effective Java中文版------Java四大名著--------Joshua Bloch

精通Struts:基於MVC的Java Web設計與開發---孫衛琴

精通Hibernate:Java對象持久化技術詳解---孫衛琴

Tomcat與Java Web開發技術詳解------------孫衛琴

Java與模式------------------------------閻宏

2、c#

C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」

C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」

.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王

c#Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王

.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王

.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王

3、C++

C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」

C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman

C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman

C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis

C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」

深度探索C++對象模型---c++八大金剛----Stanley B.Lippman

Essential C++中文版---c++八大金剛---Stanley B.Lippman

Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers

More Effective C++中文版----c++八大金剛------Scott Meyers

C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel

C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel

C++程序設計--------------------------譚浩強

C++ 程序設計教程(第2版)--------------錢能

C++ Primer Plus(第五版)中文版---Stephen Prata

廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++

c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者

2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,

聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。

作者: 熱布克 2006-7-11 16:18 回復此發言

--------------------------------------------------------------------------------

3 C++原創,超經典:為何要學編程?如何學編程?用什麼語言最好?有
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎------good!

4、c

C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」

C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata

C程序設計(第三版)---------------------------譚浩強

C語言大全(第四版)---------------------------HERBERT SCHILDT

C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON

C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison

C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel

C陷阱與缺陷-----------------------------------Andrew Koenig

5、VB

Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」

Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山

北斗」---

.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北

斗」---,Francesco Balena「vb首席大師」

Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」

Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.

高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND

6、Delphi

Inside VCL(深入核心——VCL架構剖析)----------李維

Delphi 7高效資料庫程序設計--------------李維

面向對象開發實踐之路(Delphi版)----------李維

7、VC

Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---

Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---

Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---

深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷

MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise

Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski

深入解析MFC-------------MFC四大天王」-----------George Shepherd

Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski

8、vf

Visual Foxpro程序設計參考手冊-------------------張洪舉

專家門診——Visual FoxPro開發答疑160問-------------------張洪舉

Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉

Visual FoxPro軟體開發模式與應用案例-------------------張洪舉

9、黑客

應用密碼學(協議演算法與C源程序-----------Bruce Schneier

網路信息安全的真相-----------Bruce Schneier

黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE

軟體加密技術內幕------------看雪學院

加密與解密——軟體保護技術與完全解決方案------------看雪學院

加密與解密(第二版)--------段鋼

10、匯編

Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey

80*86、奔騰機匯編語言程序設計---------Barry B. Brey

Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬

IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋

IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯

11、驅動開發

作者: 熱布克 2006-7-11 16:18 回復此發言

--------------------------------------------------------------------------------

4 C++原創,超經典:為何要學編程?如何學編程?用什麼語言最好?有

Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant

Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河

WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河

12、網路

計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum

TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客

UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客

用TCP/IP進行網際互聯-----------Douglas E. Comer

高級TCP/IP編程-------------------Jon C. Snader

C++網路編程-----------------------Douglas Schmidt

UNIX環境高級編程(第2版)--------------------Richard Stevens

13、演算法

計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍

演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍

離散數學及其應用----------Kenneth H.Rosen

具體數學—計算機科學基礎--------Donald.E.Knuth

14、圖形編程
Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書

15、數據結構

數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林

數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社

16、軟體工程

設計模式--可復用面向對象軟體的基礎

重構—改善既有代碼的設計

17、操作系統

深入理解計算機系統(修訂版)-------RANDAL E.BRYANT

18、Unix

UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX 編程藝術
UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經
UNIX環境高級編程(英文影印版)(第2版)
99-UNIX環境高級編程(第2版)
UNIX環境高級編程(第2版)---UNIX編程「聖經
UNIX網路編程 第1卷:套介面API(第3版)
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX編程環境
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版
UNIX系統編程
UNIX環境高級編程
UNIX環境高級編程(英文影印版
88-linux內核分析及編程
UNIX 網路編程 卷I 套接字聯網API(英文版 第三版)
UNIX網路編程 第1卷:套介面API(第3版)
UNIX 網路編程(第二版)第2卷:進程間通信
UNIX網路編程卷2:進程間通信(第2版)(英文影印版)
UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API
UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版)
UNIX環境高級編程
UNIX 環境高級編程(英文版)
UNIX環境高級編程(第2版)
Unix技術手冊

19、Linux

Linux內核設計與實現
Linux內核完全注釋
LINUX內核分析及編程
GNU/Linux 編程指南(第二版)
Linux設備驅動程序(第三版)
嵌入式設計及Linux驅動開發指南——基於ARM 9處理器
Linux設備驅動程序 第三版(英文影印版)
Linux內核設計與實現(第2版)
Linux內核設計與實現(英文影印版)(第2版)
linux技術手冊

20、游戲編程

Windows游戲編程大師技巧(第二版
游戲之旅--我的編程感悟
OpenGL超級寶典:第三版
OpenGL編程指南(第四版)
Java 游戲高級編程
J2ME手機游戲編程入門
游戲之旅——我的編程感悟
游戲開發中的人工智慧(英文影印版)
3D游戲:卷2 動畫與高級實時渲染技術
面向對象的游戲開發
Java 游戲高級編程
3D游戲編程大師技巧
游戲編程精粹
面向對象的游戲開發
3D游戲 卷1:實時渲染與軟體技術
3D游戲:卷2 動畫與高級實時渲染技…
J2ME手機游戲編程入門
Direct3D游戲編程入門教程(第二版…

21、移動開發

Windows Mobile手機應用開發
SYMBIAN OS C++手機應用開發
68-Windows Mobile手機應用開發--傅曦 齊宇 徐駿
48-SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯
68-SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯
Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林
嵌入式系統Windows CE 開發技巧與實例--傅曦
Palm OS編程實踐---絕版

22、單片機

單片機輕松入門----------------------------------周堅(平凡老師)

單片機典型模塊設計實例導航-----------------------求是科技

例說8051----------------------------------------張義和 陳敵北

KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞

單片機應用程序設計技術(修訂版)--------------------周航慈

8051單片機實踐與應用-------------------------------吳金戎

MCS-51系列單片機實用介面技術---------------------李華

23、串並口通訊

Visual C++/Turbo C串口通信編程實踐------------------龔建偉

VISUAL BASIC與RS-232串列通信控制(最新版)----------范逸之

24、電子

無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌

無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌

圖表細說電子技術識圖-------------------胡斌

圖表細說電子元器件-------------------胡斌

圖表細說元器件及實用電路-------------------胡斌
[/equote]

[equote]怎樣成為一名程序員[/equote]

[equote]
通過以下4個階段的訓練, 沒有任何編程基礎人就可以成為一名普通的程序員。

第一階段:掌握一種編程語言

學習內容:學習任意一種主流的編程語言。例如C++語言。

學習目標:熟練掌握一種語言的語法和基本的編程技巧。

學習時間:3個月左右

注意事項:編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等
程序設計語言,它們是像漢語、英語一樣的抽象的語法規則,編程工具是指
Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器
在內的集成化、可視化的軟體開發工具。C++源程序可以在Visual C++ 6.0里編寫,也可以在
記事本里編寫,而同一個C++源程序可以用Visual C++ 6.0編譯、執行,也可以用C++ Builder 5.0
編譯、執行,所以: C++ 不等於 Visual C++ 6.0

第二階段:掌握一種編程工具

學習內容:學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的
編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。

學習目標:熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。

學習時間:3個月左右

注意事項:這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各種基本的Windows程序。

第三階段:掌握「演算法與數據結構」這門課程

學習內容:演算法與數據結構,推薦許卓群的《數據結構》,高等教育出版社出版。

學習目標:熟練掌握各種常用的演算法與數據結構

學習時間:4個月左右

注意事項:這是一門不可或缺的軟體開發課程,曾經有一本經典計算機專業書籍叫做《數據結構+演算法=程序》,
這說明了數據結構和演算法的重要性。它能幫我們建立良好的程序分析與設計能力。

第四階段:實現一個模擬的小型軟體項目

學習內容:軟體項目的開發過程

學習目標:掌握軟體項目的基本開發過程和方法

學習時間:4個月左右

注意事項:自己完成一個模擬的小型軟體項目,強烈推薦做一個MIS(管理信息系統)軟體,參考用書推薦
「中小型信息管理系統開發實例系列叢書」,人民郵電出版社,它的例子詳實有效,
以它為基礎再加以擴展,就可以做出實用的MIS軟體來。
此叢書包括多種開發工具,大家可以選擇適合自己的:《VISUAL FOXPRO6.0 資料庫系統開發實例導航》
《JAVA資料庫系統開發實例導航》 《VISUAL BASIC資料庫系統開發實例導航》
《VISUAL C++6.0資料庫系統開發實例導航》 《ASP.NET資料庫管理系統開發實例導航》
DELPHI資料庫系統開發實例導航》 《POWERBUILDER 8.0資料庫系統開發實例導航》。
最後將完成的模擬軟體刻成光碟,作為自己的作品去面試,以此踏上自己光輝的職業程序員之路!

❺ 想做程序員,要些什麼條件

程序員是一種技術工作,在IT的發展中有相當重要的地位,從底層硬體通訊協議的建立, 到數據傳輸層的處理,到操作系統的建設,到資料庫平台的建設,一直到應用層上各種數 據營銷平台的搭建,程序員在裡面都扮演著舉足輕重的角色並為IT事業的發展做出了巨大 的貢獻。

中國有很多精於編碼的人,但是中國軟體行業,尤其是網路應用開發方面誤區很大,很難 形成有規模的軟體開發力量和產品能力,不但比美國差距甚遠,和印度相比也是頗有不 如。這些問題不是在於中國程序員的智商和工作努力狀況,也不是在於國家和民間對開發
的投入程度,而是很大程度上,有一些對技術,對程序開發,對項目設計方面的思想誤 區,這些誤區,導致了軟體行業的產品化能力不足,缺乏規模化和大型復用系統研發能 力,可以說,改變認識誤區,是解決軟體行業小作坊模式和個體英雄模式所帶來的局限性 的重要工作。

中國有很多小朋友,他們18,9歲或21,2歲,通過自學也寫了不少代碼,他們有的代碼寫的 很漂亮,一些技術細節相當出眾,也很有鑽研精神,但是他們被一些錯誤的認識和觀點左 右,缺乏對系統,對程序的整體理解能力,這些人,一個網上的朋友說得很好,他們實際
上只是一些Coding fans,壓根沒有資格稱為程序員,但是據我所知,不少小網路公司的 CTO就是這樣的coding fans,拿著嚇人的工資,做著嚇人的項目,項目的結局通常也很嚇 人。

程序員基本素質:

作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具 有的素質。

1:團隊精神和協作能力

把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最 重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有 限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球
的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟 件發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺 乏這種素質的人就完全不合格了。

2:文檔習慣

說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中 非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級 程序員和系統分析員,這個比例還要高很多。

缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。

3:規范化,標准化的代碼編寫習慣

作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮 進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和 糾錯,也有助於不同技術人員之間的協作。

有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自 己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。

再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可 想像的。

4:需求理解能力

程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性 能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾 經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情
況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太 極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程 序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險
和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經 驗才有可能有心得。

5:復用性,模塊化思維能力

經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫 一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成 了熟練程序員的主要工作,而這些,其實是完全可以避免的。

復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一 些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在, 是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避
免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到 這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投 入到創新的代碼工作中去。

一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊 都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重 寫,大部分重復性工作無謂的浪費了時間和精力。

程序員應具備的素質中

6:測試習慣

作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是並不是說有了專 職的測試工程師程序員就可以不進行自測;軟體研發作為一項工程而言,一個很重要的特 點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行
認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效 率和可靠性就有了最大的保證。

測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常 調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務, 實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用
戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻 發的異常請求阻塞資源時的模塊穩定測試等等。當然並不是程序員要對自己的每段代碼都 需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和
各種性能需求,有針對性的進行相關測試並盡早發現和解決問題,當然這需要上面提到的 需求理解能力。

7:學習和總結的能力

程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有 領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。

善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高 了。

但是學習也要找對目標,一些小coding fans們,他們也津津樂道於他們的學習能力,一 會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目 的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂
中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。

善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。

❻ 如何成為傑出的程序員或軟體工程師

成為傑出的程序員或軟體工程師有以下建議:

第一、編寫高質量的代碼

良好的編程習慣不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。優秀的軟體工程師都具有良好的編程習慣,他們編寫盡量少的代碼即可滿足需求,還能夠引入恰當的抽象層次,重構代碼,將業務邏輯和其他程序邏輯分離。一般的軟體工程師編寫不出高質量的代碼,他們只關心自己的代碼是否能夠達到預期的輸出結果,只要有輸出結果,就認為自己的任務完成了,根本不在乎代碼的可維護性和可讀性。

第二、快速、高質量的產出

優秀的軟體工程師能夠在代碼質量和開發所耗時間上做出很好的權衡,能夠嚴格控制技術風險,不斷完善自己,能夠在有限的時間內寫出高質量的代碼。一般的工程師寫出的代碼質量很低,還聲稱是最優的設計,時間限制常常是他們怠工的借口。他們的代碼會給企業帶來很大的負擔,並給團隊成員留下一大堆問題。

第三、解決問題能力

優秀的軟體工程師不會盲目地編寫項目代碼,他們會確定每個問題的目標,找出問題的根本原因,並找到解決問題的合理方案。優秀的軟體工程師會將大問題分拆為小問題,針對小問題進行理解、構思、計劃、維護和重用。一般的軟體工程師只是匆忙編碼,解決所分配的問題,不會進一步思考正在解決的問題,從不考慮長期影響。

第四、正確的決定

優秀的軟體工程師深知沒有完美的設計、服務和工具,他們還深刻理解可選方案以及實際狀況的約束並能做出適當的權衡。一般的軟體工程師只是盲目地使用當前比較流行的服務、設計和工具,而不做更深一步的理解和研究。

第五、團隊精神

團隊精神和協作能力是程序員應該具備的最基本素質,優秀的軟體工程師所寫的代碼不僅能夠讓機器高效地執行,更重要的是能夠方便其他工程師閱讀、改進和使用。他們寫測試用例,確保所寫代碼的正確性,還能夠方便其他人對程序進行改進。他們充分利用審查和使用代碼的機會,學習其他部分的代碼、分享代碼風格、控制整個代碼的質量。他們認識到並且堅信,代碼審查的過程是相互學習和提高整個工程團隊產出質量的最佳時機之一。他們的評論能夠幫助團隊成員成長,他們考慮整體設計、邊緣情況、格式改進及提高代碼整體質量的其他優化措施。一般的軟體工程師根本就不關心自己代碼的可維護性和可讀性,他們很少寫測試用例,除非寫測試用例是指派的任務。

第六、洞察力

優秀的軟體工程師具有長遠的眼光,使他們能夠承擔起各種困難的軟體項目,他們經歷過無數的非預期任務,如被喊去解決線上伺服器的問題,處理積累了很多技術債的代碼以及面對較為緊張的期限。一般的軟體工程師對發生的問題從不積極響應,還責怪別人處理不當;當事情進展不順時,他們很容易失去信心或推卸責任,不主動、不認真地解決問題。

❼ 想當程序員,大學應該學什麼專業

想當程序員可以學這兩個專業:

1、軟體工程

軟體工程專業以計算機科學與技術學科為基礎,強調軟體開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟體開發、測試、維護和軟體項目管理的高級專門人才。

2、計算機科學與技術

計算機科學與技術專業主要培養具有良好的科學素養,系統地、較好地掌握計算機科學與技術包括計算機硬體、軟體與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門等單位從事計算機教學、科學研究和應用的計算機科學與技術學科的高級科學技術人才。

選了這兩個專業,會在大學中學習到c語言,c++,java,javaweb等等一系列編程語言,要注意的是,大學里一般一個學期結束一門語言課程的學習,進度會非常快,課程安排量也不會太充足,想要學好,還得靠自己課下努力才行,至少得掌握一門自己拿手的語言。

當程序員需要具備的能力

1、編程語言能力

作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累。

2、編碼能力

遵守編碼規范,是一個程序員最基本的要求。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。

3、面向對象思維能力

多數編程語言都是面向對象的編程語言。而這些面向對象編程語言的共同精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。

閱讀全文

與程序員最佳段位相關的資料

熱點內容
雲南中文版伺服器託管雲空間 瀏覽:123
寬頻伺服器無響應是什麼情況 瀏覽:448
醫易時空醫學pdf 瀏覽:388
菠蘿筆記app怎麼樣 瀏覽:298
查看mysql表的命令 瀏覽:683
pomelo命令 瀏覽:840
51單片機音樂有延時 瀏覽:932
怎麼在appstore注銷 瀏覽:863
伺服器怎麼給別人發錢 瀏覽:92
路虎攬勝更換壓縮機 瀏覽:368
rediszset源碼解析 瀏覽:823
安卓如何設置自製鈴聲 瀏覽:571
java打開文件夾路徑 瀏覽:551
助眠視頻重度免疫者專用耳機解壓 瀏覽:935
如何在控制面板文件夾創建關聯 瀏覽:443
壓縮機氣動開關原理 瀏覽:981
花燈直播app的注冊碼從哪裡輸入 瀏覽:12
linuxdeleted 瀏覽:518
linux命令大全pdf 瀏覽:245
眾數的命令是 瀏覽:557