完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > 編程語言
編程語言俗稱“計算機語言”,種類非常的多,總的來說可以分成機器語言、匯編語言、高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。
編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員能夠準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應當采取的行動。
最早的編程語言是在電腦發明之后產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的編程語言,而且每年仍有新的編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬于聲明式編程,說明需要的結果,而不說明如何計算。
編程語言的描述一般可以分為語法及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對于編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年后的版本為ISO/IEC 9899:2011,而其他語言(像Perl)有一份主要的編程語言實現文件,視為是參考實現。
編程語言俗稱“計算機語言”,種類非常的多,總的來說可以分成機器語言、匯編語言、高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的編程語言有兩種形式:匯編語言和高級語言。
編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員能夠準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應當采取的行動。
最早的編程語言是在電腦發明之后產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的編程語言,而且每年仍有新的編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬于聲明式編程,說明需要的結果,而不說明如何計算。
編程語言的描述一般可以分為語法及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對于編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年后的版本為ISO/IEC 9899:2011,而其他語言(像Perl)有一份主要的編程語言實現文件,視為是參考實現。
編程語言俗稱“計算機語言”,種類非常的多,總的來說可以分成機器語言、匯編語言、高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的編程語言有兩種形式:匯編語言和高級語言。
語言種類
匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作。例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
腳本語言
腳本語言(Script language,scripting language,scripting programming language)是為了縮短傳統的編寫-編譯-鏈接-運行(edit-compile-link-run)過程而創建的計算機編程語言。此命名起源于一個腳本“screenplay”,每次運行都會使對話框逐字重復。[1]
早期的腳本語言經常被稱為批量處理語言或工作控制語言。一個腳本通常是解釋運行而非編譯。
雖然許多腳本語言都超越了計算機簡單任務自動化的領域,成熟到可以編寫精巧的程序,但仍然還是被稱為腳本。幾乎所有計算機系統的各個層次都有一種腳本語言。包括操作系統層,如計算機游戲,網絡應用程序,字處理文檔,網絡軟件等。在許多方面,高級編程語言和腳本語言之間互相交叉,二者之間沒有明確的界限。
腳本編程速度更快,且腳本文件明顯小于如同類C程序文件。這種靈活性是以執行效率為代價的。腳本通常是解釋執行的,速度可能很慢,且運行時更耗內存。在很多案例中,如編寫一些數十行的小腳本,它所帶來的編寫優勢就遠遠超過了運行時的劣勢,尤其是在當前程序員工資趨高和硬件成本趨低時。
腳本語言是一種解釋性的語言,例如Python[2] 、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在。[3]
機器語言
由于計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱為目標程序。只有目標程序才能被計算機直接識別和執行。但是機器語言編寫的程序無明顯特征,難以記憶,不便閱讀和書寫,且依賴于具體機種,局限性很大,機器語言屬于低級語言。
高級語言
高級語言是大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,并且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬于高級語言。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似于我們日常生活中的“同聲翻譯”,應用程序源代碼一邊由相應語言的解釋器“翻譯”成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。如較早時期的Qbasic語言。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼“翻譯”成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .obj,也就是OBJ文件)才能執行,只有目標文件而沒有源代碼,修改很不方便。
常見語言
C#
C#是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。C#是微軟公司研究員Anders Hejlsberg的最新成果。Csharp(音標 [∫a:p])(又被簡稱為“C#”)是微軟公司在2000年6月發布的一種新的編程語言,并定于在微軟職業開發者論壇(PDC)上登臺亮相。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、界面、與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網絡框架的主角。 在本文中,我將考察創建一種新計算機語言的一般動機,并將特別指明是什么原因導致了C#的出現,然后我將介紹C#和它與Java、C、C++的相似之處。其次我將討論一些存在于Java和C#之間的高層次的、和基礎的差別。我將以衡量在用多種語言開發大型應用程序的時候所需的知識(或者對這種知識的缺乏程度)來結束本文,而這正是.NET和C#的一個主要戰略。以及Windows 2000的一個“d預覽版本”,還有MSDN上迅速增多的文檔集子的形式獲得(還沒有最終定型)。
Basic
BASIC(Beginners‘ All-purpose Symbolic Instruction Code,又譯培基),意思就是“初學者的全方位符式指令代碼”,是一種設計給初學者使用的程序設計語言。BASIC是一種直譯式的編程語言,在完成編寫后不須經由編譯及連結等手續即可執行,但如果需要單獨執行時仍然需要將其建立成執行檔。
Pascal
Pascal是一種計算機通用的高級程序設計語言。Pascal的取名是為了紀念十七世紀法國著名哲學家和數學家Blaise Pascal。它由瑞士Niklaus Wirth教授于六十年代末設計并創立。Pascal語言語法嚴謹,層次分明,程序易寫,具有很強的可讀性,是第一個結構化的編程語言。
C語言
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語言已先后被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬件的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟件開發上,而且各類科研都需要用到C語言,適于編寫系統軟件,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
C++
C++這個詞在中國大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,“CPP”。 它是一種使用非常廣泛的計算機編程語言。C++是一種靜態數據類型檢查的、支持多重編程范式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、泛型程序設計等多種程序設計風格。
JAVA
Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。
AAuto
AAuto是專用于桌面軟件快速開發的新一代混合型編程語言 - 具有動態語言輕便、靈活、快速開發的特性,而且又可以同時支持靜態類型開發,象靜態語言那樣使用。AAuto可以直接支持原生DLL,即使是外部EXE進程中的函數,也可以使用一句代碼聲明為普通的AAuto函數對象(原生call支持),AAuto支持非常多的標準調用約定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等調用約定都可以支持。AAuto雖然小,但支持的接口很豐富、可以支持com靜態動態雙接口,象VBS一樣原生支持com對象。
用一個簡單的代碼演示一下,下面的AAuto代碼定義了一個結構體:
1
2
3
4
5
6
7//定義類
classPOINT{ //類點
intx;inty;//“整數”類型x;“整數”類型y
func=function(){ //函數=函數()
//動態類型
}
}
這種全新的混合編程語言開創了一種全新的編程方式,也因為這種語言特性,AAuto可以非常方便的嵌入各種第三方語言,AAuto可以嵌入匯編機器碼,C語言,Java,PHP,C#,Python,Javascript,VBScript.。。。。。等等數量眾多的第三方編程語言,方便的互調函數,并且這些調用第三方語言的功能模塊都是使用AAuto實現( 開放源碼 )。混合型語言讓我們可以體驗到激動人心的全新編程方式。
AAuto可以將硬盤目錄,硬盤文件一鍵嵌入EXE文件,將全部程序包含所有資源生成獨立的綠色EXE文件,所有文件讀寫的相關函數自動支持,無需更改代碼,AAuto制作的程序不需要安裝程序,也不需要釋放DLL運行庫,AAuto制作的程序都是免安裝綠色軟件。
AAuto屬于類C系語言、并且可以自定義一套自己的語法。AAuto在語法風格接近流行類C系語言。有其他語言基礎的可以輕松上手,學習AAuto以后學習其他編程語言更可事半功倍。
AAuto支持多線程開發,復雜的多線程開發在AAuto中變得非常簡單,標準庫也提供大量簡化多線程開發的輔助支持庫,為多線程軟件開發帶來很大的方便(請參考快手范例 -》 多線程 )。
AAuto的標準庫基本使用純AAuto源碼實現,并且全部開源,標準庫提供了大量的簡化編程的常用函數,涉及到軟件開發的方方面面,極大的簡化了桌面軟件開發過程。
AAuto提供web.form支持庫( 開源 ),可以創建web窗體加載網頁創建web風格的軟件界面,網頁與本機代碼可以直接交互,在快手工程向導里,就提供了 WEB UI 的模板。在使用web窗體時,你能感受到AAuto這種混合語言帶來的巨大方便,較之傳統編程語言,AAuto 可以更快更加方便的創建 WEB UI 程序,在AAuto自帶的范例中,就有一個多窗口瀏覽器的范例,僅僅使用了一頁300行源碼就實現了一個功能較完整的多窗口網頁瀏覽器,可以看出使用AAuto極大的簡化了Web相關開發技術。 另外,AAuto提供了web.layout支持庫,封裝了輕量快速的界面引擎HTMLayout,可以使用傳統的HTML,CSS技術,更加方便的實現漂亮的界面,而且運行,響應速度極快,官方也提供了大量HTMLayout的范例,教程。 使用AAuto開發傳統界面也非常的方便,AAuto提供可視化開發工具,可以象VB一樣(實際上比VB更簡單)的通過拖拉控件創建程序。
哪些語言比 C 更適合編程入門
覺得曾文正公說的好,凡是你做起來心有余力的事,你都能做好;要想在一個領域里做什么事都能心有余力甚至游刃有余,你最好能對這個領域有一個系統性的思考,怎樣能有一個系統性的思考?你必須經歷足夠多的事情,思考足夠多的問題,戰勝足夠多的困難,那么在這個過程中有一個順手的工具將是起關鍵性作用的。為什么我們對一些事能夠堅持下去,對另外一些事卻不能?除了興趣而外,我們在初始階段的情況也起重要的作用。
回到樓主的問題,我們好多學計算機的人總是很難認清楚計算機的本質是什么,個人感覺這是和中國的計算機教育有關,和我們自己努不努力關系反而不大。以我個人為例,從學校到工作崗位,一直對自己都不太自信,因為總有一個問題困擾我,就是遇到一個實際問題之后,總是沒有很好的思路,總是不能夠迅速把問題分解。一開始,以為自己經驗不足,對面向對象的思想接觸太少,但發現諸如設計模式一類的書看過還不如不看,并不能讓自己思路清晰。這個問題困惑我好久,還有一個問題,一些人望而生畏的內核源碼,匯編語言,我卻能甘之如飴,我也同樣不理解別人為什么那么懼怕這些東西。想了好久,觀察了好久,才發現一些人搞不好計算機是因為不努力,另一些人搞不好計算機是因為沒有找到方向,沒有好的工具幫他去抓住計算機的本質。而我屬于后者,為什么我會有這樣的情況出現,因為我從來不喜歡遞歸,學數據結構的時候接觸過遞歸,但卻被教導遞歸是一個沒有效率的東西,于是以為遞歸是一個壞東西。這種偏見持續很多年,殊不知用遞歸來執行計算機程序沒有效率,卻不意味著用遞歸來思考問題也沒有效率。
計算機的本質是什么?我覺得一個叫周思博的大牛說的非常好,總共只有三樣東西:指針,遞歸和lambda演算,指針在操作系統中起決定性的作用,操作系統通過指針把一切管理的井井有條;
遞歸是證明和算法的核心,而證明和使用算法解決問題是我們發明計算機的起因;lambda演算是計算機語言,編譯系統的核心,而他們是我們最基本的工具。
C語言是有用的,它的指針尤為重要,是幫助我們理解計算機程序運行的基礎,但是我當初學C語言確實費了老勁兒,原因卻很搞笑,因為我們的C語言老師是個大舌頭,一句話就開始兩個字能聽清,而且這個老師不怎么負責,什么都敷衍。而我們當時也沒有程序設計語言這門課,沒有講過程序設計語言是怎么回事,于是整整一學期,就搞明白了C語言中“=”是一個賦值號,而不是數學中的等號。對C語言稍微有一點認識,是從學Java開始的,因為Java老師講話清晰,教學也比較認真,中規中矩學了一個學期,才算開始練習編程。而整個本科階段,自己算是連計算機的邊都沒摸到,因為有太多的疑惑與不理解,相對而言我覺得數學還簡單一些。
講這么多,我只是想說明一個道理,找到一個正確的路徑很重要。我通過Java來理解C,你感覺是不是很好笑?但如果我學過程序語言原理的話就不會如此,如果更幸運地學過SICP的話,我也許在本科階段就能夠對計算機入門。所以,想這樣回答樓主的問題,你覺得C語言無聊是什么原因覺得無聊?如果你是遇到了困難,想偷懶,想繞過,而推脫到C語言身上,那這就是一個心理問題,你不應該放棄,C語言已經夠簡單了,你也付出了初始階段的努力,現在的問題是幫助你突破瓶頸的,你換一個語言還要從頭再來。而如果你是覺得C語言不能表達你的思想,那你可以嘗試換一下,向SICP里那樣使用函數式語言。
京東金融APP的鴻蒙之旅系列專題 鴻蒙新特性篇:Hello, 倉頡 World
作者:京東科技 楊拓 一、倉頡介紹 倉頡是一種通用編程語言,適用于各種應用開發,兼顧開發效率和運行性能,其優勢如下: 1、高效編程:語法簡明高效,支持多...
在Python編程語言中,邏輯異或運算符并不直接作為一個內置的操作符存在,因為Python更側重于高級編程和可讀性,并沒有直接提供異或運算符的簡寫形式用...
樹莓派(Raspberry Pi)是一款由英國樹莓派基金會開發的信用卡大小的單板計算機,它以其低成本、易于編程和靈活性而受到廣泛歡迎。樹莓派可以用于各種...
C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級編程的首選語言之一。
gawk程序是Unix中原始awk程序的GNU版本。gawk程序讓流編輯器邁上了一個新的臺階,它提供了一種編程語言而不只是編輯器命令。
Orin是一款高度集成、高性能的車載計算平臺,由英偉達推出,并采用了英偉達自家的Volta架構GPU和其他高級處理器技術。關于Orin芯片的編程語言支持...
FPGA(現場可編程邏輯門陣列)的編程涉及特定的硬件描述語言(HDL),其中Verilog和VHDL是最常用的兩種。以下是一個FPGA編程語言(以Ver...
PLC(可編程邏輯控制器)的基本指令是PLC編程語言的基本元素,用于描述PLC如何根據輸入信號的狀態控制輸出信號的變化,從而實現對機械設備的控制。PLC...
三菱電機(Mitsubishi Electric)是全球知名的自動化和制造解決方案供應商,其PLC(可編程邏輯控制器)產品廣泛應用于工業自動化領域。三菱...
Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言和編...
Triton 是一個開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個可擴展和可定制的編譯器...
? ? ? ?在探討未來哪種編程語言將在AI時代占據主流地位時,我們需要回顧歷史,審視當前趨勢,并預測未來技術的發展方向。AI(人工智能)技術的快速發展...
上位機編程語言選擇 在自動化領域,上位機(Upper Computer)通常指的是與下位機(如PLC、單片機等)進行通信的計算機系統。上位機在自動化系統...
串口通信的開發環境配置涉及多個方面,包括選擇編程語言、安裝必要的庫或驅動程序、配置串口參數等。以下是一個基于Python的串口通信開發環境配置的步驟: ...
在當今這個技術日新月異的時代,編程語言的選擇對于軟件開發者來說至關重要。不同的編程語言有著不同的優勢和適用場景,因此,選擇合適的編程語言不僅能夠提高開發...
誤區一:編程語言的選擇 常見問題: 初學者在選擇編程語言時,往往會被市場上的熱門語言所吸引,而忽視了自己的實際需求和興趣。 一些開發者認為某種編程語言是...
2024-11-15 標簽:編程語言數據結構javascript 285 0
人工智能(AI)是計算機科學的一個分支,它旨在創建能夠執行通常需要人類智能的任務的機器。隨著技術的進步,AI已經滲透到我們生活的方方面面,從自動駕駛汽車...
Python與Java都是目前非常流行的編程語言,它們各有其獨特的優勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡...
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |