幼教網(wǎng)
全國站
您現(xiàn)在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開發(fā) > 正文

如何學習一門編程語言 (2)

來源:菜鳥教程 2018-06-14 09:04:45

說兩句


  比較流行的編程模式大概有:

  面向對象編程,主要是封裝、繼承、多態(tài);函數(shù)式編程,主要是應用 Lambda;過程式編程,可以理解為實現(xiàn)需求功能的特定步驟。

  每種編程模式都有一定的道理,我從不認為只有面向對象編程才是王道。

  Java 是面向對象語言,從 Java8 開始也支持函數(shù)編程(引入 Lambda 表達式);C++ 可以算是半面向對象,半面向過程式語言。

  語言自身特性

  每個語言自身都有一些重要特性需要了解。例如,學習 C、C++,你必須了解內存的申請和釋放,了解指針、引用。而學習 Java,你需要了解 JVM,垃圾回收機制。學習 Javascript,你需要了解 DOM 操作等。

  代碼組織、模塊加載、庫管理

  一個程序一般都有很多個源代碼文件。這就會引入這些問題:如何將代碼文件組織起來?如何根據(jù)業(yè)務需要,選擇將部分模塊啟動時進行加載,部分模塊使用懶加載(或者熱加載)?

  最基本的引用文件就不提了,如C、C++的#include,Java 的 import 等。

  針對代碼組織、模塊加載、庫管理這些問題,不同語言會有不同的解決方案。

  如 Java 可以用 maven、gradle 管理項目依賴、組織代碼結構;Javascript (包括 Nodejs、jquery、react 等等庫)可以用 npm、yarn 管理依賴,用 webpack 等工具管理模塊加載。

  容錯處理

  程序總難免會有 bug。

  所以為了代碼健壯性也好,為了方便定位問題也好,代碼中需要有容錯處理。常見的手段有:

  異常

  斷言

  日志

  調試

  單元測試

  輸入輸出和文件處理

  這塊知識比較繁雜。建議提綱挈領的學習一下,理解基本概念,比如輸入輸出流、管道等等。至于 API,用到的時候再查一下即可。

  回調機制

  每種語言實現(xiàn)回調的方式有所不同,如 .Net 的 delegate (大量被用于 WinForm 程序);Javascript 中函數(shù)天然支持回調:Javascript 函數(shù)允許傳入另一個函數(shù)作為入?yún)ⅲ缓笤诜椒ㄖ姓{用它。其它語言的回調方式不一一列舉。

  序列化和反序列化

  首先需要了解的是,序列化和反序列化的作用是為了在不同平臺之間傳輸對象。

  其次,要知道序列化存在多種方式,不同編程語言可能有多種方案。根據(jù)應用的序列化方式,選擇性了解即可。

  進階特性

  以下學習內容屬于進階性內容?梢愿鶕(jù)開發(fā)需要去學習、掌握。需要注意的是,學習這些特性的態(tài)度應該是不學則已,學則死磕。因為半懂半不懂,特別容易引入問題。

  對于半桶水的同學,我想說:放過自己,也放過別人,活著不好嗎?

  并發(fā)編程:好處多多,十分重要,但是并發(fā)代碼容易出錯,且出錯難以定位。要學習還是要花很大力氣的,需要了解大量知識,如:進程、線程、同步、異步、讀寫鎖等等。

  反射:讓你可以動態(tài)編程(慎用)。

  泛型:集合(或者叫容器)的基石。精通泛型,能大大提高你的代碼效率。

  元數(shù)據(jù):描述數(shù)據(jù)的數(shù)據(jù)。Java 中叫做注解。

  庫和框架

  學習一門編程語言,難免需要用到圍繞它構建的技術生態(tài)圈——庫和框架。這方面知識范圍太龐大,根據(jù)實際應用領域去學習吧。比如搞 JavaWeb,你多多少少肯定要用到 Spring、Mybatis、Hibernate、Shiro等大量開發(fā)框架;如果做 Javascript 前端,你可能會用到 React、Vue、Angular 、jQuery 等庫或框架。

  小結

  總結以上,編程語言學習的道路是任重而道遠的,未來是光明的。

  相關推薦:

小升初試題、期中期末題、小學奧數(shù)題

盡在奧數(shù)網(wǎng)公眾號

   歡迎使用手機、平板等移動設備訪問幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點擊查看

  • 歡迎掃描二維碼
    關注幼教網(wǎng)微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關注奧數(shù)網(wǎng)微信
    ID:aoshu_2003

熱點專題

  • 幼兒園教學課件:奇特的建筑
  • 幼兒教學課件:小魚的夢
  • 河頭幼兒園“幫水寶寶搬家”

[幼兒園英語課件]幼兒園英語課件:認識時間

[幼兒園英語課件]幼兒園英語課件:A Apple

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導

學區(qū)房

幼升小真題

重點小學

上海小學

廣州小學

深圳小學

成都小學

武漢小學

南京小學

北京一類幼兒園

海淀區(qū)幼兒園

西城區(qū)幼兒園

東城區(qū)幼兒園

朝陽區(qū)幼兒園

其他區(qū)幼兒園

幼兒園資訊

教師園地

幼兒園說課稿

幼兒園教案

教學論文

幼兒園課件

幼兒園教師心得

幼兒園評語

少兒教育

胎教

早期教育

入園必讀

潛能開發(fā)

藝術培養(yǎng)

家庭教育

兒童樂園

科普知識

圖書推薦

睡前故事

成語故事

童話故事

唐詩宋詞

孕育指南

時尚媽咪

健康寶貝

美食廚房

趣味數(shù)學

健康飲食

專家答疑

-->