Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Comparison of programming languages

From Wikipedia, the free encyclopedia

Comparison of
programming languages

Programming languages are used for controlling the behavior of a machine (often acomputer). Likenatural languages, programming languages follow rules forsyntax andsemantics.

There arethousands of programming languages[1] and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professionalprogrammers may use dozens of languages in a career.

Most programming languages are not standardized by an international (or national) standard, even widely used ones, such asPerl orStandard ML (despite the name). Notable standardized programming languages includeALGOL,C,C++, JavaScript (under the nameECMAScript),Smalltalk,Prolog,Common Lisp,Scheme (IEEE standard),ISLISP,Ada,Fortran,COBOL,SQL, andXQuery.

General comparison

[edit]

The following table compares general and technical information for a selection of commonly usedprogramming languages. See the individual languages' articles for further information.

LanguageOriginal purposeImperativeObject-orientedFunctionalProceduralGenericReflectiveOtherparadigmsStandardized
1C:Enterprise programming languageApplication,RAD, business,general,web,mobileYesNoYesYesYesYesObject-based, Prototype-based programmingNo
ActionScriptApplication,client-side, webYesYesYesYesNoNoprototype-basedYes
1999-2003,ActionScript 1.0 with ES3, ActionScript 2.0 with ES3 and partial ES4 draft, ActionScript 3.0 with ES4 draft,ActionScript 3.0 with E4X
AdaApplication,embedded,realtime,systemYesYes[2]NoYes[3]Yes[4]NoConcurrent,[5]distributed[6]Yes
1983, 2005, 2012, ANSI, ISO,GOST 27831-88[7]
AldorHighlydomain-specific,symbolic computingYesYesYesNoNoNoNo
ALGOL 58ApplicationYesNoNoNoNoNoNo
ALGOL 60ApplicationYesNoNoYesYesNoYes
1960,IFIP WG 2.1, ISO[8]
ALGOL 68ApplicationYesNoYesYesYesNoConcurrentYes
1968,IFIP WG 2.1,GOST 27974-88,[9]
Ateji PXParallel applicationNoYesNoNoNoNopi calculusNo
APLApplication,data processingYesYesYesYesYesYesArray-oriented,tacitYes
1989, ISO
Assembly languageGeneralYesNoNoNoNoNoAny, syntax is usually highly specific, related to the target processorYes
1985 IEEE 694-1985[10]
AutoHotkeyGUI automation (macros), highly domain-specificYesYes
[11]
NoYesNoNoNo
AutoItGUI automation (macros), highly domain-specificYesNoNoYesNoNoNo
BallerinaIntegration, agile,server-side, generalYesYesYesYesNoNoConcurrent, transactional, statically and strongly typed, diagrammatic–visualDe facto
standard via Ballerina Language Specification[12]
BashShell,scriptingYesNoNoYesNoNoOptionally
POSIX.2[13]
BASICApplication, educationYesNoNoYesNoNoYes
1983, ANSI, ISO, ECMA
BeanShellApplication, scriptingYesYesYesNoNoYesNo
In progress,JCP[14]
BLISSSystemNoNoNoYesNoNoNo
BlitzMaxApplication, gameYesYesNoYesNoYesNo
BooApplication, game scriptingNoYesNoNoNoNoNo
CApplication, system,[15] general purpose, low-level operationsYesNoNoYesNoNoYes
1989,ANSI C89, ISO/IEC C90, ISO/IEC C95, ISO/IEC C99, ISO/IEC C11, ISO/IEC C17, ISO/IEC C2x[16]
C++Application, systemYesYesYesYesYesYesConcurrentYes
1998,ISO/IEC C++98, ISO/IEC C++03, ISO/IEC C++11, ISO/IEC C++14, ISO/IEC C++17, ISO/IEC C++20, ISO/IEC C++23, ISO/IEC C++26[17]
C#Application, RAD, business, client-side, general, server-side, web,game programmingYesYesYes[18]YesYesYesConcurrent, structuredYes
2000, ECMA, ISO[19]
CarbonExperimental successor language toC++, designed by Google for performance-critical softwareYesYesYesYesYesNoMulti-paradigmNo
ClarionGeneral, business, webYesYesYes[20]NoNoNoUnknown
CleanGeneralNoNoYesNoYesNoNo
ClojureGeneralNoNoYesNoNoNoConcurrentNo
CLUGeneralYesYesNoYesYesNoNo
COBOLApplication, businessYesYesNoYesNoNoYes
1968 ANSI X3.23, 1974, 1985; ISO/IEC 1989:1985, 2002, 2014, 2023
CobraApplication, business, general, webYesYesYesNoYesYesNo
ColdFusion (CFML)WebNoYesNoYesNoNoNo
Common LispGeneralYesYesYesYesYesYesExtensible syntax,Array-oriented,syntactic macros,multiple dispatch, concurrentYes
1994, ANSI
COMAL 80EducationYesNoNoYesNoNoNo
CrystalGeneral purposeYesYes[21]YesYesYes[22]NoConcurrent[23]No
CurryApplicationNoNoYesNoYesNolazy evaluation, non-determinismDe facto
standard via Curry Language Report
CythonApplication, general,numerical computingYesYesYesNoNoYesAspect-orientedNo
DApplication, systemYesYesYesYesYesYesGenerative, concurrentNo
DartApplication, web, server-side, mobile,IoTYesYesYesYesYesNoStructuredYes
ECMA-408 standard
Delphi,Object PascalGeneral purposeYesYesYesYesYesYesUnknown
DylanApplicationNoYesYesNoNoNoNo
EiffelGeneral, application, business, client-side, server-side, web (EWF)YesYesYes[24][25]NoYesYesErl-GDistributedSCOOP,Void-safeYes
2005, ECMA, ISO[26]
ELANEducationYesNoNoYesNoNoStructured,stepwise refinementNo
ElixirApplication,distributedNoNoYesNoNoYesConcurrent, distributedNo
ErlangApplication, distributedNoNoYesNoNoYesConcurrent, distributedNo
EuphoriaApplicationNoNoNoYesNoYesNo
FactorGeneralYesNoCan be viewed asNoYesYesStack-orientedNo
FPNoNoYesNoNoNoNo
F#ApplicationYesYesYesYesYesYesNo
ForthGeneralYesNoNoYesNoYesStack-orientedYes
1994, ANSI
FortranApplication, numerical computingYesYesYesYesYesNoArray-based, vectorized, concurrent, native distributed/shared-memory parallelismYes
1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO/IEC 1539-1:2010 (2008), ISO/IEC JTC1/SC22/WG5 N2145 (2018)
FreeBASICApplication, numerical computingYesYesNoYesYesNoNo
GambasApplicationYesYesNoNoNoNoNo
Game Maker LanguageApplication, game programmingYesYesNoNoNoNoNo
GLBasicApplication, gamesYesYesNoYesNoNoSimple object-orientedNo
GoApplication, web, server-sideYesCan be viewed as[27]Can be viewed as[28]YesYesYesConcurrentDe facto
standard via Go Language Specification
GosuApplication, general, scripting, webYesYesNoNoYesYesNo
GraphTalkApplicationNoYesNoNoNoNoLogicNo
GroovyApplication, general, scripting, webYesYesYesYesYesYesMeta-programmingNo
In progress,JCP[29]
HarbourApplication, business, data processing, general, webYesYesYesYesYesYesDeclarativeNo
HaskellApplicationNoNoYesNoYesNoLazy evaluationYes
2010, Haskell 2010[30]
HaxeApplication, general, webYesYesYesNoYesYesNo
HyperTalkApplication, RAD, generalYesNoNoYesNoYesWeakly typedUnknown
IoApplication, host-driven scriptingYesYesNoNoNoNoNo
IPLGeneralNoNoYesNoNoNoUnknown
ISLISPGeneralYesYesYesNoYesNoYes
1997, 2007,ISO
JApplication,data processingYesYesYesYesYesYesArray-oriented,function-level, tacit, concurrentNo
JADEApplication, distributedYesYesNoNoNoNoNo
JavaApplication, business, client-side, general, mobile development, server-side, webYesYesYesYesYesYesConcurrentDe facto
standard via Java Language Specification
JavaScriptClient-side, server-side, webYesYesYesYesNoYesprototype-basedYes
ECMA-262 standard
JoyResearchNoNoYesNoNoNoStack-orientedNo
jq"awk for JSON"NoNoYesNoNoNoTacit,Backtracking,Streaming,PEGNo
JuliaGeneral, technical computingYesCan be viewed as[31][32]YesYesYesYesMultiple dispatch, meta, scalar and array-oriented, parallel, concurrent, distributed ("cloud")De facto
standard via Julia Documentation[33]
KData processing, businessNoNoNoNoNoNoArray-oriented, tacitUnknown
KotlinApplication, general, mobile development, server-side, client-side, web, scripting,[34] domain-specific[35]YesYesYesYesYesYes[36]Concurrent[37]De facto
standard via Kotlin Language Specification
KshShell,scriptingYesYesNoYesNoNoSeveral variants, custom programmable, dynamic loadable modulesOptionally
POSIX.2[13]
LabVIEW (G)Application, industrial instrumentation-automationYesYesYesNoNoNoDataflow,visualNo
LispGeneralNoNoYesNoNoNoUnknown
LiveCodeApplication, RAD, generalYesYesNoYesNoYesWeakly typedNo
LogtalkArtificial intelligence, applicationNoYesNoNoNoYesLogicNo
Linden Scripting Language (LSL)Virtual worlds content scripting and animationYesNoNoYesNoNoScripts exist in in-world objectsDe facto
reference is theSecond Life implementation ofLSL.[38]
LuaApplication, embedded scriptingYesYes[39]YesYesNoYesAspect-oriented, prototype-basedNo[40]
MapleSymbolic computation, numerical computingYesYesYesYesNoNoDistributedNo
MathematicaSymbolic languageYesYesYesYesYesYesLogic, distributedNo
MATLABHighly domain-specific, numerical computingYesYesNoYesNoNoNo
Modula-2Application, systemYesNoNoNoYesNoYes
1996, ISO[41]
Modula-3ApplicationYesYesNoNoYesNoNo
MUMPS (M)General, application, databasesYesApproved for next StandardNoYesPartially Thru Indirection and XecuteYesConcurrent,multi-user,NoSQL,transaction processingYes
1977 ANSI, 1995, ISO 2020
NimApplication, general, web, scripting, systemYesYesYesYesYesYesMultiple dispatch, concurrent,metaNo
OberonApplication, systemYesYesNoNoNoNoNo
Object PascalApplication, general, mobile app, webYesYesNoYesYesYesStructuredNo
Objective-CApplication, generalYesYesNoYesNoYesConcurrentNo
OCamlApplication, generalYesYesYesYesYesNoNo
OccamGeneralYesNoNoYesNoNoConcurrent,process-orientedNo
OpaWeb applicationsYesNoYesNoYesNoDistributedNo
OpenLispGeneral, Embedded Lisp EngineYesYesYesNoYesNoOptionally
ISLISP
OxygeneApplicationYesYesNoNoYesNoNo
Oz-MozartApplication, distribution, educationYesYesYesNoNoNoConcurrent, logicNo
PascalApplication, educationYesNoNoYesNoNoYes
1983, ISO[42]
PerlApplication, scripting, text processing, WebYesYesYesYesYesYesNo
PHPServer-side, web application, webYesYes[43]Yes[44]YesNoYesDe facto
standard via language specification and Requests for Comments (RFCs)
PL/IApplicationYesYesNoYesNoNoYes
1969, ECMA-50 (1976)
PlusApplication, system developmentYesNoNoYesNoNoNo
PostScriptGraphics, page descriptionYesNoNoYesNoNoConcatenative,stack-orientedDe facto
standard via the PostScript Reference Manual[45]
PowerShellAdministration, application, general, scriptingYesYesYesYesNoYesPipelineNo
PrologApplication, artificial intelligenceNoNoYesYesNoYesLogic, declarativeYes
1995, ISO/IEC 13211-1:1995, TC1 2007, TC2 2012, TC3 2017
PureBasicApplicationYesNoNoYesNoNoNo
PythonApplication, general, web, scripting, artificial intelligence, scientific computingYesYesYesYesYesYesAspect-orientedDe facto
standard via Python Enhancement Proposals (PEPs)
RApplication, statisticsYesYesYesYesNoYesNo
RacketEducation, general, scriptingYesYesYesYesNoYesModular, logic, metaNo
RakuScripting, text processing, glueYesYesYesYesYesYesAspect-oriented, array, lazy evaluation, multiple dispatch, metaprogrammingNo
REALbasicApplicationNoNoNoYesNoNoUnknown
RebolDistributedYesYesYesYesNoYesDialectedNo
REXXScriptingYesYes (NetRexx andObject REXX dialects)NoYesNoNoYes
1996 (ANSI X3.274-1996)
RPGApplication, systemYesNoNoYesNoNoNo
RingApplicationYesYesYesYesYesYesmetaprogramming, declarative,natural-languageNo
RubyApplication, scripting, webYesYesYesNoNoYesAspect-orientedYes
2011(JIS X 3017), 2012(ISO/IEC 30170)
RustApplication, server-side, system, webYesCan be viewed as[46]YesYesYesNo[47]ConcurrentDe facto standard by the official Rust releases
SApplication, statisticsYesYesYesYesNoNoNo
S-LangApplication, numerical, scriptingYesNoNoYesNoNoNo
ScalaApplication, general, parallel, distributed, webYesYesYesNoYesYesData-oriented programming, metaprogrammingDe facto
standard via Scala Language Specification (SLS)
SchemeEducation, generalYesNoYesNoNoNometa, extensible-syntaxDe facto
1975-2013, R0RS, R1RS, R2RS, R3RS, R4RS, R5RS, R6RS, R7RS Small Edition[48][49]
Seed7Application, general, scripting, webYesYesNoNoYesYesMulti-paradigm, extensible, structuredNo
SimulaEducation, generalYesYesNoNoNoNodiscrete event simulation,multi-threaded (quasi-parallel) program executionYes
1968
Small BasicApplication, education, gamesYesNoNoNoNoNoComponent-orientedNo
SmalltalkApplication, general, business, artificial intelligence, education, webYesYesYesYesNoYesConcurrent, declarativeYes
1998, ANSI
SNOBOLText processingNoNoNoNoNoNoUnknown
Standard MLApplicationYesNoYesNoYesNoYes
1997, SML '97[50]
SwiftApplication, generalYesYesYesYesYesYesConcurrent, declarative,protocol-orientedNo
TclApplication, scripting, webYesYesYesYesNoYesNo
V (Vlang)Application, general, system, game, web, server-sideYesCan be viewed asCan be viewed asYesYesYesConcurrentNo
Visual BasicApplication, RAD, education, business, general, (Includes VBA), office automationYesYesNoYesYesNoComponent-orientedNo
Visual Basic .NETApplication, RAD, education, web, business, generalYesYesYesYesYesYesStructured, concurrentNo
Visual FoxProApplicationYesYesNoYesNoNoData-centric, logicNo
Visual PrologApplicationYesYesYesNoNoNoDeclarative, logicNo
Wolfram LanguageSymbolic languageYesNoYesYesYesYesLogic, distributedNo
XLYesYesNoNoNoNoconcept programmingNo
XojoApplication, RAD, general, webYesYesNoYesNoYesNo
XPath/XQueryDatabases, data processing, scriptingNoNoYesNoNoNoTree-orientedYes
1999 W3C XPath 1, 2010 W3C XQuery 1, 2014 W3C XPath/XQuery 3.0
ZeekDomain-specific, applicationYesNoNoNoNoNoNo
ZigApplication, general, systemYesNoYesYesYesYesConcurrentNo
ZshShell,scriptingYesNoNoYesNoNoLoadable modulesOptionally
POSIX.2[13]

Type systems

[edit]
Main article:Comparison of programming languages by type system

Failsafe I/O and system calls

[edit]

Most programming languages will print anerror message or throw anexception if aninput/output operation or othersystem call (e.g.,chmod,kill) fails, unless the programmer has explicitly arranged for different handling of these events. Thus, these languagesfail safely in this regard.

Some (mostly older) languages require that programmers explicitly add checks for these kinds of errors. Psychologically, differentcognitive biases (e.g.,optimism bias) may affect novices and experts alike and lead them to skip these checks. This can lead toerroneous behavior.

Failsafe I/O is a feature of1C:Enterprise,Ada (exceptions),ALGOL (exceptions or return value depending on function),Ballerina,C#,Common Lisp ("conditions and restarts" system),Curry,D (throwing on failure),[51]Erlang,Fortran,Go (unless result explicitly ignored),Gosu,Harbour,Haskell,ISLISP,Java,Julia,Kotlin,LabVIEW,Mathematica,Objective-C (exceptions),OCaml (exceptions),OpenLisp,PHP,Python,Raku,Rebol,Rexx (with optionalsignal on... trap handling),Ring,Ruby,Rust (unless result explicitly ignored),Scala,[52]Smalltalk,Standard ML[citation needed],Swift ≥ 2.0 (exceptions),Tcl,Visual Basic,Visual Basic .NET,Visual Prolog,Wolfram Language,Xojo,XPath/XQuery (exceptions), andZeek.

No Failsafe I/O:AutoHotkey (global ErrorLevel must be explicitly checked),C,[53]COBOL,Eiffel (it actually depends on the library and it is not defined by the language),GLBasic (will generally cause program to crash),RPG,Lua (some functions do not warn or throw exceptions), andPerl.[54]

Some I/O checking is built inC++ (STL iostreams throw on failure but C APIs likestdio orPOSIX do not)[53] andObject Pascal, inBash[55] it is optional.

Expressiveness

[edit]
LanguageStatements ratio[56]Lines ratio[57]
C11
C++2.51
Fortran20.8
Java2.51.5
Perl66
Smalltalk66.25
Python66.5

The literature on programming languages contains an abundance of informal claims about their relativeexpressive power, but there is no framework for formalizing such statements nor for deriving interesting consequences.[58] This table provides two measures of expressiveness from two different sources. An additional measure of expressiveness, in GZip bytes, can be found on the Computer Language Benchmarks Game.[59]

Benchmarks

[edit]
Barplot of log-time to produce a 16002 Mandelbrot[60] as reported inThe Benchmarks Game[61]

Benchmarks are designed to mimic a particular type of workload on a component or system. The computer programs used for compiling some of the benchmark data in this section may not have been fully optimized, and the relevance of the data is disputed. The most accurate benchmarks are those that are customized to your particular situation. Other people's benchmark data may have some value to others, but proper interpretation brings manychallenges.The Computer Language Benchmarks Game site warns against over-generalizing from benchmark data, but contains a large number of micro-benchmarks of reader-contributed code snippets, with an interface that generates various charts and tables comparing specific programming languages and types of tests.[62]

Timeline of specific language comparisons

[edit]
  • 1974 – Comparative Notes on Algol 68 and PL/I[63] – S. H. Valentine – November 1974
  • 1976 – Evaluation ofALGOL 68,JOVIAL J3B,Pascal,Simula 67, andTACPOL Versus TINMAN – Requirements for a Common High Order Programming Language.
  • 1977 – A comparison of PASCAL and ALGOL 68[64]Andrew S. Tanenbaum – June 1977.
  • 1993 – Five Little Languages and How They Grew –BLISS,Pascal,ALGOL 68,BCPL &CDennis M. Ritchie – April 1993.
  • 2009 – On Go – oh, go on – How well will Google'sGo stand up against Brand X programming language? – David Given – November 2009

See also

[edit]
To display all pages, subcategories and images click on the "►":

References

[edit]
  1. ^As of May 2006 Diarmuid Pigott'sEncyclopedia of Computer LanguagesArchived 2011-02-20 at theWayback Machine hosted atMurdoch University,Australia lists 8512 computer languages.
  2. ^Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3,3.9 Tagged Types and Type Extensions
  3. ^Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3,Section 6: Subprograms
  4. ^Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3,Section 12: Generic Units
  5. ^Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3,Section 9: Tasks and Synchronization
  6. ^"Distributed Systems".www.adaic.org.
  7. ^"Vak.ru"(PDF). Archived fromthe original(PDF) on 2017-03-30. Retrieved2008-08-09.
  8. ^"ISO/IEC JTC1/SC22/WG6 - Algol".www.open-std.org.
  9. ^"Vak.ru"(PDF). Archived fromthe original(PDF) on 2017-03-24. Retrieved2008-08-09.
  10. ^"IEEE Standards Association".IEEE Standards Association.
  11. ^"Objects - Definition & Usage".
  12. ^"Ballerina Language Specification"(PDF). WSO2. 2018-05-01. Archived fromthe original(PDF) on 2018-05-04. Retrieved2018-05-03.
  13. ^abcPOSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
  14. ^"The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 274".jcp.org.
  15. ^"Chistory".www.bell-labs.com.
  16. ^"ISO/IEC JTC1/SC22/WG14 - C".www.open-std.org.
  17. ^"ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP".www.open-std.org.
  18. ^"Codeproject.com: Functional Programming in C# 3.0 using Lambda Expression".
  19. ^ECMA-334; ISO/IEC 23270:2006
  20. ^"Clarion - Home".www.softvelocity.com.
  21. ^"Crystal".GitHub. 2 November 2021.
  22. ^"Crystal Generics".crystal-lang.org. 13 April 2024.
  23. ^"Concurrency - Crystal".crystal-lang.org. Retrieved2024-04-02.
  24. ^"Bertrand Meyer: Basic Eiffel language mechanisms".se.inf.ethz.ch.
  25. ^Closure (computer programming)
  26. ^ECMA-367; ISO/IEC 25436:2006
  27. ^"Frequently Asked Questions (FAQ) - The Go Programming Language".go.dev.
  28. ^"Codewalk: First-Class Functions in Go".Go supports first class functions, higher-order functions, user-defined function types, function literals, closures, and multiple return values. This rich feature set supports a functional programming style in a strongly typed language.
  29. ^"The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 241".jcp.org.
  30. ^"The Haskell 2010 Language Report". Retrieved2011-12-07. Most Haskell implementations extend the Haskell 2010 standard.
  31. ^"Object-Oriented programming in julia". 4 June 2023.in Julia, Oriented programming is not the primary focus, instead it emphasizes multiple dispatches, a more general concept. Despite this, OOP can still be achieved in Julia through the use of composite types and methods.
  32. ^"Julia Object Oriented Programming". 29 May 2021.Julia does only partially support object oriented programming (OOP)
  33. ^"Julia Documentation · The Julia Language".docs.julialang.org.
  34. ^"kotlin-script-examples/jvm/main-kts/MainKts.md at master · Kotlin/kotlin-script-examples".GitHub.
  35. ^"Type-safe builders | Kotlin".Kotlin Help.
  36. ^"M8 is out!". 2 July 2014.As a first peek into the future reflective capabilities of Kotlin, you can now access properties as first-class objects in Kotlin
  37. ^"Coroutines | Kotlin".Kotlin Help.
  38. ^Halcyon (Inworldz) and Open Sims propose compatible implementations with additional functions.
  39. ^Lua does not have explicit "object" type (more general type of "table" is used for object definition), but does have explicit syntax for object method calling
  40. ^Version releases are accompanied with a definitive Lua Reference Manual showing full syntax and semantics; a reference implementation, and a test suite. These are used to generate other LuaVM implementations and compilers such as Kahlua and LLVM-Lua.
  41. ^ISO/IEC 10514-1:1996
  42. ^ISO 7185
  43. ^PHP Manual,Chapter 19. Classes and Objects (PHP 5),
  44. ^PHP Manual,Chapter 17. Functions
  45. ^"PostScript Language Reference Manual"(PDF). Archived fromthe original(PDF) on 2017-02-18. Retrieved2017-02-18.
  46. ^"Object-Oriented Programming Features".doc.rust-lang.org.
  47. ^Klabnik, Steve; Nichols, Carol."Macros".The Rust Programming Language.
  48. ^"Scheme Standards".standards.scheme.org.
  49. ^"Scheme Standards".standards.scheme.org.
  50. ^"SML '97".www.smlnj.org.
  51. ^"std.stdio - D Programming Language".dlang.org.
  52. ^Scala runs on the Java Virtual Machine from which it inherits the runtime exception handling.
  53. ^abgcc can warn on uncheckederrno. Newer versions ofVisual Studio usually throw exceptions on failed I/O when usingstdio.
  54. ^Considerable error checking can be enabled optionally, but by default Perl is not failsafe.
  55. ^set -e enables termination if any uncheckedexit status is nonzero.
  56. ^Data fromMcConnell, Steve (30 November 2009).Code Complete. Microsoft Press. p. 100.ISBN 9780735636972. TheStatements ratio column "shows typical ratios of source statements in several high-level languages to the equivalent code in C. A higher ratio means that each line of code in the language listed accomplishes more than does each line of code in C.
  57. ^The ratio of line count tests won by each language to the number won by C when using theCompare to feature atMcLoone, Jon (November 14, 2012)."Code Length Measured in 14 Languages". Archived fromthe original on 2012-11-19. C gcc was used for C, C++ g++ was used for C++, FORTRAN G95 was used for FORTRAN, Java JDK Server was used for Java, and Smalltalk GST was used for Smalltalk.
  58. ^Felleisen, Matthias.On the Expressive Power of Programming Languages. ESOP '90 3rd European Symposium on Programming.CiteSeerX 10.1.1.51.4656.
  59. ^"How programs are measured".Computer Language Benchmarks Game. Retrieved2018-05-29.
  60. ^Mandelbrot, Benoit B. (1982).The fractal geometry of nature (Revised ed.). San Francisco.ISBN 0-7167-1186-9.OCLC 7876824.{{cite book}}: CS1 maint: location missing publisher (link)
  61. ^"Mandelbrot".Computer Language Benchmarks Game. Retrieved2021-07-09.
  62. ^"The Ultimate Benchmark".The Computer Language Benchmarks Game. Retrieved2018-05-29.
  63. ^Valentine, S. H. (November 1974)."Comparative Notes on Algol 68 and PL/I".The Computer Journal.17 (4):325–331.doi:10.1093/comjnl/17.4.325.
  64. ^"Vrije Universiteit Amsterdam"(PDF).

Further reading

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Comparison_of_programming_languages&oldid=1318582573"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp