當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]很多人喜歡爭(zhēng)論什么什么編程語(yǔ)言好,我認(rèn)為這個(gè)話題如果不限定應(yīng)用范圍,就毫無(wú)意義。 每種編程語(yǔ)言必然有其優(yōu)點(diǎn)和缺點(diǎn),這也決定了它有適合的應(yīng)用場(chǎng)景和不適合的應(yīng)用場(chǎng)景?,F(xiàn)代軟件行業(yè),想一門編程語(yǔ)言包打天下是不現(xiàn)實(shí)的。這中現(xiàn)狀也造成了一種現(xiàn)象,一個(gè)程序員往往要掌握多種編程語(yǔ)言。

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

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

學(xué)習(xí)任何一門編程語(yǔ)言,都會(huì)面臨的第一個(gè)問(wèn)題都是:如何學(xué)習(xí) XX 語(yǔ)言?

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

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

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

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

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

基本語(yǔ)法

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

控制臺(tái)輸出,如 C 的 printf,Java 的 System.out.println 等。

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

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

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

• 變量

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

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

• 邏輯控制語(yǔ)句

編程語(yǔ)言都會(huì)有邏輯控制語(yǔ)句,哪怕是匯編語(yǔ)言。

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

• 運(yùn)算符

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

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

• 注釋(沒(méi)啥好說(shuō)的)

• 函數(shù)

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

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

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

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

常用類

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

語(yǔ)言特性

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

• 編程模式

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

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

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

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

• 語(yǔ)言自身特性

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

代碼組織、模塊加載、庫(kù)管理

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

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

針對(duì)代碼組織、模塊加載、庫(kù)管理這些問(wèn)題,不同語(yǔ)言會(huì)有不同的解決方案。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉