Ⅰ Lisp語言怎麼樣為什麼現在不流行與java相比呢
很久以前,這種語言站在計算機科學研究的前沿,特別是人工智慧的研究方面。現在,它很少被用到,這一切並不是因為古老,類似古老的語言卻被廣泛應用。 其他類似的古老的語言有??FORTRAN、 COBOL、 LISP、 BASIC、 和ALGOL 家族,這些語言的唯一不同之處在於,他們為誰設計。FORTRAN是為科學家和工程師設計的,他們在計算機上編程的目的是是為了解決問題。COBOL是為了商業設計的,最好的體現在於讓商人們可以利用電腦時代。LISP是了計算機科學研究設計的,最突出的體現在計算機基本原理研究.。BASIC是為初學者設計的。最後,ALGOL語言是有計算機程序員修改,演變成其他流行的語言,如C,Pascal和Java的一個龐大的家族。上面提到的某些語言已經不像當初那麼流行了。我們在這里可以把它們稱作「失敗」。問題是它們為什麼失敗?第一站出來的是COBOL. 很不幸,它以面向商業人員的很好的可讀性就是它的失敗點。商業人員發現,他們可以僱傭程序員去管理他們的系統。程序員自然會偏向於為他們設計的語言,而不是他們的老闆。所以隨著時間推移,越來越多的商業功能都使用例如VB, C, C++ 和JAVA實現了。現在,只有很少一部分軟體仍通過COBOL語言編寫。BASIC卻有不同的命運。他是為入門人員設計的。那些在微機上學習編程,他們會使用內置的BASIC語言作為起點。隨著時間推移,微機被運行微軟操作系統的個人電腦,或者MacOS的蘋果電腦所代替。這種語言逐漸被VB所取代。雖然他是面向初級程序員,它有一段時間代替了COBOL。為什麼要耗費這么多的資源在昂貴的編譯器上,而便宜的解釋器在我們的電腦上已經存在?最近,微軟以遷移到.NET框架上,讓VB跟在後面。它的替代者, C#就是ALGOL家族中的一員,跟Java相近。這些年FORTRAN的使用起起伏伏。在某一階段,差不多所有科學方面的代碼是用它來寫的。它的優點是這門語言中沒有指針,並且不允許存在遞歸。這意味著所有數據的引用位置都可以在編譯時確定。FORTRAN編譯器利用這些額外的信息使程序運行格外地迅速。不幸的是,隨著時間的推移,固定大小的數組這種數據結構變得過時了。現在,科學要處理任意形狀的風格,甚至表述更為復雜的真實世界。這需要在語言中額外地加入指針。這些情況發生的時間段里,FORTRAN逐漸走向沒落。現在,它被轉移到高性能計算工作,其中新的並行矩陣和矢量運算最近添加到這門語言中,仍然使它擁有性能優勢。ALGOL語言家族取得了成功。其原因是,這些語言是由程序員為程序員寫的。隨著時間的推移,這些與系統和應用相關的語言成為了現在最常用的語言。它的優點是越多地程序員使用,這門語言就能得到更多地改進,並且越來越多地程序是用它們來寫就的。這提供了一個良性循環,更多的程序員們又被聘請在己編寫的程序上工作。這是一個網路效應的例子。一個系統的「價值」是它的用戶數目的平方,在於以此速率增長的用戶之間的交互作用。那麼為什麼Lisp語言家族會站在失敗者一邊呢?有些人認為是語法的錯。Lisp因為它的括弧而臭名昭著。我並不認為是這個理由。許多用戶說良好的格式可以讓他們跟上這些括弧。同時,Lisp語言被發明不久後,有一個叫「super-bracket」的語法可以讓人快速表示出任意數量的回括弧」)」。這個特性在今天已經很少有人使用了。最後,優秀的編輯器解決了大多數的語法問題。另一些人經常抱怨Lisp是一門函數式語言。
Ⅱ 計算機語言有哪些
問題一:計算機語言有哪些?怎麼分類? 計算機語言(Computer Lnguage)指用於人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的媒介。
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
計算機語言主要分為三類:
- 低級語言
- 高級語言
- 專用語言
1、低級語言
- 機器語言、匯編語言和符號語言。
- 匯編語言源程序必須經過匯編,生成目標文件,然後執行。
2、高級語言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化語言(LISP、Prolog)等等。
- 高級語言源程序可以用解釋、編譯兩種方式執行。通常用後一種。
我們使用的C語言就是使用的後者。
3、專用語言
CAD系統中的繪圖語言和DBMS的資料庫查詢語言。
1.1.機器語言
電子計算機所使用的是由0和1組成的二進制數,二進制是計算機的語言的基礎。計算機發明之初,人們只能降貴紆尊,用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由0和1組成的指令序列交由計算機執行,這種計算機能夠認識的語言,就是機器語言。使用機器語言是十分痛苦的,特別是在程序有錯需要修改時,更是如此。
因此程序就是一個個的二進制文件。一條機器語言成為一條指令。指令是不可分割的最小功能單元。而且,由於每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程序,要想在另一台計算機上執行,必須另編程序,造成了重復工作。但由於使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。
1.2.匯編語言
為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串,比如,用ADD代表加法,MOV代表數據傳遞等等,這樣一來,人們很容易讀懂並理解程序在干什麼,糾錯及維護都變得方便了,這種程序設計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認識這些符號的,這就需要一個專門的程序,專門負責將這些符號翻譯成二進制數的機器語言,這種翻譯程序被稱為匯編程序。
匯編語言同樣十分依賴於機器硬體,移植性不好,但效率仍十分高,針對計算機特定硬體而編制的匯編語言程序,能准確發揮計算機硬體的功能和特長,程序精煉而質量高,所以至今仍是一種常用而強有力的軟體開發工具。
1.3.高級語言
1.3.1.高級語言的發展
從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,這種語言接近於數學語言或人的自然語言,同時又不依賴於計算機硬體,編出的程序能在所有機器上通用。經過努力,1954年,第一個完全脫離機器硬體的高級語言--FORTRAN問世了,40 多年來,共有幾百種高級語言出現,有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特別要提到的:在C語言誕生以前,系統軟體主要是用匯編語言編寫的。由於匯編語言程序依賴於計算機硬體,其可讀性和可移植性都很差;但一般的高級語言又難以實現對計算機硬體的直接操作(這正是匯編語言的優勢),於是人們盼望有一種兼有匯編語言和高級語言特性......>>
問題二:計算機語言都包括什麼語言?及其各個應用領域? 1、web page script languages
就是網頁代碼,比如Html、javascript、Css、Asp、php、Xml都應該屬於此類(照蔡的意思,Html不應該屬於anguages的,可能他覺得太簡單了吧,不過我覺得Html也應該算的,大家愛聽誰的就聽誰的好了,這個不重要)
2、Interpreted Languages(解釋型語言)
包括Perl、python、REBOL、Ruby等(後面三個聽豆沒聽過),也常被稱作Script語言,通常被用於和底下的操作系統溝通。照蔡的意思,每個人至少應該學會一套這類的語言。這類語言的缺點是效率差、源代碼外露――所以不適合用來開發軟體產品,一般用於網頁伺服器。
3、Hybrid Laguages(混合型語言)
代表是JAVA和C#。介於解釋型和編譯型之間。蔡認為C#是.NET最重要的語言,值得期待其後續發展;至於JAVA,蔡叫看他的《Sleepless in Java》――我倒!
4、COMPILING Languages(編譯型語言)
C/C++,JAVA都是編譯型語言。蔡說C++很復雜,要成為高手沒三五年是不行的(就憑這句話,我決定向JAVA投降),雖然如此,但真正要成為高手的都應該懂C/C++。
關於Delphi,蔡說如果想要跨linux和Windows平台的語言,則Delphi似乎是最好的選擇。
5、Assembly Languages(匯編語言)
匯編語言是最接近於硬體的語言,不過現在幾乎沒多少人用了。
程序語言學習順序建議
如果完全沒有程序經驗,可照這個順序:javascript――解釋型語言――混合型語言――編譯型語言――匯編(如果需要的話)
用業界流行一句話做結尾「真正的程序員用C++,聰明的程序員用Delphi」,那麼,什麼樣的程序員用JAVA呢?
虛懷若谷題外話
看在我這么晚了還這么辛苦的敲字的面子上,看到這篇帖子的朋友給點掌聲吧,雖然沒什麼自己的思想。
另外,本文完全據蔡學鏞先生同名文章精簡,所以如果這篇文章給你的程序員生涯有什麼不好的作用,那我不介意你去扁他。當然如果這篇文章對你有什麼積極影響,我很高興你能請我吃大餐。
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!
方案一Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB......>>
問題三:常用的計算機編程語言有那些 種類很多,要學的話,主要看你要從事哪個方面,編程都是大同小異,如果你學會一門,其他的學起來也就輕松許多。 如果你想當個普通的公司職員,建議C\C++這類的。 如果你想當個破解人員,建議匯編(我覺得是相當的難...)。 如果你想當個黑客,擁有一定的軟體知識(很低層的那種)和硬體知識(使用軟體掌控硬體)和網路知識(入侵這類的)。 如果你想當個紅客,主要是網路安全知識。
這需要看將來想從事什麼類型軟體的開發吧。如果在國內開發windows類型應用程序,據說vb比較流行,但如果開發和硬體關系較大的嵌入式程序,則使用較多的還是C語言,而網路這個方面,無論是有線還是無線,大多數都選擇了JAVA。以上是從應用角度來講的,如果從性能和投入方面分析,C語言無疑性能上最好的,但它的復雜度太高,開發和維護費用較大,一般比較好的游戲程序或者速度要求較高的程序會選擇C++來開發,而VB等由於它的簡易性,可以極大縮短開發周期,也是程序員的寵兒之一。另外有一種語言python在國內逐漸出現,國外好像已經流行了十幾年吧,linux的引導程序和BT的一些組件都是用它開發的,具有開發周期短,易維護等特點,運行速度也比JAVA要快,並且面向對象,無平台限制,據說還開放了源碼,不過由於在國內流行時間不長,各大公司出於對以前開發代碼的兼容性的需要,可能一時間接受不這個語言,但可以明顯看出,它的發展潛力相當大。 總而言之,C為基礎,掌握JAVA,會用VB,了解python,應該看得出這幾個詞彙之間的輕重差別吧。:)單機編程語言主要有qb,vb,c++,vc++,c語言,我覺得最常用的是c語言,因為現在我們常用的windows操作系統就是用c 語言編寫的.非常常用. 網路編程語言現在用的是html 語言,還有java.ada
asp(含asp.NET)
basic(含VB)
b(C語言的前身)
css
c(含VC)
c#(含VC#.NET)
c++(含VC++.NET)
fortran
foxbase
html(含xhtml和shtml)
jacc(不確定是不是這個名字了,一種開發語言的語言)
java
java script
jsp
latex
lua
pascal
perl
php
prolog
python
ruby
sgml(html和xml用得很多,單獨列出,其實也是一種sgml)
shell
sql
tcl/tk
vb script
xml 最常用的是 JAVA C C++ java VB 是比較好學的 最牛的要屬C#了
世界上編程語言太多了,就像每個國家都有自己的語言一樣的.但是從編程語言發展的角度說:
大概經歷 這樣 四個階段: ############################################################
第一個階段是 機器碼編程 (你肯定知道計算機只能識別0和1,以前就是這樣編程的).現在的PC計算機依然是這樣,馮.諾依曼結構的計算機.你可以去網上搜索 馮.諾依曼 是干什麼的.你會想,為什麼現在編程不是0,1,計算機怎麼識別呢?當你開始編程的時候,你用的編譯器就在做這些事情.
########################################################### ##########################################################
第二個階段是 低級語言,比如匯編語言,台灣叫做組合語言.其實組合......>>
問題四:最簡單的計算機語言有哪些? 網頁上的html是最簡單的語言,但是功能實在少得可憐,除了描述網頁就沒有別的用途了(不過話說回來,直接描述網頁也只有它才能做到,其他語言做不到)
Script(腳本)系列 也很簡單
這里有很多種,常見的有Javascript(引進了Java的一些思想,不過實際內容簡單得多了),VBScript (Visual Basic的一部分), C#Script(C#的一部分), 這三種主要用於網頁網站設計,輔助html間接描述網頁,讓網頁變得豐富多彩絢麗,而單機上也可以運行以執行一些可自動化的操作,實現一些簡單的小程序和一些手動操作非常麻煩甚至是不可能的操作,但還是難以編完整的獨立的程序,還有批處理bat,這也是一種腳本,也很簡單,專門單機使用,擅長代替大量的手工操作和系統維護,但要做出我們常用的這種漂亮的程序,是不可能的。
想要做我們常用的程序要用以下幾種語言,不過相比之上面的語言都復雜許多:
Basic系列是最簡單的,不過因為版本多樣不統一還有一些效率的問題,所以用的人不是非常多
不過其中有一個例外:Visual Basic 有微軟的支持,可視化的,可以很快有成就感編出像樣的程序,而且很多文檔中的宏 VBA(Visual Basic for Application)還有以上說的VBScript都是它的一部分,所以還是很受歡迎的。
C語言,入門還比較簡單,但挺枯燥,初學沒什麼成就感,要想編大程序要學得挺深,有點難,編出來的程序在高級語言中效率最高,所以是第二廣泛使用的語言僅次於Java。
C++,C#,會更難一點,但是程序要編大的會相比之下簡單點,這些都是C語言的擴展,其中C++擅長本機大程序,C#適合網路編程(剛才說的C#Script是它的一部分)
Java,語法上類似C++,在跨平台的時候會省你很多麻煩,所以由於手機的普及近一兩年它才超過C/C++成了應用最廣泛的語言。不過開發出來的程序效率比較不怎麼樣,但有些人挺喜歡它的思想,所以不跨平台的話,見仁見智
其餘的還有Delphi,Pascal,等等不過那些都不怎麼常用而且比較復雜,要圖簡單,強烈推薦Visual Basic,要深究程序內部的東西那還是從C開始比較好
問題五:計算機有哪些語言 工業編程語言: A+ | Ada | 匯編語言| B | Brain *** | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic .NET
腳本編程語言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
學術編程語言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他編程語言: ALGOL | BASIC| Clipper | Forth | Mola-2/Mola-3 | MUMPS | PL/I | Simula
問題六:計算機所有的編程語言都有哪些? ALGOL (also under FORTRAN)
Atlas Autocode
ALGOL 60
Simula (see also Simula based languages)
ALGOL 68
Burroughs Extended ALGOL
ALGOL W
Pascal
Ada
SPARK
Turbo Pascal
Object Pascal (Delphi)
Free Pascal (FPC)
Kylix (same as Delphi, but for Linux)
Euclid
Concurrent Euclid
Turing
Turing Plus
Object Oriented Turing
Mola-2
Mola-3
Oberon (Oberon-1)
Oberon-2
Component Pascal
Objective Mola-2 (also under Objective-C and Smalltalk)
CPL
BCPL
B
C
tcsh (also under sh)
Alef
Limbo
Coyote
C++
Java
Groovy
Join Java
J#
Processing
X10
C#
Windows PowerShell (also under DCL, ksh and Perl)
C--
D
ColdFusion
eC (Ecere C)
LPC
Pike
Objective-C (also under Smalltalk)
Objective Mola-2 (also under Mola-2 and Smalltalk)
PCASTL (also under Lisp)
Perl
Windows PowerShell (also under C#, DCL and ksh)
S2
PHP
PDL (also under APL)
QuakeC
MCPL
APL
A+
Glee
J (also under FL)
K (also under LISP)
NESL
PDL (also under Perl)
BASIC (also under FORTRAN II)
Amiga Basic
AMOS BASIC
BASIC Stamp
BASIC09
Basic4GL
BlitzBasic
Blitz3D
BlitzMax
BlitzPlus
Business Basic
Caché Basic
COMAL
DarkBASIC
Euphoria
PlayBASIC
PowerBASIC
Quickbasic
QBasic
Liberty BASIC
Just BASIC
Run BASIC RealBasic
thinBasic
TI-BASIC
TrueBASIC
Visual Basic
VBScript
Visual Basic for Applications (VBA)
Visual Basic .NET
YaBasic
COBOL
DIBOL
WATBOL
MS-DOS Batch files
Winbatch
CLIST
IBM Job Control Language (JCL)
COMIT
SNOBOL
Icon
Unico......>>
問題七:計算機語言中常用的有哪些? 1. 計算機常用語言除了C ,C++ ,VB ,JAVA 外還有什麼? 他們的優點和區別?
還有很多了,不過一般都不怎麼常用
優點嘛,C,C++運行比VB要快
VB是解釋型語言,運行的話需要對應的運行庫的支持。不過上手容易。
JAVA的話最大的優點是跨平台。
2. 學習做網頁HTML PHP ASP JSP 和(問題1)中的哪些語言掛鉤 ? 是否均需要HTML做基礎?
一般HTML中的腳本和VB與JAVA都有點聯系。
不過語言都是通的,就是關鍵字,系統保留字不一樣而已。
學習的話最好是要有HTML的基礎。
3. PHP ASP JSP 和SQL MYSQL 等其他資料庫怎樣搭配?
隨意的,看具體的用途。
有些資料庫不能用於大型的站點,好象有限制的。
具體可以查一下資料庫的說明。
問題八:電腦編程語言都有哪些啊? 工業編程語言: A+ | Ada | 匯編語言| B | Brain *** | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic .NET
腳本編程語言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
學術編程語言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他編程語言: ALGOL | BASIC| Clipper | Forth | Mola-2/Mola-3 | MUMPS | PL/I | Simula
問題九:計算機語言有多少種?分別是哪些?最早的是? 太多了 主要分為三類:高級、低級、專用語言。
高級有:FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、JAVA等
低級有:機器語言、匯編語言和符號語言等
專用語言:CAD系統中的繪圖語言和DBMS的資料庫查詢語言等
最早的應該是匯編語言
問題十:計算機語言有哪些?怎麼分類? 計算機語言(Computer Lnguage)指用於人與計算機之間通訊的語言。計算機語言是人與計算機之間傳遞信息的媒介。
計算機程序設計語言的發展,經歷了從機器語言、匯編語言到高級語言的歷程。
計算機語言主要分為三類:
- 低級語言
- 高級語言
- 專用語言
1、低級語言
- 機器語言、匯編語言和符號語言。
- 匯編語言源程序必須經過匯編,生成目標文件,然後執行。
2、高級語言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化語言(LISP、Prolog)等等。
- 高級語言源程序可以用解釋、編譯兩種方式執行。通常用後一種。
我們使用的C語言就是使用的後者。
3、專用語言
CAD系統中的繪圖語言和DBMS的資料庫查詢語言。
1.1.機器語言
電子計算機所使用的是由0和1組成的二進制數,二進制是計算機的語言的基礎。計算機發明之初,人們只能降貴紆尊,用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由0和1組成的指令序列交由計算機執行,這種計算機能夠認識的語言,就是機器語言。使用機器語言是十分痛苦的,特別是在程序有錯需要修改時,更是如此。
因此程序就是一個個的二進制文件。一條機器語言成為一條指令。指令是不可分割的最小功能單元。而且,由於每台計算機的指令系統往往各不相同,所以,在一台計算機上執行的程序,要想在另一台計算機上執行,必須另編程序,造成了重復工作。但由於使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。
1.2.匯編語言
為了減輕使用機器語言編程的痛苦,人們進行了一種有益的改進:用一些簡潔的英文字母、符號串來替代一個特定的指令的二進制串,比如,用ADD代表加法,MOV代表數據傳遞等等,這樣一來,人們很容易讀懂並理解程序在干什麼,糾錯及維護都變得方便了,這種程序設計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認識這些符號的,這就需要一個專門的程序,專門負責將這些符號翻譯成二進制數的機器語言,這種翻譯程序被稱為匯編程序。
匯編語言同樣十分依賴於機器硬體,移植性不好,但效率仍十分高,針對計算機特定硬體而編制的匯編語言程序,能准確發揮計算機硬體的功能和特長,程序精煉而質量高,所以至今仍是一種常用而強有力的軟體開發工具。
1.3.高級語言
1.3.1.高級語言的發展
從最初與計算機交流的痛苦經歷中,人們意識到,應該設計一種這樣的語言,這種語言接近於數學語言或人的自然語言,同時又不依賴於計算機硬體,編出的程序能在所有機器上通用。經過努力,1954年,第一個完全脫離機器硬體的高級語言--FORTRAN問世了,40 多年來,共有幾百種高級語言出現,有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特別要提到的:在C語言誕生以前,系統軟體主要是用匯編語言編寫的。由於匯編語言程序依賴於計算機硬體,其可讀性和可移植性都很差;但一般的高級語言又難以實現對計算機硬體的直接操作(這正是匯編語言的優勢),於是人們盼望有一種兼有匯編語言和高級語言特性......>>
Ⅲ 人工智慧用的編程語言是哪些
樓下的回答是錯的
你所說的人工智慧目前主要是機器學習實現的
目前做機器學習和數據挖掘的主要語言是python
但主要原因並不是python效率高或者python和人工智慧有什麼不可分割的聯系,而是因為python是一門很好的膠水語言,可以方便的調用別人(用各種語言)寫的庫,而且表達清晰靈活
所以實際上機器學習的核心知識和python並沒有本質關系,python只是因為表達能力強,所以被廣泛用於機器學習開發而已。
Ⅳ 哪一種編程語言適合人工智慧
LISP:是一門高級的語言,在人工智慧中備受青睞,因為它具備垃圾收集、動態類型、數據函數、統一語法、互動式環境、可擴展性等特性,所以非常適合人工智慧編程。
PROLOG:提供了針對關於邏輯相關問題的解決方案,或者說它的解決方案有著簡潔的邏輯特徵,主要缺點就是學習起來很難。
C/C++:主要用於對執行速度要求很高的時候,它主要用於簡單程序,統計人工智慧,如神經網路就是一個常見的例子。
JAVA:使用了LISP中的幾個理念,最明顯的就是垃圾收集,它的可移植性使它可以適用於任何程序,它還有一套內置類型,Java沒有LISP和Prolog高級,又沒有C那樣快,但如果要求可移植性它是最好的。
Python:是一種用LISP和Java編譯的語言,按照比較,這兩種語言彼此非常相似,僅有一些細小的差別;還有JPython,提供了訪問Java圖像用戶界面的途徑,這是PeterNorvig選擇用JPyhton翻譯他人工智慧書籍中程序的的原因,JPython可以讓他使用可移植的GUI演示,和可移植的http/ftp/html庫,所以它非常適合作為人工智慧語言。
綜合情況來講,Python更適合人工智慧編程,因為Python具有優質的文檔、設計非常好、快速、堅固、可移植、可擴展等,這些對於人工智慧而言都是非常重要的因素。
Ⅳ 常見web程序設計的開發工具有哪些
常見web程序設計的開發工具有:
PHP、ASP、JSP、Asp.net
ASP(全稱Active Server Pages)微軟系統的腳本語言,利用它可以執行動態的Web服務應用程序。執行的時候,是由IIS調用程序引擎,解釋執行嵌在HTML中的ASP代碼,最終將結果和原來的HTML一同送往客戶端。ASP的語法非常類似Visual BASIC,學過VB的人可以很快上手,ASP也是這幾種腳本語言中最簡單易學的開發語言。因為ASP腳本語言非常簡單,因此其代碼也簡單易懂,結合HTML代碼,可快速地完成網站的應用程序。但是ASP也有很大的缺點,由於是運行在WINDOWS平台上,不能跨平台運行,自身存在著許多缺陷,最重要的就是安全性。在大型項目開發和維護上非常困難。
但在國內異常流行,因為國內大多使用的是盜版的Windows和盜版的SQLServer。
PHP
PHP是基於預處理 HTML 頁面模型的一種腳本語言。它大量地借用C和Perl語言的語法, 並結合PHP自己的特性,使Web開發者能夠快速地寫出動態產生頁面。可以用於管理動態內容、支持資料庫、處理會話跟蹤,甚至構建整個電子商務站點。它支持許多流行的資料庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。PHP本身就是為處理超文件html設計的,正是由於它是專為基於 Web 的問題而設計的,而且它是開源的導致可擴展性大大增強 ,所以運用非常廣泛。
PHP發展到今天,具備了很多優勢,開發速度,運行速度,安全性都比較好!性價比很高啊!
JSP
JSP(全稱JavaServer Pages)是Sun公司推出的一種網路編程語言。JSP技術是以Java語言作為腳本語言的,比較難學。)。形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。
JSP可以用來做大規模的應用服務,JSP在響應第一個請求的時候被載入,一旦被載入,便處於已執行狀態。對於以後其他用戶的請求,它並不打開進程,而是打開一個線程(Thread),將結果發送給客戶。由於線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源共享,這樣就減輕了伺服器的負擔。
同樣JSP是基於Java的,有Java語言的最大優點——平台無關性,也就是所謂的「一次編寫,隨處運行(WORA – Write Once, Run Anywhere)」。
另外JSP的效率以及安全性也是相當驚人的。 配置和部署相對其他腳本語言來說要復雜一些,所以在國內目前的應用並不廣泛,但對於跨平台的中大型企業應用系統來講(如銀行金融機構),基於JAVA技術的MVC架構幾乎成為唯一的選擇,前途不可限量。
ASP.NET
ASP最新的版本ASP.NET 並不完全與 ASP 早期的版本後向兼容,因為該軟體進行了完全重寫。ASP.NET的優勢很明顯在於它簡潔的設計和實施。語言靈活,可以使用腳本語言(如 VBscript、Jscript、Perlscript 和 Python)以及編譯語言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp);並支持復雜的面向對象特性。而且有良好的開發環境支持。
高效性,ASP.NET是編譯性的編程框架,運行是伺服器上的編譯好的公共語言運行時庫代碼,可以利用早期綁定,實施編譯來提高效率。
簡單性,.NET可視化編程,提供基於組件、事件驅動的可編程網路表單,大大簡化了編程。一些很平常的任務如表單的提交客戶端的身份驗證、分布系統和網站配置變得非常簡單。如ASP.net頁面構架允許你建立你自己的用戶分界面。
看起來是非常有前途的,可能JSP可以一拼,剛剛開始,目前應用不高!
JAVA一種由Sun公司提出的,從C++發展而來的面向對象的編程語言。JS=JAVASCRIPT 是一總頁面腳本語言,與java沒有關系,語法相似而已,有以前的livescript轉化而來,為了敢時髦改成了javacriptJSP 全稱 JAVA SERVER PAGE,是JAVA企業應用的一種動態技術ASP 全稱 active server page 也是一種動態頁面技術採用VB語言ASP.NET 是微軟.net平台下的動態頁面技術,多採用C#語言結構化程序設計:使程序具有合理的結構,以保證和驗證程序的正確性.這種方法要求程序設計者不能隨心所欲地編寫程序,而要按照一定的結構形式來設計和編寫程序.它的一個重要目的是使程序具有良好的結構,使程序易於設計,易於理解,易於調試修改,以提高設計和維護程序工作的效率.面向任務程序設計:我的理解是基於對象的設計,沒有繼承和多態,錯了請指正,別罵,呵!面向對象程序設計:http://ke..com/view/125370.htm
java是一種面向對象的編程語言,js就是javascript也就是java腳本,jsp是java server page,asp是active server page
Ⅵ lisp語言的快速入門
Common Lisp語言快速入門: Lisp是軟體領域的分裂力量。一方面,Lisp愛好者誓言Lisp比軟體領域內的其它語言都更加快捷、整潔和強大;而反對者則辯稱,不可靠的執行和庫支持不足使得開發者難以在其中編寫任何真正的軟體。事實上,他們都有各自的道理。
第一版Lisp於大約50年前推出,這使得它和FORTRAN一樣,成為現在仍在使用的最古老的編程語言之一。可以證明,它擁有(它們將會擁有)最龐大的特性列表,它也是第一種包括一整套今天我們全都認為是標准語言特性的語言,如垃圾收集、遞歸、函數作為對象、甚至是普通的if-then-else子句。同時,人們也認為它是一款優秀的教學語言:MIT使用方案、Lisp衍生物,傳授它們的介紹性編程類。
我們將一起學習最強大和項目就緒的Lisp版本:Common Lisp,使其正常運行,並了解一些Lisp應用。 代碼和數據並無差異——在Lisp中,代碼只是一個函數對象列表。源代碼和數據源之間不存在區別,允許Lisp把它的內在呈現給編譯器、注釋器和程序員。這允許你方便地本地讀入和評估代碼,甚至可以允許你使用宏。
宏——定義和重新定義任何語言元素。不喜歡條件、或循環或函數的運行方式嗎?好,你可以定義自己的注釋。如果你在代碼中多次執行某個特定的任務,把那個特性添加到語言中不是更加方便嗎?應用Lisp,你可以實現上述功能。
速度——雖然在許多情況下Common Lisp不如C或OCaml這類速度巨人快捷,但它在一系列測試中表現良好,特別是在執行一小段程序的情況下。了解一些基本的編譯器知識,你就能夠編寫出處理列表和大型數字的代碼,在執行速度和內存使用方面都要優於其它語言。
簡化——Lisp的一切功能都基於一些基本的理念——一旦你了解那些理念,你就幾乎能夠處理任何問題。Lisp程序員常常自誇說,僅僅用幾百行代碼,你就能在幾乎任何語言(如C++或Haskell)中執行一個Lisp注釋器。
靈活——以你喜歡的任何方式編寫代碼。更喜歡功能性的編程方法嗎?沒問題!想要完全反復編程嗎?草草寫下幾個快速的宏就可以完成任務。你可以用最方便最高效的方式編寫程序,而且這些程序都能良好地運行。 好,行!我選擇了Lisp,我如何進行安裝呢?
這是棘手的問題。不像是Python或C#一樣,Common Lisp沒有標准執行——該語言由一個規范,而不是執行來定義。Common Lisp也沒有C語言的特點,及在每一個平台上都是一種支配性的執行或流行的執行。每個版本都應執行上述標准,但有一些細節要由編譯器或注釋器來處理,這使得每個執行都稍有不同。
你可以使用幾種選項——在本文中我使用CLISP,它在Windows、Linux和Mac(僅PPC)上運行良好。如果你使用英特爾Mac,則必須使用其它執行,如Allegro Common Lisp或SBCL。對於這篇快速入門中的簡單例子,你使用哪個執行都不要緊。
使用Lispbox可以快速安裝Common Lisp系統,但遺憾的是,Lispbox在2012年停止了更新。Lispbox為你提供一個Common Lisp執行、Emacs、SBCL和Slime——Emacs高級Lisp整合模式,許多Lisp程序員會告訴你說,這個組合是使用Lisp的唯一方法。如果你並非Emacs用戶(我本人也和你一樣),不要擔心,它並非必要條件,只是使得編寫Common Lisp程序更加簡便。而如果想要使用最新的Emacs、SBCL和Slime,網路上也有許多教程關於如何配置它們。
安裝過程因平台而異,在Windows中你只能運行安裝程序,多數Linux軟體包管理器提供安裝包等。選擇一個執行並遵循安裝指令即可。打開Common Lisp (CLisp)交互環境的方式是M-x slime,如果你不理解這是什麼意思的話可以通過Ctrl+h松開後按t來學習Emacs的基本操作。但由於Emacs的默認字體不支持中文,所以為了避免教程亂碼,點擊程序窗口左上角的Options,選擇Set Default Font,選擇支持中文的字體後保存。打開REPL(互動式提示符)之後再返回這里,我們繼續往後講。 REPL代表「閱讀-評估-列印-循環」(Read-Evaluate-Print-Loop),它簡單表示注釋器的一個互動式提示符。你可以從這里輸出一些簡單的Lisp代碼。如果你使用另一種注釋器提示符,你可以在這里使用提示符作為計算器輸出一些基本的數學表達式——但它不能正常運行。在CLISP中輸入5*2不會返回任何有意義的結果:
> 5 * 2
5
> 5
5
> 2
2
Lisp並非以那種方式運行,運算符,如「+」不是在數字之間,而是在數字前面,就好像它們是函數名稱一樣。因此,如果你想將REPL當作計算器使用,你必須輸入:
> (* 5 2)
10
> (+ 1 2 3 4)
10
> (+ (* 5 2) (* 10 3) (/ 100 4))
65
對你來說,理解這種用法可能更難一些,但它擁有一些優勢:它便於編譯器解析、它對所有函數和運算符都一樣、它讓你給函數添加盡可能多的自變數——例如,在上面的第二個例子中,你可以任意擴充加數,使得加法函數和總計函數完全一樣。
另外你會注意到,函數名在括弧內,而不像許多其它語言一樣函數名在括弧以外。這表示你要寫(函數自變數)而不是函數(自變數)。
每個Lisp表達式會返回一個值,一個函數總是返回最後一個表達式的結果——即使是NIL,NULL在Java或C++中的對等值也是這樣。因此在Lisp中顯示「Hello World」相當簡單:
> Hello World
Hello World
如果你希望在屏幕上列印一些內容,並返回其它內容,你應該使用列印函數:
> (print Hello World)
Hello World
Hello World
這個字元串顯示兩次,一個是列印結果,一個是函數返回的結果。
Lisp表示LIST Processor(列表處理器),Lisp中的幾乎所有內容都以列表的形式存在,因此有時你必須處理列表。定義列表非常容易:
> (list 1 2 3 4 5)
(1 2 3 4 5)
> '(1 2 3 4 5)
(1 2 3 4 5)
第二種定義方法叫做引用,除定義簡單的列表外,它還有更多用途,不過我們必須在後面的另一篇文章中討論那個主題。 Lisp擁有全部標准控制流程方法。定義一個重復一個值的簡單循環相當容易:
> (dotimes (i 10) (print i))0
1
2
3
4
5
6
7
8
9
NIL
同樣,重復一個列表也很簡單:
> (dolist (i '(0 1 2 3 4 5 6 7 8 9)) (print i))
0
1
2
3
4
5
6
7
8
9
NIL
以上兩個函數都是DO函數的特殊版本,它就像在其它語言中組合使用while和for函數一樣。它由三個部分組成:循環變更定義、終止條件和語句主體:
> (do ((i 0 (+ 1 i))) ((> i 10)) (print i))
0
1
2
3
4
5
6
7
8
9
10
NIL
在這個例子中,變更定義部分為((i 0 (+ 1 i))),它定義變數i為0,並在每次循環時調用函數(+ 1 0)。終止條件為((> i 10)),表示在i大於10時函數終止運行。最後主體部分列印i的值。
Lisp中也有條件函數,最基本的條件函數為if函數:
> (if (> 10 20) (print Hello) (print World))
World
World
if函數由三部分組成:條件、then語句和else語句。如果條件為真,則執行then語句,否則就執行else語句。
你可能已經注意到,到現在為止我們僅使用了單個的語句——但如果你需要把幾個語句連接在一起,那該怎麼辦呢?在Lisp中,要將幾個語句連接起來,你需要使用progn這個特殊的控制流程函數:
> (progn (print Hello) (print World))
Hello
World
World
例如,上例允許你在條件函數和循環中使用幾個語句。
如果你想要更進一步的了解和學習Common Lisp,可以搭配學習ANSI Common Lisp 和Practical Common Lisp (實用Common Lisp編程),如果你想再更進一步,可以看一看On Lisp 等參考書。
Ⅶ Lisp 語言優點那麼多,為什麼國內很少運用
之前在學校學編程的時候,偶然間聽過這種語言,還是挺意外的,畢竟在中國這種語言太冷門了。有些人估計都沒聽說過這種語言啊。
我認為一個語言的沒落失敗必定是因為他不適應這個社會的需求和發展。只有隨時順應社會人編程的需求和習慣還能更好的別使用。Lisp失敗的原因是因為它的碎片化,並且它的碎片化是因為其語言天性與特定領域方案的風格造成的。而網路效應則恰恰相反。越來越少的程序員使用相同的方言,因此它相對與ALGOL語言家族的總價值下降。
Ⅷ Lisp 語言優點那麼多,為什麼國內很少運用
其他類似的古代語言包括FORTRAN,COBOL,口齒不清,基本的,和ALGOL家族,這些語言之間唯一的區別是,他們為誰設計,Fortran是專為科學家和工程師,他們對計算機編程是為了解決問題of.cobol是設計業務,最好是反映交易者可以使用計算機era.lisp是計算機科學的研究與設計,最突出的表現是為初學者設計的in.basic研究計算機的基本原理。最後,ALGOL語言是一種計算機程序員修改,演變成其他語言,如C,一個大家庭的Pascal和java。
Lisp失敗的原因是它是支離破碎的,它的分裂是由它的語言性質和特定域方案的風格造成的。網路效應是相反的。越來越少的程序員使用相同的方言,所以它是相對的ALGOL語言家族的總價值。
如果有人正在設計一門語言,我們怎樣才能避免這個問題呢?如果語言的表達能力是我們的目標,就必須以某種方式加以調整。這種語言必須有特殊的限制,以確保編寫代碼的可讀性。Python是一種成功的語言,它已經完成了,其中一些是硬編碼的,而其他的則以習慣的方式存在。
總結:將來,最終會有一種流行的語言像Lisp一樣。
Ⅸ 編程語言的常見語言
AAuto是專用於桌面軟體快速開發的新一代混合型編程語言 - 具有動態語言輕便、靈活、快速開發的特性,而且又可以同時支持靜態類型開發,象靜態語言那樣使用。AAuto可以直接支持原生DLL,即使是外部EXE進程中的函數,也可以使用一句代碼聲明為普通的AAuto函數對象(原生call支持),AAuto支持非常多的標准調用約定,例如 stdcall,cdecl,thiscall,fastcall,regparm(n) 等調用約定都可以支持。AAuto雖然小,但支持的介面很豐富、可以支持com靜態動態雙介面,象VBS一樣原生支持com對象。
用一個簡單的代碼演示一下,下面的AAuto代碼定義了一個結構體: //定義類classPOINT{//類點intx;inty;//「整數」類型x;「整數」類型yfunc=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更簡單)的通過拖拉控制項創建程序。 易語言是一門計算機程序語言。以「易」著稱,以中文作為程序代碼表達的語言形式。易語言的創始人是吳濤。早期版本的名字為E語言。易語言最早的版本的發布可追溯至2000年9月11日。可以說,創造易語言的初衷是進行用中文來編寫程序的實踐。從2000年至今,易語言已經發展到一定的規模:功能上、用戶數量上都十分可觀。
創建者:大連吳濤易語言(吳濤)
易語言簡稱:e、VE、E語言
最新版本:易語言5.3 (201401107) (支持靜態編譯)
特色:
1.以簡體中文作為程序代碼進行編程操作。
2.全中文支持,無需跨越英語門檻。
3.全可視化編程,支持所見即所得程序界面設計和程序流程編碼。
4.中文語句快速錄入。提供多種內嵌專用輸入法,徹底解決中文語句輸入速度慢的問題。
5.代碼即文檔。自動規范強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。
6.加入了png支持,所涉及到組件: 標簽, 按鈕, 選擇框, 圖片框, 圖形按鈕, 畫板, 窗體, 表格。 結構化查詢語言(Structured Query Language)簡稱SQL,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。
SQL語言結構簡潔,功能強大,簡單易學,所以自從IBM公司1981年推出以來,SQL語言,得到了廣泛的應用。如今無論是像Oracle,Sybase,Informix,SQL server這些大型的資料庫管理系統,還是像Visual Foxpro,PowerBuilder這些微機上常用的資料庫開發系統,都支持SQL語言作為查詢語言。 習語言
即中文版的C語言
O語言
O語言是一款中文計算機語言(或稱套裝:O匯編語言、O中間語言、O高級語言)
AWK
二十世紀70年代Bells Labs創立了Awk語言,它是一種用於處理大數據量強大的命令行語言。
BASH
Bash(Bourne-Again Shell)是一種專門為GNU操作系統服務的命令行語言。
Common Lisp
Common Lisp,即為大家所熟知的CL,一種遵循ANSI-standard規范高效運行的編程語言.使用Common Lisp最好的地方是用戶可以根據應用領域選擇合適方法和範例。
Eiffel
Eiffel是一種面向對象的語言。它演變自1985年,是世界上眾多最成熟的編程語言中的一種.在解決計算問題中,Eiffel代碼是可讀的和可重用的。
Emacs Lisp
一種計算機編程語言的變體,Emacs Lisp可以被任何其他的編程語言所使用。
Erlang
Erlang是另外一種編程語言,通常分布在網路環境中,被用於構建強大的系統程序,Erlang和Java類似。
Forth
Forth是一種基於堆棧概念的高層次編程語言.它不依賴於變數的使用。這種語言幫助解決了一些編程中的老問題。
Icon
Icon是另外一種具有處理數據結構和字元串特徵的高層次編程語言。Icon的運行速度比C語言還要快。它在程序員嘗試新想法,快速編程,文本處理,圖像編程,處理大的數據類型方面很有作用。
Lisp
在處理大數據量演算,解決方案,動態變化的問題,以及多種混雜數據的問題上,Lisp是一種理想的編程語言。它適合定位最具有挑戰性的問題。
Lua
Lua是一種強大快速的腳本語言。
Mercury
它是一種將邏輯編程方式和功能編程方式聯合在一起的編程語言。Mercury在復雜的,嚴格類型風格的系統上運行。
PHP
PHP是一種廣泛使用的編程語言.因為它所編寫的代碼量小,越來越多的公司轉向PHP編程。
Perl
由Larry Wall設計,Perl是最為廣泛使用的編程語言中的一種,Perl第一次被應用在文本編輯器上使用了。
Pike
Pike和C語言以及Java類似。它是一種易學的語言,因為它不牽涉復雜的函數功能。
Python
Python是一種面向對象、直譯式計算機程序設計語言。
Ⅹ 有哪些冷門但很有意思的編程語言
這個有趣的編程語言的話,大概還分兩種,一種是實際應用中真正用來應用的,而另外一種,是純粹娛樂的,真正應用是用不到,也用不了的。 冷門語言的第一大流派,首屈一指應當算是LISP了。雖然說LISP冷門,但是絕對是冷門中的霸主(還是冷門)。而且論資排輩,LISP是世界上至今還在使用的高級編程語言中第二老的(FORTRAN第一),由人工智慧之父John McCarthy於1958年設計並實現。和UNIX一樣,今天已經沒有LISP,但是有LISP的一些方言和衍生語言,比如Common LISP、Emacs LISP、AutoLISP和Scheme等等。作為一種函數式編程語言,他的程序書寫的思路和我們常見的過程式(包括面向對象和非面向對象)的語言差異很大,不好掌握。不過掌握的人都認為很好用。一直流傳的一個這樣的說法,「真正的程序員用C寫程序,聰明的程序員用Delphi寫程序,天才的程序員用LISP寫程序」,可見這個語言的地位。另外值得一提的是,現在的高級編程語言的許多特性和概念,比如函數式編程、Lambda表達式、垃圾回收、大整數自動轉換等等,都是從LISP中借鑒吸取的。 然後說幾個我只是聽說過一些,但不是非常了解的語言。Erlang,是由愛立信開發的一種適合於並行編程的語言。 Prolog,一種邏輯編程語言,建立在邏輯學理論基礎上,最初被用來做自然語言處理,現在廣泛應用在人工智慧研究中。 Haskell,一種純函數式編程語言,目前似乎也有挺多人對這個感興趣的。 AWK,由著名的編譯原理(龍書)的作者Alfred Aho設計並實現的一種編程語言,是一種非常優秀的文本處理工具,也是Linux和Unix環境中功能最強大的數據處理引擎之一。 R語言,一種適合於數據統計和分析的編程語言。 對於那些沒有用的語言,有一些是用來娛樂,有一些是用來做學術研究的。 這些「沒有用」的語言的最大的一個代表,就是brainfuck語言。brainfuck是一種極簡單的語言,或者准確的說是一套編程指令,詳細的說明可以詳見文後參考資料。指令總共只有8條,雖然指令書很少,但是被證明是一種圖靈完全的語言,也就是,C語言能實現的所有演算法,用brainfuck也可以實現。因為功能和原理特別簡單,個人認為,brainfuck是簡單功能虛擬機、C語言編程練習、C語言程序設計練習的非常好的學習和練習材料。LOLCODE也是一種很特別的語言,裡面的關鍵字很口語化,都是一些網路用語。 Whitespace,非常難閱讀的編程語言。這種語言更可怕了,有效只有空格、製表符和換行符。由這一些空白字元的組合來表示這種指令。 Shakespeare,正如這種語言的名字一樣,他的程序寫出來就像是莎翁寫的劇本。 Chef,跟Shakespeare有些類似,不同的是,他的程序寫出來像是個菜譜。 Piet,這個編程語言不是用語言來編程的,而是,用點陣圖。不同顏色的像素表示不同的指令和數據。