❶ 怎麼從菜鳥成為一個程序員啊
我建議你看一下網上很火的一篇文章叫:程序員的十層樓。
我再寫寫我自己的經驗吧:
[經驗之談]30歲,我的程序,我的夢!
程序人生 : 30歲,我的程序員夢想
作 者: redbridge (雪燃)
30歲,開始實現我的程序員夢,從一個編程愛好者,從一個業余的程序員,一個水平不高的程序員,一個半道出家的程序員......
我的經歷到這里就告一段落了,五年裡跳了五次槽,不知道和大家比算不算多J,沒有什麼太多起伏,但我想很多朋友可能會和我有類似的經歷,不知道能不能引起你們的共鳴。我想對我上面所說的話給一個總結:
1. 如果你覺得自己應該追求什麼,不管遇到什麼困難千萬不要放棄,一定要堅持下去。
2. 不要因為自己年輕就找理由揮霍時間,少玩一點SC、CS、魔獸3、傳奇、魔力或者…….,多看點書,多練練題。
3. 如果你還是在校的學生,英語很差,專業課也很差。沒關系,想怎麼學計算機就怎麼學計算機吧。其它地只要能混到畢業證就行了。除非你對自己的未來沒有信心。(當然,如果你的理想不僅僅是要做一個程序員,那你別丟掉英語。)
4. 如果你不是科班出身,想要轉行而不知該怎麼開始的話,建議你先看兩類書:(1)計算機原理;(2)數據結構和演算法。(看數據結構之前先看C語言)。
5. 什麼時候努力都不晚,關鍵是你明白要努力了,大器晚成總比一事無成要好的多。
6. java、.net、C++、PB、VB、Delphi、匯編到底應該學哪個?我的經驗,哪個最簡單就先學哪個、公司用哪個你就學哪個、哪個和你有緣(比如剛好你認識一個願意幫助你的Delphi高手)你就學哪個,如果你都學,或者三天兩頭的換,我可以告訴你結果肯定是什麼都不會,不要心浮氣燥,他們都只是工具,學精一門其它的就相通了,重要的是掌握編程的思想。如果你問我面向對象(好像現在已經是面向需求了)、UML、WebLogic、WebService、軟體工程、XML…….應該怎麼學呀,對不起,這些我也確實不是都會,但請相信,你先實實在在的寫上十萬行以上的代碼以後,那些東西你自然就慢慢會了。
7. 不要以為程序員的工資都很高,程序員之間的水平差異也大。公司衡量一個人的待遇標準是他能給公司帶來多大的效益。如果你體現了自己的價值,公司會主動給你加薪的,當然你也可以自己主動提,但一定要在你表現出了自己的價值之後。
8. 輕易不要跳槽,如果非要跳,也要保持工作經驗上的延續,而不是從新開始,不然就會象我一樣走很多彎路。
9. 如果你以為程序員都是熬夜熬出來的,那麼你錯了,因為它的代價就是縮短你的青春!大家不要象我一樣,真的,熬夜一點也不好!記住老毛的話:如有恆,何須三更起,半夜眠;最怕莫,三天打魚兩天曬網,竹籃打水一場空!
10. 這一點是我覺得最精華的一點:「君子性非異也,善假於物也。」這句話的本意是一個水平很高的人本身並不一定很高明,關鍵是他善於利用別人的高明!我在這里做個借鑒,就是要充分利用自己身邊的資源,不放過任何一個可以提高自己的機會。大家不要誤會,這里的假於物可不是指抄襲別人的源代碼,而是指通過學習別人的源代碼把他的思想擴展到自己的思想里去。
註:上面的十大「精華」純屬我個人的「謬論」,您自己看著消化,有用的收下,沒用的請拖入「回收站」。如果你覺得這些總結不過是一些浮華之詞,那請你先問問自己:「是不是在行動上都真正做到了。」
這就是我,一個不算優秀,不算勤奮;玩能玩通宵,學也學能學通宵;對夢想的追求很執著;到了30才開始真正寫程序;一個很平凡但又不甘於平凡的人……我的經歷相信很多朋友都有過的,我現在也不能算是一個成功人士,但我相信我的經歷卻是值得大家借鑒的,因為我終究代表了一類人。
最後我還想說一點:現在很多朋友都抱怨中國的軟體業環境太差,前途渺茫。確實是這樣,我有同感。不過我想軟體業不過是千萬個行業中的一種,每一個行業總是會有起落的,中國的軟體業環境差有她的歷史原因,我們不要總是簡單地和印度相比。抱怨沒有意義,已經這樣了,抱怨不能使她變好,希望我們每一個人多貢獻一份自己的力量,總有一天她會變的比印度還好,甚至比美國還好。
最後:希望所有的程序員和擁有成為程序員夢想的朋友們在新的一年裡心想事成,萬事如意。請相信我:明天不一定更美好,但美好的一天一定會來!
===================================================================
好好看看這篇文章,對你肯定有用.
❷ 高手程序員和菜鳥程序員開發的程序運行性能可以差多少
我想如果手機游戲全部用匯編編寫,速度起碼是現在的1000倍,內存佔用也比現在小1000倍以下,開發了幾款游戲我知道手機游戲運行效率是多麼的浪費,JAVA一層虛擬機,消耗了起碼30%的性能,然後很多開發者用物理引擎,圖形引擎,引擎這種東西,是第三方開發的,沒有針對你的應用,所以都是大而全的東西全部堆到你的程序裡面,很多空循環,多餘的循環,多餘的對象,白白就消耗你的性能,如果是原生的自己在游戲裡面實現的物理演算法3D圖形演算法,起碼比引擎快10倍,還有就是很多開發者用面向對象語言編寫,C++還好,其他的C# JAVA這些封裝程度等更高,各種繼承各種重載重寫函數,各種生成類,還有一個自動回收機制等開銷不是一般的大。因此游戲開發不同開發者的水平,開發出的游戲性能起碼有10000倍左右的差距,所以很多時候卡的不是你的手機硬體不夠是開發者太笨了
❸ 程序員高手和菜鳥的區別是什麼
高手寫程序考慮的比較周全,菜鳥只盯著實現
❹ 菜鳥程序員需要學習哪些基礎知識
java學習是由簡入難的學習過程,不要一開始就學習太過於復雜的,也不要好高騖遠,java的基礎很重要,所以一定要由最基礎的學起,抓實基礎。下面是昆明北大青鳥java培訓小編結合大部分情況為大家總結下:菜鳥程序員需要學習哪些基礎知識。
首先要學習java的基礎知識。
不要被新技術迷惑,所謂萬變不離其宗,新技術都是基於java的基礎之上,如果基礎不扎實,對於這些新技術的理解也是一知半解,學不到根源。
1、web開發
全面的JEE的web開發知識:Servlet+JSP+javaBean+TagLib,到這里做一個完整的web應用項目開發。
2、J2EE基礎
j2ee說白了就是做網頁,這時候你要從先從java里脫身出來,學些跟網頁有關的東西:
html:很簡單的東西不是太笨的話半天左右即可搞定
js:易學難精,想速度找工作不必花太多時間,隨便買本javascript書略讀並備查推薦:JavaScript高級程序設計;JavaScript權威指南
資料庫:如果沒有基礎的話,建議多花時間,至少一個月,開始建議用mysql,然後是oracle,然後是sqlserver,這段時間最關鍵的就是sql語言的編寫。
xml 就是一種封裝數據的格式,沒啥好學的,練習一下怎麼用dom4j或者jdom讀寫xml即可。
jsp,servlet,tomcat: 這段時間說白了就是用jsp來做個網站。
3、EJB開發
包含全面的EJB知識:1)EJB入門和無狀態會話Bean;2)有狀態會話Bean;3)BMP和CMP是實體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發和應用;
要會使用主流框架
框架其實就是一些公共的工具和方法,被封裝到一個盒子中供您隨時調用,框架也是別人用java編寫的,相當於你調用別人寫好的公共模塊,可以節省時間和效率。
主要是3大框架:
mvc框架:struts,struts2,jsf
or映射框架:hibernate,ibatis
業務框架:spring
重量級框架:ejb
這些都是java技術的學習知識點,和學習流程,先簡單後復雜,由一個點展開,開始更廣更深入的學習。這些都掌握了以後,你就學會了java,具備了基本編程的能力,但不代表你就能做出優良的產品,所以接下來,你就需要學習軟體工程和演算法,進一步的提升自己。想更快更扎實的學習java知識嗎?趕緊到昆明北大青鳥java培訓機構報名吧,選擇昆明北大青鳥,你絕不後悔!
❺ 剛畢業入行半年的菜鳥程序員,工作單位比上不足比下有餘,入職以來多是做些零碎的任務,很多項目都沾過
在工作之餘多學一些專業知識,最好專攻某一方向,等這個方向精通了就再搞其他方向一步一步來。至於換不換工作環境,那就要看你在公司里的工作是不是對你成長有幫助,沒有的話就換了吧
❻ 同樣都是搞編程的,程序員高手和菜鳥差距在都哪兒
從程序代碼的命名,我們就可以看出一個人的水平。最差的命名就是使用中文、拼音、拼音縮寫、中英混搭,接下來要麼是模仿式命名,要麼乾脆就隨意命名。模仿式命名典型的就是「××DAL」,說實話,我覺得類似於「UserDAL」這樣的名字,我覺得太不美觀了,一般這我就知道這是典型分層架構的模仿者,說明他是有些經驗的人了。隨意命名,就是寫代碼的時候,名字壓根就沒有意義,比如var list = new List<User>,其實完全可以寫成var users = new List<User>的。想要命名的更有意義,你只需要將每一個類、每一個方法、每一個單詞的名字都用你開發時的意思直接描述出來就行了。
❼ 90後二流大學程序員自述:從「菜鳥」到「辣雞」,我到底經歷了什麼
程序員高手和菜鳥,不僅僅是技術上的差距,還體現在習慣、經驗、看問題的角度等各個方面。
1.代碼規范:代碼寫得不好,其實一眼就能看出來;比如代碼裡面的各種命名(包、類、方法、變數等等)。在最初寫程序的時候,很多人都會起沒有含義的變數命名,比如 String str;其實我們完全可以把變數名稱起成帶業務含義的,比如在運用中慢慢發現用String username我們會越來越熟練,寫的也越來越好。
❽ 如何渡過小白期,不再當菜鳥程序員
相信習慣的力量
菜鳥和大牛的區別除了寫代碼、debug的核心能力差距之外,另外一個很大的差別就是在習慣上。大牛經過摸爬滾打練出了一系列優良的習慣,而菜鳥好習慣還沒養成,壞習慣有了一堆。所以身為菜鳥的時候一定要有規范和習慣意識,養成好習慣,去掉壞習慣讓自己越來越習慣寫出優質的代碼。
關於習慣仁者見仁,每個人也都有自己的習慣。
一個函數只做一件事
如果有一天你接手了另外一個同事的代碼,發現他有一個函數裡面裝了三千行代碼,你會是什麼感受?
有一些人會不知不覺地停止學習,因為他已經足夠應付工作了。在工作當中他會有一種在這個領域我當下會的技能已經足夠了的錯覺,有些人甚至會因此覺得其他資歷更深的同事也不過如此,似乎並沒有比自己多會多少東西。
我當初就是這樣,因為我發現我工作當中用到的東西玩的非常溜,用起來得心應手。我一度有些膨脹,覺得自己已經算是一個經驗豐富的程序員了。直到後來有一次面試,被問到了一個常用的工具的技術細節,我張口結舌一句話也說不上來,我才發現,自己知道的只是皮毛而已,甚至連皮毛都算不上。
當然我們工作當中對很多技術的要求都只是會用,你會用就夠了,這並沒有問題。我也並不覺得每一門我們用到的技術都需要去刨根究底,但我們需要對我們的實力有清醒的認識,哪些是勉強會用的?哪些是真正了解掌握的?哪些是需要掌握但是只是勉強會用的?
能夠想明白這些問題可以讓我們保持一個清醒的頭腦,對自己的當下的處境以及長遠的發展目標都會有一個清楚的認識。
積累知識而不僅是經驗
新手或者是小白有一個特點就是往往更加依賴經驗而不是知識,舉個例子吧。比如新手後端經常遇到的問題之一就是maven package失敗,很多人解沖突的辦法就是mvn clean & mvn install。也就是清空重新建立,因為大部分情況下這個命令可以解決問題。所以很多新手就記住了這個命令,每次遇到maven失敗就這么來一次。
如果這個命令解決不了呢?這些人可能會換個命令試試。如果常用的解決問題的命令都試過了還是不行呢?這些人可能就僵住了,覺得這個問題解決不了了,得請大牛來看了。
這里的核心問題是新手積累的是經驗而不是知識,他們只是簡單機械地把出現的問題和解決方法做映射而已,並不是從原理和核心層面理解問題出現以及解決方案生效的原因。那麼帶來的結果就是,積累到的只是經驗,下次能解決問題不是因為學會了問題的解決方法,也不是理解了這一塊技術內容,只是單純地記住了而已。這顯然也是一種偽成長。
其實我之前也遇到過這樣的問題,雖然我每次都有意識遇到問題記錄下解決的辦法,這樣下次就可以不用請教別人了。然而雖然我記錄的問題越來越多,但是每次遇到新的問題還是解決不了,需要請教別人。直到有一天,被我問的大牛露出了不耐煩的神情,才讓我下定決心自己學會解決問題。
於是我不再是頭痛醫頭腳痛醫腳地解決問題,而是去學習了一下問題背後的原理和機制,再從報錯日誌上分析錯誤產生的原因,思考解決方案,最終徹底學會了解決這一類問題的方法。之後不但能夠自己獨立解決問題,而且還可以去幫助別人了。我後來回過頭來想想,如果我第一次遇到問題的時候就自己嘗試去學習其中的機制,而不只是記住解決方法,應該可以做得更好。
少說廢話,多些代碼
著名的Linux之父Linus有一句名言:talk is cheap show me the code。翻譯過來就是廢話少說,代碼拿來。我覺得這句話非常符合這一行的精髓,我們不是靠嘴皮子吃飯的,而是靠實實在在的產出,這個產出最終是要落實到代碼上的。作為一個新人,可能我們會有這樣的問題,那樣的困惑。然而這許多的問題和困惑我們光想是沒用的,只能用硬實力來解決。
著名的C語言作者譚浩強也有一句名言:新手學編程最應該做的事情就是寫滿一萬行可以運行的代碼,之後你就自然入門了。道理其實也是一樣的,少說廢話,多做實事。多做多練,實力自然不會差。空想吹逼是成不了大牛的。所以如果你猶豫想要學習一門新的領域,但是不知道從何做起的時候,不妨想想這句話,別管它三七二十一,先搞起來寫起代碼來再說。搞著搞著,你自然就明白後面應該怎麼做了。
以上就是我自己積累的一些思考和想法,如果你是一個小白的話,希望它能夠幫助你順利度過新手期,向著大牛的目標進發。
❾ 一個菜鳥程序員該怎樣定位自身的價值方向
我到底能夠解決什麼問題?給別人帶來什麼樣的方便?這是每個程序員首先要考慮的問題。這決定了你要在什麼樣的領域、什麼樣的公司工作,決定了你做什麼產品,也決定了你要選擇什麼技術。
❿ 程序員中「菜鳥」和大神之間的區別到底在哪
您好,希望以下回答能幫助您
技術而言 新手是剛完的 老手就算是新手號也是老手 看在我扣 字不容易 望採納 記得採納啊
如您還有疑問可繼續追問。