⑴ 如何做一個成功的程序員
程序員是一種技術工作.在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.他們把這個作為炫耀的資本.盲目 的追逐一些膚淺的.表面的東西和名詞.做網路程序不懂通訊傳輸協議.做應用程序不懂 中斷向量處理.這樣的技術人員.不管掌握了多少所謂的新語言.永遠不會有質的提 高.
善於總結.也是學習能力的一種體現.每次完成一個研發任務.完成一段代碼.都應當有 目的的跟蹤該程序的應用狀況和用戶反饋.隨時總結.找到自己的不足.這樣逐步提高. 一個程序員才可能成長起來.
一個不具備成長性的程序員.即便眼前看是個高手.建議也不要選用.因為他落伍的時候 馬上就到了.
具備以上全部素質的人.應當說是夠格的程序員了.請注意以上的各種素質都不是由IQ決 定的.也不是大學某些課本里可以學習到的.需要的僅僅是程序員對自己工作的認識.是一種意識上的問題.
⑵ 我想做程序員,這個好做嗎
看你的問題大概只是身邊的人在做這塊但是你並不了解。
1 程序員是籠統的叫法,一般會被認為是前端或者後端開發這類。像做java開發這種,但是如果你邏輯思維不太可的話,會很難學會。就算去找了個機構培訓上崗了,過幾年還是會做回老本行。身邊見過蠻多這樣的例子,如何你邏輯思維可,那沒問題的。可以去一些網站找找視頻看,先敲最簡單的代碼試試嘍。
2 其實IT行業還有像新媒體運營電商這類也不錯的,這種類型的工作需要腦子活,就是思維比較有發散性。
3還有一種是UI設計 ,在二線的話招聘的多的是平面,這個要是有一定的審美工資也不錯的。
4 還有一種程序猿是做軟體測試的,也就是在程序上線前後測試。這種難度不大,崗位大多為女生。當然一般測試的工資也比較穩定,加班相對來說少一些的,也有高的,看能力,一般在一線城市崗位比較多。
⑶ 如何成為程序員如何才能成為一名程序員,要花多少時間
如果想轉行IT,建議選擇機構進行一個系統化的學習,畢竟企業都需要一個可以直接幹活的人,沒有人願意給你免費的成長機會。選擇機構學習,一方面可以迅速匹配適合自己的方向,另一方面大多數機構都是負責推薦就業的。這個時間的話,基本上是3至5個月,也要看自己的專業方向和學習結構安排。對於機構的選擇,可以參考以下幾點:
實地考查,是否真實存在的實體機構。
教學質量,去機構就是為了學習,教學質量跟不上,錢也打水漂。(先去試聽,授課老的講課方式能否理解,並考驗自己對這個行業是否真正有興趣)
面授課程,參加面授課程可以在課堂上遇到的問題及時與老師溝通,得到解決。即使理解不了的問題,有人可以帶著手把手的教,學習起來會比較輕松。
選擇好機構就要靠自己好好聽課,認真實踐了。祝好!
希望可以幫到您,謝謝!
⑷ 做程序員很辛苦嗎聽在騰訊的網友說一天的工作內容看起來很輕松啊,是大公司錢多活少嗎
做程序員很辛苦,大部分人員身體都出現亞健康狀態。下面是做這行帶來的職業困境:
困境之一:老虎的威脅。程序員要面對的餓老虎實在不少,比如說老闆,好象老闆就是程序員的天敵,什麼「不懂技術卻指手畫腳」、什麼「得到與付出不相當」似乎是程序員最常見的牢騷,這個問題不可能得到真正的解決。
困境之二:Bill的競爭。一般說來中國的程序員大都是吃「青春飯」的,大部分程序員的黃金時代是24~28歲。到了30歲左右,一批又一批年輕程序員會給你帶來巨大的競爭壓力。首先由於軟體行業的飛速發展,很多自己以前學的東西逐漸升級換代,而許多程序員由於長期於工作,學習新知識的效率必然下降。其次自己幹了幾年,薪水要求自然就高了,而年輕程序員工資又低、幹活又快,當然會成為老闆的首選;第三,30歲基本都已經成家了,要支撐家庭的生活負擔,幾乎連從頭再來的勇氣都不會有了。中國的老話說「長江後浪推前浪、一代新人換舊人」,這個歷史的規律在軟體開發行業體現的尤其明顯和殘酷,很多程序員必然要面對的結果就是降薪乃至失業。
困境之三:自我的實力。都知道人最難戰勝的是自己,所以自我也就是程序員需要超越的最大障礙。大多程序員都把系統分析員和項目經理作為自己的職業目標,但這些目標的達成,需要個人素質、市場機遇等多個方面的條件,太多的程序員就是在高不成、低不就的狀態中蹉跎了歲月。對於系統分析員,特別需要以下幾方面的素質:客戶需求分析能力、系統架構與設計能力、模塊分解設計能力、項目流程式控制制能力、項目風險評估能力等,而對於項目經理則更注重項目管理方面的能力如團隊組織能力、溝通協調能力、分析問題解決問題的能力以及良好的職業道德等,而這些素質和能力往往只能依靠程序員個人的學習和努力。看到越來越多的程序員開始學習項目管理的課程,真的有點為他們擔心,因為現在的項目管理培訓只能停留在理論和考證的程度,既沒有素質方面的訓練,又缺少實際軟體開發項目的案例,學習的結果遠遠不能達到預期的效果。
⑸ 如何做好一名程序員
1,文檔習慣 :文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間寫用於技術文檔。沒有文檔的程序員勢必會被淘汰。
2,模塊化思維能力 :要想成為一個優秀的程序員,他的思想不能僅僅只在局限當前的工作任務裡面,比如寫plc編程語言,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能是系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
3,團隊精神和協作能力 :我個人認為團隊精神和協作能力對於個人和所在團體都是相當重要的。團隊精神和協作能力是作為一個程序員應具備的最基本的素質。雖然海南師范大學開設軟體工程專業僅有三年的時間,但軟體工程在全國來說已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
4,規范化的代碼編寫習慣 :知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。一些所謂的高手甚至叫囂高手寫的代碼一般人看不懂,我只能說他不是一名合格的程序員。
5,學習和總結的能力 :程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,我們只能說他是一名熟練的代碼民工,他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員。
6,測試習慣 :測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
7,需求理解能力 :程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
⑹ 要做程序員需要學會什麼
其實簡單來說,程序員的工作就是使用編程語言,根據需求寫出一個程序。
但是,在這個過程中,涉及如下幾個方面:
使用的編程語言 程序員需要選擇一門或者多門語言來編程,不同的語言適合編寫不同的程序,目前主流編程語言包括,Java、JavaScript、Python、C++、php以及其他小語種等等,每種編程語言適合開發的程序有所不同。目前從程序應用分來,主要可以分為三類a 企業應用,主要用於解決企業業務。各種企業管理後台系統,銀行系統,公安系統,圖書管理系統等等。
b 互聯網應用,面向互聯網用戶,為互聯網用戶提供各類服務。比如現在的京東淘寶各類電商系統等。
c 移動應用,各類在移動端使用的APP,有面向互聯網用戶的APP,也有面向企業內部的APP。
目前相對而言,在移動應用和互聯網應用方面,資本投入比較熱的風口,程序員的薪資較高。企業應用,發展了很多年,相對平穩。
2. 明白需求,實現需求
需求就是編寫程序的要求。一個程序要編寫成什麼樣子,具備哪些功能,都是由需求來具體說明。程序員要需要能看懂需求文檔,並且能准確地使用編程語言,根據需求中的要求來編寫成程序。企業開發的項目,往往會由該程序的架構師提供一個程序框架,程序員在該框架的規范下進行編程,實現需求的功能,以確保程序的規范、可讀,以及可維護性。
3. 日常工作寫程序
一個軟體開發一般流程是產品經理根據用戶需求做一個項目出來,然後UI設計師做一些圖片設計,前端開發編寫頁面,後台開發編寫核心編程,然後介入一些大數據和人工智慧,通過測試之類上線實施,後期還有運維進行相關維護。
程序員一般大多指的是前端和後台寫代碼程序的開發人員,除了編寫代碼,可能還需要通過介面和其它系統對接,實現系統間的數據交換。像單體測試,是程序員對自己寫好的程序單元進行測試,檢測這個程序單元數據輸入和數據輸出是否符合預期等等。測試出來的問題,需要修改正確,然後再測試,直至沒有問題。和同事共同開發的時候也需要聯合測試,以及用戶測試過後如果存在BUG繼續進行修改。
⑺ 怎麼快速的做個程序員
我就是一個程序員,我可以告訴你這行沒速成的,必須打好基礎,否者不可能幹好這份工作。沒基礎可以先看看C語言,然後選一門資料庫,現在常用的SQL和ORACLE,在選一門編程語言C#.NET或者JAVA,C#.NET上手快,精通難。JAVA比較開源,受歡迎。
⑻ 如何成為程序員 自學編程的秘訣
你也許曾經想過要學習如何開發軟體或只是想臨時的寫出一個腳本但不知道如何入手。 幸運的是,現在的互聯網上到處都有豐富的學習資源讓你能在短時間里成為一個程序員。 因為互聯網的出現,使程序員們可以通過它討論軟體開發技術,發布學習指導,以及共享代碼實例讓其他人可以在線學習。 如果你感興趣如何才能成為一個程序員,從網上這些大量的優秀的培訓資料、學習向導入手將會是個不錯的開始。 首要之首:不要急於選擇一種語言 新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。 根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門 手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。 桌面腳本 想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。 例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。 Web開發 除了把自己約束在特定的編程語言和特定的操作系統上,你還可以在瀏覽器里開發你的殺手鐧程序,讓它在互聯網上運行,這就是webapp。 歡迎來到奇妙的web編程世界。 HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。 JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。 伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。) Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript). Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。 命令行腳本 如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。 很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。 如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。 插件(Add-ons) 如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS 只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。 更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。 很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。 開發桌面上的Web應用程序 學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。 移動應用開發 能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要代理才能看這個視頻)。 耐心,刻苦,嘗試,失敗 好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。 這篇文章里的內容就是對那些想通過自我研究達到學會編程目的的新手們的一些重要建議。 編程老手們:我有什麼遺漏嗎? 不論你的水平如何,請留下你的想法
⑼ 如何從一名小白成為一名程序員
一步一個腳印地學習,能力是自己的,如果自己都不願意付出,能力不會自動「長」在你身上的。
一般學習編程有兩個方法:一是自學,二是上培訓班
如果是自學:
一、你需要確定自己幾個問題,比如:
1、自律能力、自我控制力夠強嗎?
2、對於編程這種抽象的東西理解能力怎麼樣?
3、以及自己是否真的決定要加入這個行業了?
在做出最後的決定之前,必須認識自己如果你還不清楚這幾個問題
二、用自學來判定,自己是否能堅持:
現在隨著知識慢慢被市場重視,更不用說 IT這個方向。所以,如果你考慮清楚了,我建議你先給自己一個測試,看看自己是否真的熱愛這個新領域,以及是否可以自學。
方法很簡單,現在找學習資料(書籍/視頻等)不是什麼難事。
所說的測試,就是考驗你的 「三個力」 :控制能力、意志力、解決問題能力。
把自己當成上班的同學,每天至少
8個小時工作(學習)時間,給自己每天不同的任務,對於完不成的,可自己晚上加班,尋找解決途徑,但必須是當天完成,如果你這樣能堅持半個月,那麼你不用去培訓了,你可以通過自學來給自己漲技能。
如果選擇培訓機構需要注意的有:
1、實地考查,是否真實存在的機構
2、教學質量,去機構就是為了學習,教學質量跟不上,錢也打水漂。(先去試聽,授課老師的講課方式能否理解,並考驗自己對這個行業是否真正有興趣)
3、面授課程,參加面授課程可以在課堂上遇到的問題及時與老師溝通,得到解決。即使理解不了的問題,有人可以帶著手把手的教,學習起來會比較輕松。
願你學業有成!