程序員的七種武器

程序員的七種武器

 世界上有兩件事情,需要一輩子的努力。第一是學習,第二是鍛鍊。其實這本是說明一個問題:每個人在提高自己能力這件事情上,需要持續不斷地努力。以最典型的例子來看,只有通過學習,程序員才能保證不斷進步。一方面我們學習新的軟件技術和更新速度極快的業界新名詞;另外一方面,我們也需要不斷加強基本技能的鞏固。
  在這樣的前提下,“程序員的七種武器”這個選題就應運而生了。撇開衆多軟件開發人員的基本素質(學習能力、解決問題能力等)不談,我們希望能夠通過本期專題來讓讀者更加清晰地認識,如何才能成爲一位具備基本技能的開發人員。
經過幾輪不斷的討論,若干專家和編輯謹慎地選擇了七種程序員的基本技能,它們是:
  ● 數組、字符串與哈希表● 正則表達式● 調試● 兩門語言● 一個開發環境● SQL語言● 編寫軟件的思想
  作爲一位開發人員,可能對上述所有的技術都嗤之以鼻——這些都是最根本的軟件開發技術,何以被稱之爲武器?然而,正是這些最根本的東西,成爲了很多軟件開發人員向更高層次邁進的絆腳石。在多次的溝通和討論當中,許多軟件技術專家感同身受。

  1. 數組、字符串與哈希表

任何受過專業訓練的程序員,對“數據結構”這門課程中涉及到的各種數據結構都不會陌生,但是在實際的編程工作中,大部分的數據結構都不會用到,而且也永遠都不會用到。雖然如此,深入地理解基本數據結構的概念和實現細節,仍然是每個程序員的任務。這不僅僅是因爲,掌握這些知識將有利於更加正確和靈活地應用它們,而且也是因爲,對於語言背後的實現細節的求知慾是一個優秀程序員的素質。

    2.  正則表達式

在程序員日常工作中,數據處理佔據了相當的比重。而所有的數據之中文本又佔據了相當的比重。文本能夠被人理解、具有良好的透明性,利於系統開發、測試和維護等就必需要有一定規律遵循一種規則,當你掌握一門正則表達式語言,就能夠培養你編程的直覺本能,達到較高水平,也能夠在實踐中提供更高的開發和執行效率。

   3.  調試

軟件調試是軟件工程的一個重要部分,其過程出現在軟件工程的各個階段,從最初的可行性分析、原型驗證、到開發和測試階段、再到發佈後的維護與支持,都有軟件調試過程參與。學習和靈活運用軟件調試技術,不僅可以提高程序員工作效率,而且有利於對代碼的感知力和控制力,加深對軟件和系統的理解。此外,調試技術是解決各種軟件難題的一種有效武器,它直擊要害、銳不可擋,相對其它間接方法具有明顯的優勢。軟件有大美,調試見真功!

   4.   兩門語言

任何一位職業化的軟件技術人員都會將編程語言當成自己的利器。它們代表了開發人員對計算機本身的理解與對軟件開發工作的執著。同時,建立在編程語言之上的基礎也標誌着程序員的職業化道路發展到了一個新的階段,而單一語言又有一定的侷限性,軟件開發的本質就是處理信息以及數據。一種專門用來處理數據的腳本語言常常是走向更加職業化的必備武器之一。所以精通兩種語言,對於任何一個開發人員來說,並非必須,但是對於一個專業化程度較高的開發人員來說,又常常是必要的。

   5.  一個開發環境

隨着技術的進步,IDE已經越來越強大,遠遠超出我們心目中的最初形象,越來越多的內容被涵蓋到IDE中,從需求分析、業務建摸大批軟件發佈,IDE已經逐漸覆蓋了軟件開發的整個生命週期。

   6.  SQL語言

說起SQL,絕大多數程序員對其作用都瞭然於胸--用來訪問數據庫嘛。確實,數據是信息系統的核心,沒有數據的計算機應用沒有任何意義。信息系統中,大量數據本質上就以實體--關係的模式存在,而RDBMS支持SQL這麼簡單但表達能力豐富的訪問接口,同時還提供了內建的事務ACID特性保證和故障恢復能力--因此,RDBMS理所當然地成爲了大部分信息系統的標準數據存儲介質。於是,無論使用何種語言開發信息系統,從C、C++,Delphi到Java,從Perl、Python到Ruby,使用SQL訪問RDBMS都是我們必須修煉的武功祕籍。

   7.   編寫軟件的思想

說起程序員的武器自然少不了技術書籍,它們就像是拳譜、劍經、雖然不能馬上轉化爲巨大的傷害輸出,但假以時日勤以研讀,有朝一日成爲傍身絕學也是說不定。不過雖然各類技術書籍汗牛充棟,除去入門時淺顯易用的參考和複雜深奧的學術專著,能夠讓所有程序員常看常新的心法祕籍還是不多。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章