近日,地產(chǎn)大佬潘石屹在微博上宣布,要開始學(xué)習(xí)Python編程語(yǔ)言,還表示這是給自己人生的禮物。
(圖片源自微博截圖)
提到Python,可能更多人會(huì)想到的是人工智能、大數(shù)據(jù)等偏向于軟件算法層面的應(yīng)用。Python作為一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它在設(shè)計(jì)之初是被用于編寫自動(dòng)化腳本,隨著版本迭代更新,Python的語(yǔ)言體系更加成熟,作用也越來(lái)越大。
對(duì)于電子工程師來(lái)說(shuō),Python同樣能起到重要的作用。比如在單片機(jī)上,可以利用Python腳本語(yǔ)言進(jìn)行程序開發(fā)。借助Python,人們還可以實(shí)現(xiàn)對(duì)硬件底層的訪問(wèn)和控制,比如通過(guò)Python控制LED燈泡、LCD顯示器、讀取電壓、控制電機(jī)等操作。在本文中,小編還盤點(diǎn)了Python以外電子工程師應(yīng)該了解的幾種編程語(yǔ)言,一起來(lái)看下。
一、C語(yǔ)言
C語(yǔ)言是所有程序語(yǔ)言的基礎(chǔ),尤其是在電子信息工程專業(yè),C語(yǔ)言是專業(yè)課上必須學(xué)習(xí)的編程語(yǔ)言。C語(yǔ)言作為一門面向過(guò)程、抽象化的通用程序設(shè)計(jì)語(yǔ)言,在各類電子設(shè)備、信息系統(tǒng)的研究、設(shè)計(jì)、制造、應(yīng)用和開發(fā)中,起到至關(guān)重要的作用。
相較于其它編程語(yǔ)言,C語(yǔ)言具有兩個(gè)特點(diǎn):1、兼顧了高級(jí)語(yǔ)言的優(yōu)點(diǎn);2、普適性較強(qiáng),效率顯著。在計(jì)算機(jī)系統(tǒng)設(shè)計(jì)以及應(yīng)用程序編寫上,C語(yǔ)言成為了首選編程語(yǔ)言。在其他的編程領(lǐng)域,C語(yǔ)言的運(yùn)用同樣廣泛。
二、C++
C++是在C語(yǔ)言的基礎(chǔ)上開發(fā)的一種面向?qū)ο缶幊陶Z(yǔ)言,它既能進(jìn)行C語(yǔ)言的過(guò)程化程序設(shè)計(jì),又能進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還能進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì),具備靈活、運(yùn)算結(jié)構(gòu)豐富、執(zhí)行效率高等特點(diǎn)。
得益于早期C語(yǔ)言的普及,C++從出現(xiàn)到流行也只花了短短幾年時(shí)間。如今,在科學(xué)計(jì)算、網(wǎng)絡(luò)軟件、操作系統(tǒng)等應(yīng)用中,都是主力編程語(yǔ)言。對(duì)于電子工程師來(lái)說(shuō),在很多嵌入式控制系統(tǒng)中,都需要用到微處理器,要和微機(jī)接口進(jìn)行通信,因此C++也是一門需要掌握的編程語(yǔ)言。
三、Assembly Language(匯編語(yǔ)言)
Assembly Language也就是我們常說(shuō)的匯編語(yǔ)言,它是一種用于電子計(jì)算機(jī)、微處理器、微控制器或其他可編程器件的低級(jí)語(yǔ)言,亦稱為符號(hào)語(yǔ)言。匯編語(yǔ)言是機(jī)器語(yǔ)言之上的第二代編程語(yǔ)言,優(yōu)缺點(diǎn)兼具。它可以輕松讀取存儲(chǔ)器狀態(tài)以及I/O接口情況,能夠準(zhǔn)確高效的被執(zhí)行,具有很高的擴(kuò)展性。它也具有代碼冗長(zhǎng)、編寫困難、容易出BUG而且比較難調(diào)試、后期維護(hù)不易、代碼兼容性差等缺點(diǎn)。
由于匯編更接近機(jī)器語(yǔ)言,能夠直接對(duì)硬件進(jìn)行操作,因此在一些時(shí)效性要求高的程序、核心模塊以及工業(yè)控制方面被大量應(yīng)用。隨著半導(dǎo)體技術(shù)、編程技術(shù)的不斷發(fā)展,匯編語(yǔ)言在實(shí)際工程應(yīng)用中的身影越來(lái)越少,但并不能說(shuō)明匯編語(yǔ)言已被其他高級(jí)語(yǔ)言取代。它是培養(yǎng)學(xué)生理解硬件資源的語(yǔ)言,是學(xué)習(xí)和理解其他高級(jí)程序設(shè)計(jì)語(yǔ)言的基礎(chǔ),起著承上啟下的作用。
四、Java
Java語(yǔ)言是一門功能強(qiáng)大且簡(jiǎn)單易用的面向?qū)ο缶幊陶Z(yǔ)言,它不僅融合了C++的語(yǔ)言優(yōu)點(diǎn),還剔除了里面難以理解的繼承、指針等概念,讓程序員能夠以更簡(jiǎn)單的方式完成復(fù)雜的編程。Java具有簡(jiǎn)單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。
在桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)設(shè)計(jì)等領(lǐng)域,Java都起到了重要作用。
五、Swift
Swift中文名叫做“雨燕”。它是在2014年蘋果在開發(fā)者大會(huì)上,針對(duì)開發(fā)者推出的新的編程語(yǔ)言。與C語(yǔ)言和Python相比,Swift更具優(yōu)勢(shì)。甚至在某些應(yīng)用中,Swift能夠與C語(yǔ)言共存。從交互性上來(lái)說(shuō),Swift帶來(lái)的體驗(yàn)更好,開發(fā)者只需要在左側(cè)輸入代碼,右側(cè)就直接顯示結(jié)果了。
有人說(shuō),Swift代表著迅速、時(shí)尚、互動(dòng)和安全。Swift作為一款易學(xué)易用的編程語(yǔ)言,它以安全為出發(fā)點(diǎn)而設(shè)計(jì),能用來(lái)避免各種常見的編程錯(cuò)誤。
六、Perl
Perl語(yǔ)言可能比較少人聽過(guò),它是一種功能豐富的計(jì)算機(jī)程序語(yǔ)言,從大型機(jī)到便攜設(shè)備,從快速原型創(chuàng)建到大規(guī)??蓴U(kuò)展開發(fā),Perl語(yǔ)言已經(jīng)被運(yùn)用在超過(guò)100種計(jì)算機(jī)平臺(tái)上。Perl語(yǔ)言愛好者一般將其稱為“一種擁有各種語(yǔ)言功能的夢(mèng)幻腳本語(yǔ)言”、“Unix中的王牌工具”。
簡(jiǎn)單來(lái)說(shuō),Perl像C語(yǔ)言一樣強(qiáng)大,同時(shí)還兼具了awk、sed等腳本描述語(yǔ)言的便捷性。
七、MATLAB
MATLAB從嚴(yán)格意義上來(lái)說(shuō),不是一種純粹的語(yǔ)言代碼,它是一種用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。使用MATLAB比傳統(tǒng)的編程語(yǔ)言(如C、C++等)能夠更好更快地解決技術(shù)計(jì)算問(wèn)題。
MATLAB是一個(gè)高級(jí)的矩陣/陣列語(yǔ)言,它包含控制語(yǔ)句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c(diǎn)。最新版的MATLAB語(yǔ)言也是以C++語(yǔ)言為基礎(chǔ)而開發(fā)的,因此語(yǔ)法特點(diǎn)與C++語(yǔ)言相似而且更簡(jiǎn)單,對(duì)于電子工程師來(lái)說(shuō),MATLAB語(yǔ)言可移植性好、可拓展性極強(qiáng),能夠深入到科學(xué)研究及工程計(jì)算各個(gè)領(lǐng)域。
總結(jié)
如今,電子工程師的軟件編程能力也越來(lái)越重要,尤其是在面對(duì)單片機(jī)之類的嵌入式開發(fā)、PLC設(shè)計(jì)或者DCS等工業(yè)自動(dòng)控制類的工作,強(qiáng)大的編程能力是完成產(chǎn)品開發(fā)的必要條件。
在當(dāng)下的電子產(chǎn)品行業(yè),已經(jīng)沒(méi)有什么產(chǎn)品是依靠純硬件就能存活的,電子工程師除了電子設(shè)計(jì)為以外,還要參與編寫程序、收集數(shù)據(jù)、測(cè)試產(chǎn)品、調(diào)試改良等環(huán)節(jié)。畢竟,多學(xué)習(xí)各類編程語(yǔ)言沒(méi)有壞處!說(shuō)不定在哪個(gè)環(huán)節(jié)就會(huì)用到了。