自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何學會600多種編程語言

開發(fā) 開發(fā)工具 后端
我們一共有多少種編程語言?你只需看一下維基百科上的清單,600 多種!說實話,就我個人的情況,我不相信我能學會數(shù)百種語言。因為有太多的文檔需要看,它們之間有太多的差異需要注意。

各種各樣的編程語言

幾周前,做為8th Light 公司的實習生,我從 CEO 那里拿到了我的工作成績報告。在與 CEO 的會見期間,我發(fā)現(xiàn)了一個對如何做一個程序員的認識上的盲區(qū)。起初我以為,想擴展自己的軟件職業(yè)道路,那就要學很多各種的語言。我現(xiàn)在就要告訴你,事情不是這樣的。

我們一共有多少種編程語言?你只需看一下維基百科上的清單,600 多種!說實話,就我個人的情況,我不相信我能學會數(shù)百種語言。因為有太多的文檔需要看,它們之間有太多的差異需要注意。它們很多都是相似的,例如那些面向?qū)ο蟮恼Z言:C++,Java,Ruby,Python 等。然而,我們卻有一種更高效的方法學習它們,那就是對它們歸納分類。

在美國德銳大學,每個畢業(yè)生要接受的一門必修課程教育就是如何有效的學習。我很幸運遇到一位非常好的教授,Sugarman 先生,我才有機會學到學習方法。盡管這個方法非常的基礎(chǔ),但它幾乎能應用到任何事情上——不論它們的數(shù)量看起來是多么不可思議。

面向?qū)ο缶幊陶Z言的基礎(chǔ)理論要點:

學習基礎(chǔ)理論要點,例如設(shè)計模式/范式,這樣你就知道了在所有面向?qū)ο蟮木幊陶Z言中共同的知識,而不是只提高了一種語言水平。這是學習編程語言最有效的方法。

編程語言的類型有很多種,例如函數(shù)式語言,面向?qū)ο笳Z言,面向數(shù)據(jù)語言(更多)。通過把各種語言歸納分類,這 600 種語言大概可以分成 50 類。通過學習每種分類的基礎(chǔ)理論要點,再學習分類中的不同語言就變得容易多了。這里我給出一個例子。

對于面向?qū)ο缶幊陶Z言,有 5 個基本原則能幫助你寫出整潔優(yōu)秀的代碼。這些原則由 Bob Martin 總結(jié),叫做 SOLID 原則。這里有一篇文章用圖片形式很好的對這些原則進行了解釋說明。這些原則是:

  1. 一個對象只承擔一種責任,所有服務接口只通過它來執(zhí)行這種任務。
  2. 程序?qū)嶓w,比如類和對象,向擴展行為開放,向修改行為關(guān)閉。
  3. 子類應該可以用來替代它所繼承的類。
  4. 一個類對另一個類的依賴應該限制在最小化的接口上。
  5. 依賴抽象層(接口),而不是具體類。

通過學習這些原則,你可以在所有面向?qū)ο笳Z言里更有效的進行編程。當然,你需要學會一門這種類型的語言來練習這些原則,但這是完全值得的。

各種面向?qū)ο笳Z言間的不同之處:

同屬于面向?qū)ο笳Z言,它們之間存在大量不同之處:

  • 語法:了解各種語言在語法句式上的差異有很多好處,其中之一能幫助優(yōu)化你的編碼。通過讓一個方法或類跟它的行為在特征是保持相似,這能讓程序更容易懂。
  • 獨特性:每種編程語言跟其它種比起來都有自己的獨特之處。Java 有私有方法和數(shù)據(jù)自定義上的特點,Ruby 在 Web 應用上有很強的優(yōu)勢。

總之,學習各種語言之間的區(qū)別很重要。這種語言可能比那種語言中某些方面更容易使用或更強大。

總結(jié)

學習編程語言最有效的方法是學習它們的基礎(chǔ)性的模式/范式,這比單獨學習每種語言更高效。通過學習這些基礎(chǔ)原理,你可以把它們應用到很多其它類似的語言里。學習各種語言之間的差異,這能幫助我們在面對各種情況時選擇更合適的語言。

英文原文:What it means to know Programming Languages

譯文鏈接:http://www.aqee.net/what-it-means-to-know-programming-languages/

責任編輯:林師授 來源: 外刊IT評論
相關(guān)推薦

2021-01-16 11:44:46

編程語言開發(fā)

2020-11-20 06:12:32

編程語言代碼開發(fā)

2020-03-16 14:01:05

語言Java開發(fā)

2011-08-24 09:13:40

編程

2012-10-17 09:39:44

編程語言PHP學習學習編程

2015-12-23 10:00:04

多種編程語言

2015-06-10 10:43:07

2017-04-06 15:00:38

編程語言

2022-02-24 08:36:43

編程語言計算機

2015-07-14 10:21:58

2010-11-04 10:55:24

編程語言

2021-02-04 09:37:41

C語言天賦編程

2017-12-17 21:05:41

編程語言DevOps

2011-03-07 09:45:51

FileZilla

2021-02-09 00:01:05

人工智能機器學習美食

2017-12-06 08:01:52

程序員編程代碼

2017-05-05 09:45:13

編程語言學習代碼

2017-08-07 15:19:30

編程語言快速

2009-05-11 16:04:00

神童編程語言

2020-01-23 15:47:15

編程語言PythonJava
點贊
收藏

51CTO技術(shù)棧公眾號