11大类编程语言功能比较表_第1页
11大类编程语言功能比较表_第2页
11大类编程语言功能比较表_第3页
11大类编程语言功能比较表_第4页
11大类编程语言功能比较表_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、11 大类编程语言功能比较表导读:有程序员的地方就会有因为对编程语言的探讨而引发的战争(例如Linux之父Linus Torvalds炮轰C+ 无是处,认为C+既无助于简化,以实际用于进行原型化或者简单 的GUI编程,又不是像C那样的简洁的系统编程语言,能够积极地鼓励开发者使用简单和 直接的语言构造;而另一位大牛PaulGraham则强烈鄙视Java,认为使用Java的公司都 不足为惧)。同样的,中文java技术网时间编程趁势频道每个月根据TIOBE的数据编译的 语言排行榜也在一定程度上代表了开发语言的流行趋势,由此引发程序员们的热烈讨论。有两个人的地方就有政治,有两个程序员的地方就会有关于编

2、程语言的争论。当然,本文的 目的不是为了引发语言战争,而是通过信息列表的方式来比较不同语言的功能特性,为开发 者提供参考。其实对于一个产品的开发来说,语言选择不是最重要的。关键是哪种语言更适 合。工具毕竟只是工具。如同电视里面经常有一些工夫高手,利用树叶杀人。其实就是鲜活 的例子。本文信息和数据出自hyperpolyglot,将当前主流编程语言分为11个大类,分别为:解释 型(PHP,Perl,Python,Ruby,Tcl,Lua,JavaScript,Io)、操作系统自动化型(POSIX Shell,AppleScript,PowerShell)、C+风格(C+,ObjectiveC,Ja

3、va,C#)、Pascal 风格 (Pascal,Ada,PostgreSQL,MySQL)、Lisp类(CommonLisp,Scheme,Clojure,EmacsLisp)、 类型推理类(StandardML,OCaml,Scala,Haskell)、声明型(Prolog,Erlang,Oz)、 Concatenative 语言(Forth,PostScript,Factor)、数据转换(SQL,Awk,Pig,XSLT)、计算机 代数(Maxima,Mathematica,Sage)、数字分析类(Fortran,MATLAB,R,NumPy)。每种语言列举的功能包括算术和逻辑/字符串/

4、正则表达式/时期和时间/数组(阵列)/字典/功能/文件控制执行/目录/进程与环境;库和模块/对象/映射/Web/测试/调试与分析/交互 性/,以及语言诞生时间、版本号、hello写法的比较等等。一、解释型语言:PHP , PERL, Python 和 Ruby: PHP, Feri. FyOum, fcubjrperl (L$Wpyihcnrii)y (139(5)S35 2: 5 U2檄2f t, f 9isolicii prlflEwc-use slnctimport os. rerrhweskewS pftp version宜卿 wersi伽$ py(h&n -V5 fUCy x.ver

5、sBoniatcrprEtcr$ php S 艸 p5 曲11 oo pFS Pflhcn kc.pr客他创(co巾S php$ pert-虫 03 pylhm&rbas sigro? nnSvi 1;Sv= 1.frssfflifirtTOnffi car* be剎砖$關W/sp rt5p 旳才i 剛册询如:= fva 1pa-rollrlB5S5fn=en-ttsiCSx, Sy Sz)T.v = 1. 2. 3 f raised VUjeEzrriH y = 1, 2. 3=raFses VJueErrw m y z= 1, 21 = 1.2, 3 -Sisdcardd 仃“ 2r3 H

6、 2 誨 l-o nt x.v, z = 1,2SWVFisICSk. $y) = artaSy. $x);(S. Sy) = Sy.銅;% yy m *注:因原图太大,文中仅截取了部分图片,详细请点击上图。 (下同)二、解释型语言: Tcl,Lua,JavaScript,IoInterpreted. Lartgu.agesr T-cl, Lua, JIo+ cl (1988)Ils (13)Lin (1993)ijo GOOS)ver gicoi nxsedS55.1ECfrWEeflpf 5W&01C5.ahflver sxonS tdsh% inio tellers ionS lua -

7、v5 node versionSio lo Slem VerSwrimt srprelerS tdsb foe tdS lua foo.lus5 node foo.js5 EafDo.iorep 15 tdsh$ luaS node5 ioblockdel mit ers-do end0023Cl Kix= 1-x- 1:x := 1# excaptEin(f x doganlews x= 1Exraplassrqn Sk Sy 丁忙n、Imp = x; ix-y.厂tm.imp:- k x= yten 羽dec lare local liable# s-et vmristiJ tRsids-

8、 prMdure pfrc 忙ici args set k 1local x = 173rx -1:X -12 闭d-Qf- liiL-e cdKsueittfre-ammenr ccrnmenLfl commentfi CM)Fnin?nt w oomnentnullfillnulnil三、操作系统自动化: POSIX Shell, AppleScript, PowerShellOperaUng System A.uiofnatn: POSfX Shell, AppteScripi, PowerShell-rosli shnll (1S9S)epplesfriD-t (1993)pcmier

9、GhcIl (2verslort used2.12show version$ 5;rip( -e 8,Appl?$cripfsuer&ian,*Shosl versioniriterjMeterS ash f shEo&flHnDt fQO.SEPtreplnorreW powers el Iexecute- coniBartd and rari tS dash echo hiS osascnpt -e say$ powerstiell - comm andwril&-Etate-iuent separatorptpehnes separated by& newlrne:術 口”叩伽 hive

10、rcsseL to esca-pe newlfi anti contifiu& 创e 馆jnanf o/j towtng 肺皓;or ne/ne 8 n&witrre can 姑 &sca-p*d vrHh 占 trcMrCk 阳汕请 碗 pem)jtreci in double (jyofss riXjrf Hf&rIjssisnnicirLta=1whitespace n&xlio = nd p-ermitteciset a to 1 cop7 1 to aSa = 1aralke-1 assigiupentsd a.blttnp=Sa aSb b=Stmpset a.b to b,a)S

11、s. Sb1 Sbr $枚咖no阳nofie$F = 1 5x+* 3x-四、C+风格:C+,ObjectiveC,Java,C#亡2鸟覚匸毗哪宅殳C* abtftrjgQ餌韭CIV卅 OoaajUMS)宀 twii)hl la- T叶45 e-at lie lb .cpprid-jda-切lawtrEatvAusog narasace-sftl:H mainiin t arg u 廿arai il 他址 g Held, bYolitr * encl;$ H*怜削占.邯p$栢W1HUIq. MortflSuN hgfto.ntrind ude -istdki.h mC maFirrt irc

12、cMr IB厂H.W orldni:$ 口 cchimm 也 Aul拠1检.诂1 口眩S cart Helte.iava pLblizdasslflojJ public 54aQc dm1 man(Slrrin6 args-jSslemgul d nm QrirHHD. Woiijn,商虻甩1価血曲 $册彳HelloS od ItGlIC.CSuwg Sydwn:dass Hdlo 出ThdM四阳3站tEEole.WiitHli ne曲 llg 典 EdT.SfrttahJ&llii.tEHeilai asUlIL on 31*1,idv4 I 予曲弼口黑坤W甲* E-L OTb$ k T百用

13、y0比一v旳iMLe%-T LF3 ri. 已T*d.第LLP協隔曲皓UBS ACW匸 4V. hM4IT B-tjiCl ELll iLtffLl”q?口 Iw.oni.h.ajavan ere .dassC&.IOTif .6KB iX.illnral 1MILLNULLndlFTL ht iWHrt “ ? ;Sy stem Gwiacie-.V/fleLin acourt 讪亍rruh Air ICtff*L tl IStlrll悬谯i曲6MemaMameD4r.3 v-anaiDie r*sm?A yACRO FjJkLiE:.耐iisg冏ram.于oanabieafFiPaOiE勺

14、耐 aMethcdbJatfne-na-13血理切己陀鼻亡勺二hmnw 舟日亡丘苫诳IFav gft a teNamgcfrhln xdstring si 三 s2I Wasnifr;iNSmng bi1 =s2 | 岛训事hullSbing 31 =s? = = null + was iuir ditwigs-l si asnuir五、Pascal 风格:Pascal,Ada,PostgreSQL,MySQLPascal &n le Lanouane PascalPad oreSflL rSOLp.Htl (tOTO. 19914 dgff3h 1如5)P”E|产 z#1948JniLJht

15、lia woTdS cat hello 阳占 prcgram hello: BWlfl旳ii 口 口; end.SfpG hello pasSJhMba1h TetJO. use reLio:&cat wn. adhbginPii LHiB(rhiellaWwld!;Ed Ms &啊aiycc-c r日加为 乞阿制hinc blla 別删桃h诙出 ik woiui宜仙口47被aeaie or replace runcon tieloODeflnrelMm Helb Wotd ; 尹刖武SS Isngu-a pl 即Ml CREATE FUNCHQNselect ItllClO: 询Ci# cr

16、eate Juncfiora n日rehrms:vsirdiaiCSMi rtyrn *3耳网艸列口1:Q uery OK, D row& dlTec他口 (0.00 secj 在 saleci ndk)讣HClOWId!-1 rorwffl (Q.lflKC)屈 1 wow 1 rowFree Fiscal 2maGmTGCC4.1.2Pp5t5SS.ith SOI 5.5.Sset sal rrp?ift=,,it|l,rtrii aeirpc vgnatjcc-verson口S-j -0fSw5H叫 st帖-vwsicriI:1 ecmmeiTi WJ ccmwflr t :x-)-cT

17、Knanr/rifi+ cav個nf血呂-二lEltl: XlXL 13 vnarow六、Lisp 类:CommonLisp,Scheme,Clojure,EmacsLispLisp: Common Lrsp. Sen an e. Gl 即ure: EmacsLispwon livp C晦1)xchne Q97S)rLfljwE 融(KT)s lip (1S8S)ve-x s i oxi us t JS-C_心&CUSP2-43.CfiiWJlOire f 2Etom 23 fV*T51 -5ft勒戟口 -version S dM -A&rsiari苗 racist -v-rsisn出i 4S

18、 emacs-rsion3 Sbcl 宮eta3 racket5 java.pi.THH-0/dQure.i arl.l-K ietninuuik ng injci.e-m sortieL1-x Ml1,1ifcD-intfiracuon-nwdssbwb吐占i.usr/bn/env sbci- npl利u 詡口tvum clisp理fimJblK电tw rack - -scriptpecy卫at厲产Ajsrrhn 也耐 ja?a -jar 也ur电acau brfi.ftmsM 亠30*1ling$ dlep -cH. .-.tsp 看席腳*S rnzc .ncc .rFtM-k DytSc

19、ornpiHBse x 电匚 ulblc(ubM脚A郎- a mo-dieaceriaAie:电追 outzblal UMlevel- : S mzcexe- 眈c阴foe4-11 ty4Siab 说ncfion. sinja.aass. .su&vat甘色i/aua, fu/Kho/i. sifutt .1*5r -rnt 5-cE-iE-itriWfi?eK?acrWueSOGBoil IE 0 euli IE0Myesnull Jr. ?om. HQ.nonl. 0.祸tyji-g-of啊电Mlypa匚13细七、类型推理类:StandardML,OCaml,Scala,HaskellTy

20、pe InfeEn匚已 LancEjages: Standard MLl QGamt 呂匚ala. Haskellstandard ml (1990)ocaml (159&)seals (3003)JujfikJl (1990)version uspiSML AV W 心3.V Q2$6.12.1versi onSML NJ dfslays 偲rs心n on5捕叭炉S ocaml versionS seal a., ver sion$ ghic - version$ oca ml too ml$ scalaJoo.scala$ rtinghc fao.hsshebamnoneVusr/bin/

21、env ocaml刑 sh exec scafa 菲/usr/bin/en v runghcbytecode caimiler and i nterpre t 君a?S ocamlc foo.ml-ofc*o$ ocamlrun tooS scalae Foo.seal3$ seal各 Foon柯世native CQiipi 1 erS Qcamiopt fao.mi -o too$ JfOOnoneS ghic -of-oo foo.hs $ Jfoalibrary which al way s i nipor t edPervasiv&sPreludestatejneni teriDina

22、tor:or sojnjnsha equi or 际 tfuJent&tion.blacks(expr ;)(岬;) begin巳肿: endOf 八、声明型: Prolog, Erlang, OztuoDjidqqMMMMjopeddijsisodqyodzsgt eAiieueeuooJU6UUUMDE %jueuuiroe%JeiUJUtKi E %pu5:anq; / t0 X镰罚却2pua pj L* esfa o uaino=-xit uemtxxjjpud k-rO X 建 a = scH * 0 叫)t*1t = JC-jW#P昭# M 旧辭5UJ Ctf PUJ ; $313

23、)已i创腕岳胸F * 7/41 iflrf 那担 M? Jfl *皿L4 f-s.-sp.r wsnst 尙snor用门tqi !皿幻“加兔5X”.4?血乂切QQEJ!訝刻3”L0脚砂XT利他Wise a.-r;A -:-:*t(ji !矗圧s-ejont? h 加咛即M HJSQE胆tp昌U印LUtf (口逅5;?- r . -5 5 !tOF t-FT?TsrvwraTvis(KBiCQ 10M殆 口 u即3 txijciFd EnDmaAitBJeijaaiuo3-np9dqz.30MMMCori catenate9 Languages: FortJi, Posts匚ript. Fach

24、fforth C19Y3)vast sgtipi (1982facior (200?versicm usedGfortti 0.70Preview 5.0.203set version$ gforth -vers ionAbout Preview in P review jnenuflofs VQfSfon w/im donJoading factorcomenanin/env factorexit inTerpreter er replbyequitUSE: system 0 exitdocitmentationtan helpwards case sensit lve?iresiesass

25、ignmentvariable a3 a I了 a 十/a 3 def7 curreitdict /a pet addSVMBOL a3 a set7 a ger +increment and decrement了 U7 1-toendaf-line consent1 1 + addition1 1 add % addition11 + additioneBibeddftd -in-1 i ne ccntment1 1 ( additron ) +MCE血nnonenullnullnull restno fiea get null -Etscksdatafioating pointiacals

26、operand diciionjy execution 彳即晦siate dipping patht/afa十、数据转换: SQL, Awk, Pig, XSLTDa la TrnsforrThatioo Languages SQL A.wk.刊g: XSLTart ClT)pifi(2Q哪)碍It (193?)version 口丸dg Q固0刊旳f0.3Saotoji 5.3show vcrsi-onS p-sql- version$ a*vK -versions-pig- version5斛滋-dp 砂on 3f I ndiiet.5f.5aKan TransformInt eiprete

27、r-fItMisqlS ak -f foo.awk bar.txtS- ptg-f feo.pig5 java -cp saxoQjar net.sf saon.Transrorm I -xslJoci.xsl -s:Mr.KrrilreplS pfsqlnonQS pig-x localnonesta.Tecnftn t se&sTater:M/WJWTO;and 哪wdin孚 wh-n (/Sf REPLst爭XMt etemenfe med 曰旧 ro/fflijiafed i&ytagsblock delimiter層 in SQL: PUSQL /ss? J(硼 OflfS to delrmit(btocks 自怡 XML efer?w丹茁 4nd are terirtsfed fry E/ii&rr怙潭to-end-nf-line-CQITlKn.t-Eurnm entfr EDHim EFl:CQHi TSIrtoieconweni; out ccijItiple linestom/ierj9co!*il?nenl another cumme-niT_ conime-ntmnorfw comment 、计算机代数: Maxima, M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论