關于編程學習的七點思索(2)

發表于:2014-01-14來源:justjavac作者:不詳點擊數: 標簽:編程
5、電子表格 如果使用了附帶強大宏系統的電子表格程序, 你將擁有一個快速的方法來閱讀其 他人(或物)代碼, 并編寫自己的代碼。首先, 將你執行次數多、

  5、電子表格

  如果使用了附帶強大宏系統的電子表格程序, 你將擁有一個快速的方法來閱讀其 他人(或物)代碼, 并編寫自己的代碼。首先, 將你執行次數多、通常需要采取數個繁瑣步驟的任務記錄成一個宏。接下來, 打開宏的源代碼, 閱讀并進行編輯, 使 之更適合于一般用途。這是一個非常有限的方法, 不會帶來多大的長進, 但可能會幫助你上路, 自然地喜歡上簡單的腳本代碼。

  使用此類腳本的最常見的電子表格程序可能是微軟Excel。 Excel所使 用的VBA是一種貧乏的語言, 但是如果你在日常工作中大量使用Excel, 這可能是無論如何你都該掌握的一種技能。 OpenOffice.org使用了類似的宏系統, 使用方法大致相同, LibreOffice也像微軟Office一樣, 提供了學習代碼的機會。

  在任何情況下, 編寫程序的門坎都比編寫簡單的命令行shell腳本代碼稍高, 因為菜單選項和按鈕需要點擊才能啟用。入門的成本類似于用市場上的一種主要IDE開始一個新項目, 但是一個大幅縮水的“項目”。這會是一個不錯的主 意, 可以確保這不僅僅是在日常開發環境中編寫腳本的機會, 甚至是加以利用就會很有幫助的。

  6、Unix

  如果你定期使用一些類UNIX系統, 在尋找鍛煉初期編程技能的方式時就具有巨大的優勢。 UNIX在簡單腳本自動化方面提供了比任何其他家庭通用操作系統的更多的使用機會, 這要感謝平臺上管理腳本的極大靈活性。在最不復雜的情況 下, 一個管理腳本可能只不過是將一系列shell命令保存到一個文件中。在此基礎上, 可以利用簡單的循環和條件結構、輸入輸出處理、文件讀寫、計劃任務來 進行擴展。

  通過編寫簡單shell腳本爽過一把后, 花一段時間來學習如何用Perl、 Python和Ruby編寫管理腳本對任何一個Unix系統管理員都是值得的。在Unix環境使用這些語言的關鍵技能包括通過UNIX管道和重定向訪問文本流, 處理命令行選項, 讀寫文件, 使用正則表達式搜索和操作文本。管理員也想知道編程的公共基礎知識, 比如處理輸出, 循環(或在某些情況下遞歸), 以明確 界定的標準為基礎, 通過使用條件判斷結構編程來作出決策。

  編寫Unix命令行工具是一塊沃土, 有許多機會將腳本語言的巨大能力用于編程。由于管理腳本開發的靈活性和簡約性要求, 編寫工具的范圍可以從一些有用工具的最簡例子到強大的服務器進程, 甚至大規模并行任務自動化, 負載平衡, 啟發 式過濾, 和一些其他有趣的問題解決作業, 這些問題激起了世界上最好的程序員的興趣。

  雖然幾乎所有通用操作系統都具有一些使用管理腳本的能力, 其中相當一部分用途比較窄, 另一些操作系統則比較均衡。 Unix在管理腳本的適用條件方面高人一等, 因為諸如主要Linux發行版和BSD Unix系統等Unix類系統共享相同的基本運行環境設計, 他們都可以從管理腳本和腳本平臺之間的可移植性中受益 - 只要你按可移植性要求來寫這些腳本(如通過使用sh或Perl而不是bash, 選擇系統標準sysctl值而不是數據源的proc文件系統)。

  這些工作也適用于除開非常高級, 動態, 解釋型語言之外的其它語言。 C, C++, Haskell, Objective-C, Objective Caml, 以及大量其他選項正好合適各類簡單Unix工具的編寫任務。對于其中的許多語言, 即使要完成像小型管理工具的這樣簡單的工程項目, 也必須學會更 廣泛的技能, 這一要求比Perl, Ruby和Bourne shell的這樣的語言高。但這些任務與GUI應用程序開發、系統編程、其它經常使用(特別是在其他平臺上的)的任務比起來, 其艱巨性對編程初學者來說要小得多。

  實際上, 鑒于Unix哲學多年來提供了大量常用工具, 這些工具嚴格分工(大部分), 并工作良好, 類UNIX環境對編程新手的價值中有一部分是充分利用Unix命令行環境力量, 鼓勵用戶像程序員那樣去思考, 而非觀眾。

  7. Web網頁

  這是一個危險的建議, 通過玩JavaScript來學習編程。這不是因為 JavaScript是一種不好的語言, 而是因為追求動態用戶體驗的緣故, 網頁已經被不加限制地濫用JavaSciprt弄得亂七八糟, 因而在網頁上放縱 程序員新手可能會被認為是不負責任的。在網頁中JavaScript也有一些積極用法, 而且可以讓新手們對編寫在瀏覽器中運行的桌面應用程序的想法愈來愈 感興趣, 這給了我們在程序員職業生涯中盡早開始學習JavaScript的很多理由。

  事實上, JavaScript是一種最常見的、單獨的客戶端網頁腳本, 這也意味著JavaScript可能是最簡單的語言, 通過閱讀別人的代碼就能學習。找到具有客戶端動態元素的任何網頁, 然后右鍵單擊并選擇查看頁面源代碼的選項, 你就會發現它布滿了JavaScript的散落片段。對于更復雜的動態頁面, (X)HTML的網頁甚至可能引用一個純代碼的單獨.js文件。

  在把代碼上傳到公共訪問的Web服務器前要細心檢查;確保它是好的。如果你想讓更多的有用腳本以本地方式來啟動, 瀏覽器擴展性可以讓你將任意腳本應用到你查看的網頁上——而且只適用于你個人的瀏覽體驗。 Firefox的Greasemonkey是一個例子。

  征求有關代碼的反饋

  提高編程技能的另一個偉大方法是, 向自己身邊的行家里手征求反饋, 并掌握他們分享給你的的知識。他們可能并不總是彼此認可, 但如果你認為他們是值得尊敬的優秀程序員, 他們所說的至少可以提示你思考新思想, 并以新的方式回顧舊觀念。

  征求反饋的方式很多, 這兒列出幾種:

  在開始工作時, 選擇具有強大有益社區的程序語言, 如Ruby編程語言有ruby-talk郵件列表, Perl編程語言有PerlMonks網站。加入這些社區中的一個(或類似其中之一的), 并學習該語言的文化和最佳經驗, 以及得到最有效幫助的方法。

  與另一個程序員結對 。結對編程 (Pair programming)是一種時髦的做法, 已經通過敏捷開發方法的崛起而獲得尊崇。兩個人走到一起做一個項目, 但往往只有其中一個是在任何特定時間實際 編寫代碼。結組程序員輪流編寫代碼, 其中一人輸入代碼時, 另外一個則在后面閱讀代碼, 確保他們都得到大量的編碼時間。就代碼持續交談可以幫助確保解決給定 問題的最好辦法逐漸顯現并最終采用。任何一個擁有頓悟的人在試圖向另一個人解釋一個問題時, 應該認識到結對編程的潛在價值。

  尋求導師. 找到導師的地方, 可以是編程語言社區、朋友或同事之中、開放源碼(Open Source)軟件開發項目、重量級技術主題會議。學??赡苁橇硪粋€找到導師的好地方, 所謂導師, 就是對你、宿舍室友甚至研究小 組有好感, 具有不那么傳統而更互敬互讓的輔導制關系的指導老師。在學習編程過程的初期, 與導師一對一的關系有時是獲得反饋的最有價值的方式。如果你幸運地 尋得一位好的導師, 你應該好好利用這一資源優勢, 并且永遠不要認為這是理所當然的。

原文轉自:http://justjavac.com/other/2012/07/03/seven-thoughts-on-the-programming-learning.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97