永不過時的程式設計工具

yarking207發表於2016-04-05

我從事專業程式設計工作已經十年有餘。有些過時的東西我早就應該把它們忘記了(噢,上帝呀,Cold Fusion),但是迄今為止,依然有許多工具、技巧和概念繼續在我的工作中發揮著重要的作用。以下內容是我的一個小結。與此同時,我也希望瞭解一下你們 的情況,這樣我就不僅可以體驗一下發現的樂趣,或許還能夠從中找到一些我後悔當初沒有早點兒學習的知識、理論或者工具。

關係代數 / 結構化查詢語言

我對此深感幸運,十四歲那年夏季,我當時由於缺少朋友,所以除了獨自翻閱一本名為 的專業書之外,實在沒有什麼其它更好的事情可幹。在這本書的評論裡,你雖然可以到這樣的評價『粗略、不完整,而且幾乎沒有任何用處。』 但是不管怎樣,我的確從中瞭解了結構化查詢語言和資料庫方面的知識。稍後不久,我又學習了關係代數(關係型資料庫系統的基本理論和原理),這成為我一生中 最有價值的一項投資。我幾乎無法統計出僅 LEFT OUTER JOIN 一條語句究竟有多少次拯救我於水火之中。

就在我加入 EnterpriseCo 公司之後,當我需要從 MySQL 轉換到 Oracle 以及 MS SQL 的時候,關係代數的學習為我奠定了堅實基礎。在沒有程式設計框架或者關係物件模型庫的情況下,知道如何與資料庫進行互動,幫助我快速提升了職業生涯的發展。這 就是為什麼當我僅有20歲時,我就能承擔下一份為新墨西哥州聖達菲市搭建一個定製化網站的專案,而不是像其他人那樣,整天都在擺弄 Wordpress 或 Drupal 的各類功能外掛。

如果你來自 Rails 或者其它一些能夠直接支援資料庫互動的開發框架陣營,你為你的職業生涯所能做的最好一件事情就是,學習關係理論和結構化查詢語言。閱讀 效果可能更加顯著。

Unix 程式模型

理解 Unix 程式幫助我真正搞懂了,當我執行一個計算機程式時,究竟發生了哪些事情。當然,它也幫助我深入理解了一個 Web 伺服器到底是個什麼東西,以及當我編寫一個 Web 應用程式時,我實際是在做些什麼。《高階 Linux 程式設計》一書有 專門描述這個主題。實際上, 都是免費的。

當你還不瞭解程式這個概念的時候,程式設計對你來說就會變得更為困難、甚至更加神秘莫測。你將很難理解一個程式的效能表現,你將很難理解一個程式如 何與其它程式互動。當你實際執行一個自己編寫的程式時,如果你對將要發生的事情,有一種概念模糊的感覺,學習 UNIX 程式模型將會對你清除這些障礙大有助益。

正規表示式

是啊,是啊,我們都聽說過 這個笑話 :『總有一些人,當他們面對一個問題時,直接的想法就是 ‘我應該使用正規表示式。’ 現在他們需要面對兩個問題。』就我本人而言,我不太明白這個笑話想要表達的含義,因為正規表示式真 TMD 太牛逼了。我清晰地記得,18歲的時候,我在一個酒店擔任夜間審計員,從晚上11點直到上午7點那段時間,當我翻閱完 O'Reilly 那本又厚又重的正規表示式教程書後,我完全被它所擁有強大功能震撼住了。我們總在說,程式設計師特別擅長與文字打交道,要是和正規表示式相比,根本不值一提。 正規表示式是一個非常重要的工具,你透過 就能夠學會並掌握它們。

有限狀態機

正規表示式就是在有限狀態機的基礎上構建的。這是 一個關於有限狀態機的優質教程 ,它給我們展示了一個正規表示式的具體實現過程。真是酷斃了!

我認為有限狀態機應當屬於電腦科學的基礎理論範疇,但是由於我在大學只待了一年時間,而且在接下來的一段時間裡,我主要參與編寫了一些與電腦 千禧年問題相關的程式,那是在計算機革命之前。直到大約六年前,我才開始接觸到這一理論專題。當時,我與同事正在開發一個移動應用程式。我們遭遇的問題 是,我們必須以一種特定的順序初始化這個程式,但是,確保正確實現的邏輯關係卻因為相互糾纏而變成了一團亂麻。

儘管我們在學習有限狀態機上花費了一些時間,但是在我們掌握了這個概念之後,描述這個程式的初始化過程一下子變得非常簡單和清晰 - 只需表示成序列化狀態和過渡就可以了。從那時起,我發現了絕大多數的複雜使用者介面程式碼都能採用這一方法加以改進和完善。就在幾個月前,正當我使用 程式設計框架從頭設計與實現一個類似 的實時提示功能時碰到了一個難題。然而當我發覺這個難題可以利用所有可能狀態進行跟蹤就可以很好解決的時候,我只用了幾分鐘時間就把這件事搞定了,然後我迅速重歸正常工作狀態。

情緒 & 情感管理

在我的個人生活中,我一直在學習和嘗試情緒管理的各種方法和技巧。這主要是源於我渴望改善他人生活的願望。另外,從自私的角度來說,學習它們能 夠幫助我更好地完成工作。情緒管理可能是一項每個人都有待開發的最重要的一項元能力(meta-skill)。我的意思是說,情緒與情感恰好位於我們人類 的核心部位。

這本 一書是應對情緒問題的優秀學習與參考資源。另外,我的朋友 Alex Harms 最近特意撰寫了 ,當然同樣非常值得一讀。

這些就是我個人選出的最好程式設計工具 - 我希望你們能從中找到對自己真正有用的東西!

作者: ,程式設計師, 作者,熱愛 。

原文:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/220205/viewspace-2075674/,如需轉載,請註明出處,否則將追究法律責任。

相關文章