Ⅰ 編程分什麼語言
這個問題。。。一兩句說不清啊。。。。編程語言有很多,常見的有匯編、C、C++、C#、Java、VB、Delphi等等共有上百種。。。根據不同的分類方法,可以分為編譯型、解釋型和腳本語言,也可分為面向過程和面向對象等。
匯編:低級語言,非常底層,非常強大但非常麻煩,現在很少用匯編寫東西。
C:中級語言,面向過程的編程語言,既有高級語言特點,也保留了低級語言的特點,一般作為編程入門。
C++:在C語言的基礎上加入了類的概念,成為混合型面向對象語言。
C#:微軟在C++基礎上開發的面向對象型語言,現在很流行。。。
Java:sun 公司開發的純面向對象型語言,分為J2EE\J2SE\J2ME三種,開發手機游戲用的就是J2ME。
VB:微軟公司開發的一種解釋型的計算機語言,很簡單,甚至被稱為玩具語言,不過現在微軟不再開發VB6了,它的升級為VB.NET,徹底拜託了玩具語言這個稱呼,還取消了VB6中能簡單實現的控制項數組。。。。不過有些地方比VB6強大。
Delphi:曾經程序員以會Delphi為榮,甚至被稱為VB殺手,不過現在好像用的不多了。。
Ⅱ ML語言的ML編程環境的配置
在Windows環境下使用Emacs作為ML的集成開發環境。下面關於Emacs和SML在Windows下的配置說明其實同樣適合於各種Unix類操作系統)。這里有一副抓圖:在左邊正寬的frame中編輯好SML源程序後,按下C-c C-b,程序就交付給運行在右邊frame中的SML編譯器了。你也可以直接在右邊的frame中互動式的輸入SML程序。
為了配置這個環境我安裝了GNU Emacs for Windows(你也可以用XEmacs for Windows)、SML編譯器SML/NJ(你也可以用其他編譯器,比如Moscow ML,Poly/ML)、Emacs的SML mode。安裝和配置步驟如下:
下載和安裝GNU Emacs for Windows
下載和安裝SML New Jersey編譯器
下載和安裝Emacs的SML major mode。具體的方法如下:
在你的Emacs安裝目錄(例如F:Program Filesemacs-21.3)下建一個子目錄叫site-lisp。如果已經有了掘旅就不用建了。
在其中建一個子目錄叫sml-mode
將你下載的SML major mode壓縮包解開,將其中所有.el文件拷貝到site-lisp/sml-mode子目錄下
編輯site-lisp中的site-start.el,加入兩行:
(add-to-list 'load-path F:/Program Files/emacs-21.3/site-lisp/sml-mode)
(load sml-mode-startup)
在PATH環境變數里包含SML編譯器所在的目錄。我的是f:smlin。
啟動Emacs後,敲 M-x run-sml就可以在Emacs中啟動一個SML交互環境。
如果用 M-x sml-mode就將當前判清凳buffer的major mode設置為sml-mode,你會發現其中的SML代碼被語法高亮顯示了。如果沒有語法高亮,你可以在Emacs的配置文件(對於Windows版本的GNU Emacs和XEmacs而言是C:.emacs,對Unix版本的是~/.emacs)中加入一行:
Syntax highlight
(global-font-lock-mode t)
Ⅲ 什麼是sml(t)
編程語言。SML(T)是一種編稿信程語言,也稱為StandardMLofNewJersey,它是一種基告敬畝於函數式編程的靜態類襪森型語言,具有嚴格的類型檢查和模塊化系統。SML(T)被廣泛用於編寫高性能、可維護的軟體,尤其在編寫編譯器、解釋器、程序驗證器等需要處理大量復雜數據結構的應用程序時表現出色。
Ⅳ 為什麼開發出了這么多的編程語言
C#與JAVA的相同之處:由於C#與JAVA都是基於C++發展起來的,因此二者之間具有很多相似之處,具體如下:
1、C#和JAVA語言的編譯結果是獨立於計算機和編程語言的,可執行文件可以在受管理的執行
環境中執行;
2、C#和JAVA語言都是採用了自動的垃圾回收機制;
3、C#和JAVA語言都取消了指針操作;
4、C#和JAVA語言都沒有頭文件;
5、C#和JAVA語言都只支持單重繼承,要實現與多重繼承類似的功能,必須通過介面來實現;
6、類都是從Object類派生而來,類的對象通過關鍵字new生成;
7、C#和JAVA語言都支持線程;
8、C#和JAVA語言都沒有全局變數和全局函數,所有的變數和函數都屬於某個類所有;
9、C#和JAVA語言都支持對數組和字元串邊界的嚴格檢查,不會出現邊界溢出的情況;
10、C#和JAVA語言都使用「.」操作符,不再使用「->」和「::」操作符;
11、C#和JAVA語言都將null和bool作為關鍵字;
12、C#和JAVA語言中所有的值都必須先初始化後才能使用;
13、C#和JAVA語言中的if語句都不允許採用整數作為判斷條件;
14、C#和JAVA語言中的try語句塊都可以後接finally語句塊。
C#與JAVA的不同之處:
盡管C#和JAVA有很多相同之處,但是由於二者是兩家不同公司開發的高級程序設計語言,它們又相互獨立,
自成體系,各自具有一些自己特有的特點,下面將C#與JAVA之間的不同之處如下:
1、屬性
對於那些經常使用快速開發工具,如Delphi或者Visual Basic的開發人員來說,屬性是一個非常熟悉的概念。
一般來說,通過getXXX可以讀取屬性的值,而通過setXXX可以設置屬性的值。
JAVA中比較常見的屬性操作語句: foo.setSize(foo.getSize()+1); label.getFont().setBold(true);
c#中比較常見的屬性操作語句: foo.size++; label.font.bold=true;
很明顯,上述的屬性設置方式較JAVA來說更為簡潔,可主讀性也更強。這充分體現了C#簡單的特點。
JAVA對於屬性的定義:public int getSize(){ return size; } public void setSize(int value){ size=value; }
c#對於屬性的定義進行了簡化:public int Size{ get{ return size; } set{size=value; }}
2、index
C#提供index來給對象加上索引的功能,從而用與處理數組類似的方式來處理對象,JAVA語言則不支持index
C#中定義index的典型方式如下:
public Story this[int index]
{
get{return stories[index]; }
set{
if(value!=null){
stories[index]=value
}
}
3、delegate :可以認為是一種類型安全、面向對象的函數指針。
C#使有delegate可以通過一個名字訪問不同的函數,它實現和JAVA中的interface類似的功能,但是它比interface更為好用。
4、event
C#提供對event的直接支持,它通過delegate和event關鍵字實現對事件的處理。event關鍵字隱藏所有delegate方法,運算符「+=」和「-+」允許程序員自由加入或者刪除時間處理程序。
5、enum:枚舉用於指定一系列的對象。
C#通過如下語句來定義和使用枚舉:
定義:public enum Direction{North,East,West,South};
使用:Direction wall=Direction.North;
JAVA不直接支持枚舉,如果要實現和C#相類似的功能,必須先定義一個類
public class Direction{
public final static int NORTH=1;
public final static int EAST=2;
public final static int WEST=3;
public final static int SOUTH=4; }
在定義了Direction類後,JAVA可以通過引用類中的值來使用枚舉:
int wall= Direction.NOTRH;
6、foreach語句
C#提供了標準的for循環,同時還提供了foreach語句(從VB中引入)來循環處理集合中的元素。
JAVA遍歷集合中的所有元素的典型處理方式如下:
while(!collection.isEmpty())
{
Object o=collection.get();
connection.next();
…
}
C#遍歷集合中的所有元素:foreach(object o in collection){…}
7、統一數據類型:
大多數的高級程序設計語言都有基本數據類型,如整型、浮點類型等。同時,為了更好地滿足實際的需要,對不同的數據類型有不同的處理方式,顯然,如果能夠對簡單數據類型的處理和對復雜數據類型的處理結合在一起,並用一致的方式加以處理的話,無疑會大大提升應用程序設計的效率,增強程序設計的靈活性。
JAVA語言在處理基本數據類型的時候也採取分別處理的策略,但是在基本數據類型的基礎上提供了一系列封裝這些基本數據類型的類,例如:整型(int)被類Integer所封裝,雙精度浮點(double)被類Double封裝。
C#提供了一種和JAVA不同的方式來實現數據類型的統一。事實上,在c#中,即使是int這樣的簡單數據類型在C#內部也是通過一個結構體Int32來實現的,在C#中,可以這樣認為,int只是結構體Int32的一個別名。由於C#中的結構體也繼承自類Object,這樣,Object類中定義的方法,各個結構體也擁有,於是,在C#中可以通過如下的方式來操作整數:int I=5; System.Console.WriteLine(i.ToString());
8、操作符重載
通過操作符重載可以用一種比較自然的方式來操縱各種數據類型,從而大大提升程序的可讀性和靈活性。C#中的「==」操作符在Object類中進行了定義,在Object中定義的==操作符通過比較兩個值的引用來獲得最後的結果。如果使有和集合相關的類,則必須在這樣的類中實現ICompar介面,這個介面中定義了一個方法CompareTo,該方法返回兩個對象的比較結果,在此基礎上,可以進一步定義各個實現比較的操作符,如
「>」、「<」、「>=」、「<=」等。事實上,數字類型(int、long等)可以直接使用這些比較操作符,它們的內部都實現了ICompare介面。
9、多態性
虛似方法提供了多態性的技持。多態意味著派生類可以定義一個和基類中同名的方法。盡管JAVA和C#都支持多態性,但是它們的具體實現方式還是有一定的差別。
在JAVA語言中,默認情況下,基類的對象可以直接調用派生類中的虛似方法,在C#語言中,基類要調用派生類中的虛似方法必須通過virtual關鍵字來實現。同時,在C#語言中,一個方法要重載基類中的同名方法,還必須通過關鍵字override來實現。在C#中實現多態的典型程序如下:
Class B{ public virtual void foo{}}
Class D:B{ public overried void foo(){}}
以上只是簡單地比較了C#和JAVA之間的異同,事實上,這二者之間的比較遠不止上面所介紹的內容,要學好這兩種語言,需要經過大量的實踐工作,在實踐中區分開兩種語言
Ⅳ 編程都有哪些語言
目前熱門的語言有:C、C++、JAVA、VB、VC、FoxPro、Delphi、SQL、PHP、ASP、JSP等等。
專門有機構為編程語言進行排名,如下圖:
Ⅵ smlmatch中文什麼意思
smlmatch是一個英文單詞,它的中文意思是「匹配」。在計算機編程亮神中,匹配是一種常見的操作,用於確定一個字元串或模式是否與敗喚另一個字元串或模式相匹配。在SML(Standard ML)編程語言中,smlmatch通常用於模式匹敬枯虧配,這是一種強大的編程技術,可用於在程序中對不同的輸入進行不同的處理。通過使用smlmatch,程序員可以編寫更加靈活和高效的代碼,從而提高程序的可讀性和可維護性。