<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 如何學(xué)編程語言?好菜鳥學(xué)習(xí)編程語言的步驟

          如何學(xué)編程語言?好菜鳥學(xué)習(xí)編程語言的步驟

          作者: 時間:2018-05-03 來源:網(wǎng)絡(luò) 收藏

            很多人喜歡爭論什么什么語言好,我認(rèn)為這個話題如果不限定應(yīng)用范圍,就毫無意義。

          本文引用地址:http://www.ex-cimer.com/article/201805/379381.htm

            每種語言必然有其優(yōu)點(diǎn)和缺點(diǎn),這也決定了它有適合的應(yīng)用場景和不適合的應(yīng)用場景?,F(xiàn)代軟件行業(yè),想一門語言包打天下是不現(xiàn)實(shí)的。這中現(xiàn)狀也造成了一種現(xiàn)象,一個程序員往往要掌握多種編程語言。

            學(xué)習(xí)任何一門編程語言,都會面臨的第一個問題都是:如何學(xué)習(xí) XX 語言?

            我不想說什么多看、多學(xué)、多寫、多練之類的廢話。世上事有難易乎?無他,唯手熟爾。誰不知道熟能生巧的道理?

            我覺得有必要談?wù)劦氖牵喝绾斡蓽\入深的學(xué)習(xí)一門編程語言?學(xué)習(xí)所有編程語言有沒有一個相對統(tǒng)一的學(xué)習(xí)方法?

            曾幾何時,當(dāng)我還是一名小菜鳥時,總是嘆服那些大神掌握多門編程語言。后來,在多年編程工作和學(xué)習(xí)中,我陸陸續(xù)續(xù)也接觸過不少編程語言:++、Java、#、Javascript、shell 等等。每次學(xué)習(xí)一門新的編程語言,掌握程度或深或淺,但是學(xué)習(xí)的曲線卻大抵相似。

            下面,我按照個人的學(xué)習(xí)經(jīng)驗(yàn)總結(jié)一下,學(xué)習(xí)編程語言的基本步驟。

            學(xué)習(xí)編程語言的步驟

            基本語法

            首先當(dāng)然是了解語言的最基本語法。

            控制臺輸出,如 C 的 printf,Java 的 System.out.println 等。

            普通程序員的第一行代碼一般都是輸出 “Hello World” 吧。

            ? 基本數(shù)據(jù)類型

            不同編程語言的基本數(shù)據(jù)類型不同?;緮?shù)據(jù)類型是的申請內(nèi)存空間變得方便、規(guī)范化。

            ? 變量

            不同編程語言的聲明變量方式有很大不同。有的如 Java 、C++ 需要明確指定變量數(shù)據(jù)類型,這種叫強(qiáng)類型定義語言。有的語言(主要是腳本語言),如 Javascript、Shell 等,不需要明確指定數(shù)據(jù)類型,這種叫若類型定義語言。

            還需要注意的一點(diǎn)是變量的作用域范圍和生命周期。不同語言變量的作用域范圍和生命周期不一定一樣,這個需要在代碼中細(xì)細(xì)體會,有時會為此埋雷。

            ? 邏輯控制語句

            編程語言都會有邏輯控制語句,哪怕是匯編語言。

            掌握條件語句、循環(huán)語句、中斷循環(huán)語句(break、conTInue)、選擇語句。一般區(qū)別僅僅在于關(guān)鍵字、語法格式略有不同。

            ? 運(yùn)算符

            掌握基本運(yùn)算符,如算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符等。

            有些語言還提供位運(yùn)算符、特殊運(yùn)算符,視情節(jié)掌握。

            ? 注釋(沒啥好說的)

            ? 函數(shù)

            編程語言基本都有函數(shù)。注意語法格式:是否支持出參;支持哪些數(shù)據(jù)作為入?yún)?,有些語言允許將函數(shù)作為參數(shù)傳入另一個參數(shù)(即回調(diào));返回值;如何退出函數(shù)(如 Java、C++的 return,)。

            數(shù)組、枚舉、集合

            枚舉只有部分編程語言有,如 Java、C++、C#。

            但是數(shù)組和集合(有些語言叫容器)一般編程語言都有,只是有的編程語言提供的集合比較豐富。使用方法基本類似。

            常用類

            比較常用的類(當(dāng)然有些語言中不叫類,叫對象或者其他什么,這個不重要,領(lǐng)會精神)請了解其 API 用法,如:字符串、日期、數(shù)學(xué)計算等等。

            語言特性

            語言特性這個特字反映的就是各個編程語言自身的"獨(dú)特個性",這涉及的點(diǎn)比較多,簡單列舉一些。

            ? 編程模式

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

            面向?qū)ο缶幊蹋饕欠庋b、繼承、多態(tài);函數(shù)式編程,主要是應(yīng)用 Lambda;過程式編程,可以理解為實(shí)現(xiàn)需求功能的特定步驟。

            每種編程模式都有一定的道理,我從不認(rèn)為只有面向?qū)ο缶幊滩攀峭醯馈?/p>

            Java 是面向?qū)ο笳Z言,從 Java8 開始也支持函數(shù)編程(引入 Lambda 表達(dá)式);C++ 可以算是半面向?qū)ο?,半面向過程式語言。

            ? 語言自身特性

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

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

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

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

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



          關(guān)鍵詞: 編程 C

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();