如何學會600多種程式語言

2020-12-12 CSDN技術社區

幾周前,做為8th Light公司的實習生,我從CEO那裡拿到了我的工作成績報告。在與CEO的會見期間,我發現了一個對如何做一個程式設計師的認識上的盲區。起初我以為,想擴展自己的軟體職業道路,那就要學很多各種的語言。我現在就要告訴你,事情不是這樣的。 

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

 

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

面向對象程式語言的基礎理論要點: 

學習基礎理論要點,例如設計模式/範式,這樣你就知道了在所有面向對象的程式語言中共同的知識,而不是只提高了一種語言水平。這是學習程式語言最有效的方法。 

程式語言的類型有很多種,例如函數式語言,面向對象語言,面向數據語言(更多)。通過把各種語言歸納分類,這600種語言大概可以分成50類。通過學習每種分類的基礎理論要點,再學習分類中的不同語言就變得容易多了。這裡我給出一個例子。 

對於面向對象程式語言,有5個基本原則能幫助你寫出整潔優秀的代碼。這些原則由Bob Martin總結,叫做SOLID原則。這裡有一篇文章用圖片形式很好的對這些原則進行了解釋說明。這些原則是: 

  • 一個對象只承擔一種責任,所有服務接口只通過它來執行這種任務。
  • 程序實體,比如類和對象,向擴展行為開放,向修改行為關閉。
  • 子類應該可以用來替代它所繼承的類。
  • 一個類對另一個類的依賴應該限制在最小化的接口上。
  • 依賴抽象層(接口),而不是具體類。

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

各種面向對象語言間的不同之處: 

同屬於面向對象語言,它們之間存在大量不同之處: 

語法:了解各種語言在語法句式上的差異有很多好處,其中之一能幫助優化你的編碼。通過讓一個方法或類跟它的行為在特徵是保持相似,這能讓程序更容易懂。

獨特性:每種程式語言跟其它種比起來都有自己的獨特之處。Java有私有方法和數據自定義上的特點,Ruby在Web應用上有很強的優勢。

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

總結 

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

原文出自:aqee

英文出自:takadevelop

相關焦點

  • 如何熟練掌握多種程式語言
    但是,正如我過去發現的那樣,學習一種新的程式語言與學習一種新的自然語言相同。此外,能流利使用多種程式語言涉及一些與我能流利使用多種自然語言時相同的基礎知識和技巧。首先學習靜態類型和語法特定的語言幾乎每篇標題為"我應該首先學習哪種程式語言?"的文章表明Python是某人學習的理想的第一語言。
  • 如何學會所有的程式語言?
    話是沒錯,不過更重要的你要學會「如何學習新的程式語言」,而不只是學會某一門具體的語言。要掌握「學會所有程式語言」的能力,你不需要是一個天才,你要做的是掌握程式語言的核心知識,並知道所以,代碼實際上就是你傳達給人類和計算機的「消息」。這也是在設計和實現程式語言時需要考慮的權衡點。因為:一些最佳實踐。
  • 你真的需要了解多種程式語言嗎?
    你真的需要了解多種程式語言嗎? 我的同事剛剛得知我即將離開公司的消息。大多數表示理解。但讓他們困惑的是,我現在的公司是一家Windows商店,用C#和.net編寫代碼。然 而,我要去擔任的是Linux環境下主要語言為Java的開發工作。
  • 五步學會任何程式語言 | Linux 中國
    有些人喜歡學習新的程式語言,也有一些人覺得學習一種都是可望不可及的事情。在本文中,我將向你展示如何像程式設計師一樣思考,這樣你就可以自信地學習任何一門你想要學習的程式語言。事實上,一旦你學會了如何編程,你使用的程式語言就不再是一個障礙,而更像是一種形式。實際上,這就是教育家們倡導 讓孩子儘早學習編程 的眾多原因之一。
  • 三天學會C語言編程 | 中篇
    本文是《三天學會C語言編程》的第二篇文章,承接上一篇《三天學會C語言編程 | 上篇》。本文重點介紹C語言的數據類型、表達式、變量和函數等內容。數據類型C語言中有多種數據類型,這些數據的類型與我們日常生活中的數據的類型有些類似。比如整型數和浮點型數(小數),還有一些我們平時接觸不到的數據類型,如字符串類型(上文中的hello world!就是一個字符串類型的數據)。
  • 如何快速實現C語言上手編程,福利在這裡,C語言編程的入門教程
    C語言編程如何快速實現在我們初次學習C語言的時候,總想著快速的實現編譯過程。那麼C語言編程究竟是如何實現的呢,當然是要通過自己喜歡的編譯器來編譯完成,那麼今天就為大家介紹C語言編程是如何快速的實現。然後在選擇C++語言,C++語言是C語言的升級版,然後再次點擊「Next」,進入下一步。5. 選擇創建的名稱,可以創建一個醒目的名稱。然後便是文件放置位置,然後點擊「Next」。6. 點擊最左側欄「main.cpp」會出現編程書寫界面,然後便可以實現我們的代碼編程。7.
  • 程式語言TOP10!該如何選擇適合自己的?
    編程領域大約有700種代碼語言。理解程式語言的重要性以及其如何影響需要執行的具體任務至關重要。一篇文章窮盡700 種語言不現實,也沒有意義。因此,筆者挑選出了時下最熱門的原因,在本文中一一分析其特徵、優缺點和發展方向,並確定其是否有學習價值。 文中有些觀點可能較為主觀,讀者可以在看完講解後自行決定最適合自己學習的語言。下面就開始按照排名由後至前的順序認識這些語言吧。
  • 學習編程和學習程式語言是兩碼事
    但問題是,當我不知道如何下手時,我忘記了應該去探索要做什麼,而不是尋找正確的工具。程式語言的奇怪之處在於它們總是在變化。程式語言幾乎每天都在變化,跟進非常困難。而且大多數優秀的程序僅用到了程式語言的一小部分。優先學習程式語言的問題就像在學習木工之前學習如何使用木工鋸、錘子和各種切割機。木工需要注意:想法、可行性分析、度量、測試、用戶使用習慣,老木匠更關注這些。
  • R語言編程入門進階(學會使用函數包)
    今天我們來學習R語言編程的進階——函數包的使用:掌握了一定R語言編程語法後,就要面對更高階的學習了,我在前面說過,編程最後看的不是你對程式語言的掌握程度,而是看的你的數學能力和邏輯能力。當然在實際的生物信息學或者生物學研究生的工作中,我們沒有那麼多時間來進行數學模型建立、編程。那麼巧妙應用已有的R語言函數包則是完成工作的捷徑。
  • [探討]如何創建比C語言更快的程式語言?
    單從程式語言特性來判斷,雖然Fortran語言也以快而著稱,但開發者們還是將C語言稱之為領導者。開發者創建新一門語言通常以C語言為參照對象,將語言編譯時間與C語言進行對比,會因比C語言慢多少而引以自傲。然而,很少有語言能夠擊敗C。那麼,什麼樣的語言才能比C更快呢?
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 同時學習多種程式語言其實很容易
    大概是兩年前吧,我做了個決定,要去學習編程。我買了本PHP書,開始一邊閱讀一邊做裡面的練習題。
  • 兒童編程的語言規律
    隨著少兒編程的浪潮,用什麼專業語言成了很多教學機構和老師們的所要思考的問題,格物斯坦表示:任何一門高科技的表達都是很神聖且科學化的範疇。兒童身為祖國的未來,對編程技能壓機掌握的爐火純青才算是學會了。很多兒童編程教育機構喜歡拿比爾蓋茨啊,拉裡佩奇啊,謝爾蓋布林、扎克伯格的編程經歷當宣傳內容。太遙遠太不現實,同時,也別聽什麼程式語言未來會怎樣怎樣,事實上絕大數的碼奴的日子並不是大家想像的那麼舒坦,那麼光鮮。家長們要知道,兒童學習編程教育,不是真正的學如何敲代碼,而是算計算機思維。
  • 機器語言的世界,成為一名合格的程式設計師,這些程式語言你學會了?
    相信對於一位程式設計師來說,能夠學會世界上最頂級、最難的程式語言,是夢寐以求的事情。但是世界上的各種程式語言實在是太多了,而人力卻十分有限,因此對於一位合格的程式設計師來講,能夠學會C、C++以及JAVA這三種基礎的程式語言了,就算相當成功的了。
  • 自動化程式語言的未來
    未來的自動化操作可能使用多種程式語言,對於程式設計師來說,了解哪些語言是可用的、適合於哪些領域,以及如何用其創建可讀、有資源支持的代碼將至關重要。梯形圖邏輯,是可編程邏輯控制器(PLC)的主要程式語言之一。它簡單易用,並以圖形方式表示繼電器觸點和線圈。
  • 如何從零學習一門程式語言,並由此拿到高薪?
    學習任何一門程式語言,都會面臨的第一個問題都是:如何學習這門語言?
  • 如何快速學習計算機程式語言
    如何快速學習計算機程式語言呢?這是很多零基礎同學想要知道的答案。隨著網際網路的飛速發展,程式設計師的工資越來越高,很多人想加入程式設計師的隊列,想要快速掌握編程技術。那麼應該如何快速學習計算機程式語言呢?1、首先應該知道自己為什麼學習計算機程式語言,如果只是盲目的追求高薪,對電腦程式沒有濃厚的興趣,那麼零基礎想要快速學習計算機程式語言是非常困難的。想計算機程式語言,應該擁有濃厚的興趣,再加上堅持不懈的精神,這樣才能更快地學習程式語言。
  • 簡單講解關於少兒編程的幾種語言或工具
    二、logo語言LOGO 語言是一種早期的程式語言,也是一種與自然語言非常接近的程式語言,它通過「繪圖」的方式來學習編程,對初學者特別是兒童進行寓教於樂的教學方式。這算是最基礎的編程入門語言了,通過輸入一些簡單的英文字符組成的命令實現對一隻小海龜的操作,主要功能就是讓小海龜繪製各種圖案。
  • 編程入門第一問:哪個語言最適合自己?
    今年是我進入編程行業的第八年。今天分享的內容來自我下面的互動課程,趣味互動模式,聊著天學乾貨。點擊免費體驗👇  之前後臺收到私信,有讀者問道:那麼多程式語言,該學哪一種?要解決語言選擇這個問題,首先你要建立起對「程式語言以及編程行業」正確的看法及認知。你為什麼要學習編程?
  • 最困難的程式語言永遠是你將要學習的第二個程式語言
    在學校裡老師常跟小芯說的一些東西,小芯可以分享給新手開發人員:最困難的程式語言永遠是你將要學習的第二個程式語言。不要因為小芯分享的故事而垂頭喪氣——小芯故事的意思是,當你開始學習如何編程,你會對編程有預先的想法。最後,你會做出比理應更多的句法連接和假設,由此,在開始學習第二種程式語言時,你必須忘記上述假設。