十年總結-開篇:歇一歇,才能走的更遠

來源:互聯網
上載者:User

經常見罈子裡有人問,學習java該如何入手,或者是該學java還是學XX語言。

我一直覺得,編程跟語言關係不大,重點是要有解決問題的思路。
學習一門語言,其實只是尋求如何將編程的思路落地。

學習軟體開發,可能還是先從原理入手比較好,很多人喜歡例子,
但我覺得例子所能提供的資訊雖然直觀,但也非常有限。

而且通過例子入手學習,由於例子先入為主,可能會帶來一個後果:
限制了對一種技術手段的靈活運用。
這種限制,會導致學習者無法充分發揮某項技術的優勢,
也可能使他無法在技術和要解決的問題之間做出最好的匹配。

所以,我說,用自己會的東西去解決所有問題,還是基於問題去尋找適用的技術,
應該是能力高與低的重要差異。

什麼是原理?

以武俠小說為例,
高手都是內外兼修,而且往往先通過各種方式積累了深厚的內力,
有此基礎,在修鍊精妙招式的時候,才能達到事半功倍的效果。

那麼,內功修為是激發人體潛能的原理,而招式則是一種技能,
招式是容易傳承和模仿的,可以速成,但內功修為則沒有取巧的可能性。

那麼在編程學習過程,什麼可以看作原理?

以很多人曾問過的,將來必定還會有更多人問的“多線程聊天代碼”為例,
我認為其中可以看作原理的知識點有:
線程(進程)的同步與互斥模型,
TCP/IP通訊協定

進程式控制制方面,電腦科班出身的兄弟們應該知道,進程的同步與互斥是在作業系統中學習的,而不是在哪門程式設計語言中學到,
java有自己的線程式控制制機制,c++也有,但他們的原理是相通的。

而TCP/IP協議,可能會引起爭議,有人會覺得學這個沒有實用價值。
的確,現代語言對底層通訊封裝的非常好,但我覺得還是有必要瞭解TCP/IP中的IP/UDP/TCP這三層的工作原理,
平常沒用,可一旦出現問題,這些知識才是解決問題的根本。

再說兩句現在的J2EE,
我覺得學習J2EE,最先要看的就是SUN官方的tutorial,必須理解J2EE的架構,
並至少瞭解jsp、servlet在J2EE架構中的位置、作用和工作方式。

J2EE架構,可以認為是現在所有J2EE相關架構、容器、工具的核心原理。

--------------------

一篇文章難以承載太多內容,我今後要陸續發帖,表達我的看法,
主要是關於軟體開發學習過程、軟體開發過程本身、我對自己所掌握的技術的看法,
以及軟體開發過程中的非技術因素(主要是人的因素)。

這是我從業10年的一份總結,以證明我這10年沒有白混,
也是我未來五年的一個新起點。

無論您有什麼想法、看法,只要是善意的,歡迎您與我討論、辯論。

如果這一系列的文章能夠幫到某些人,我也會非常開心。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.