सामग्री पर जाएँ

प्रोग्रामिंग भाषाओं की तुलना

किसी मशीन (प्रायः संगणक) के व्यवहार को नियंत्रित करने के लिये प्रोग्रामिंग भाषाओं का प्रयोग किया जाता है। प्राकृतिक भाषाओं की भांति प्रोग्रामन भाषाओं के भी सिन्टैक्स और सिमैन्टिक्स होते हैं।

इस समय हजारों प्रोग्रामन भाषाएं प्रकाश में हैं। इनमें से कुछ भाषाएँ बहुत लोकप्रिय हैं जिनको बहुत सारे लोक प्रयोग में लाते हैं। दूसरी तरफ यह भी सत्य है कि अनेक प्रोग्रामर दर्जनों भाषाओं में काम करते हैं।

सामान्य तुलना

भाषाप्रोग्रामिंग सम्बन्धी विशेषतामानकीकृत है?
ActionScript 3.0imperative, object-oriented, event-drivenहाँ, ECMA
Adaconcurrent, distributed, generic, imperative, object-orientedहाँ, ANSI, ISO
ALGOL 58imperativeनहीं
ALGOL 60imperativeहाँ, ISO
ALGOL 68concurrent, imperativeनहीं
APLarray-orientedहाँ, ISO
BASICproceduralहाँ, ANSI
BLISSproceduralनहीं
Booनहीं
सीimperativeहाँ, ANSI C89, ISO C90/C99
सी++imperative, object-oriented, genericहाँ, ISO
C#imperative, object-oriented, generic, reflectiveहाँ, ECMA, ISO
Chromeimperative, object-oriented, genericनहीं
Cleanfunctional, genericनहीं
COBOLimperative, object-orientedहाँ
ColdFusionprocedural, object-orientedनहीं
Common Lispimperative, functional, object-orientedहाँ
Dimperative, object-oriented, genericनहीं
Dylanfunctional, object-orientedनहीं
Eiffelimperative, object-oriented, genericहाँ, ECMA, ISO[1]
Erlangfunctional, concurrent, distributedनहीं
F#functional, object-oriented, imperative, genericनहीं
Forthimperative, stack-orientedहाँ, ANSI
Fortranimperative, procedural, object-orientedहाँ
GraphTalklogic-oriented, object-orientedनहीं
Groovyimperative, object-oriented, aspect-orientedनहीं
Haskellfunctional, generic, lazy evaluationनहीं
Ioimperative, object-orientedनहीं
Jarray-oriented, function-level, tacitनहीं
जावाimperative, object-oriented, generic, reflectiveनहीं
जावास्क्रिप्टimperative, object-oriented, functional, reflectiveहाँ
Joyfunctional, stack-orientedनहीं
Lispfunctional, reflective; others vary by dialect only Common Lisp
Luaprocedural, imperative, reflectiveनहीं
Mathematicafunctional, proceduralनहीं
Modula-2imperative, genericहाँ, ISO/IEC 10514-1:1996
Modula-3imperative, object-oriented, genericनहीं
Oberonimperative, object-orientedनहीं
Objective-Cimperative, object-oriented, reflectiveहाँ
Objective Camlobject-oriented, functional, imperative, genericनहीं
Object Pascal (Delphi) imperative, object-oriented, genericनहीं
Ozlogic, functional, imperative, object-oriented, concurrent - multi paradigm नहीं
Pascalimperative, proceduralहाँ
Perlprocedural, reflective, functional, object-orientedनहीं
PHPimperative, object-oriented, reflectiveनहीं
Prologlogicहाँ, ISO
Pythonimperative, object-oriented, functional, aspect-oriented, reflectiveनहीं[2]
Rubyimperative, object-oriented, aspect-orientedनहीं
S-Langimperative, proceduralनहीं
Scalaobject-oriented, functional, genericनहीं
Schemefunctionalहाँ
Smalltalkobject-oriented, concurrent, event-driven, imperative, declarativeहाँ, ANSI
Tclimperative, procedural, event-drivenनहीं
Visual Basiccomponent-oriented, event-drivenनहीं
Visual Basic .NETobject-oriented, event-drivenनहीं
Visual Prologlogical, object-oriented, functional, event-driven, imperative, declarativeनहीं
Windows PowerShellimperative, object-oriented, functional, pipeline, reflectiveनहीं
XLconcept programming, imperative (by default), object-oriented (multiple models), नहीं
Language Paradigm(s) Standardized?

Type systems

Language Type strengthType safetyExpression of types "Compatibility"Type checking
ActionScript 3.0strong safe static
Adastrong safe nominative static
ALGOL 58strong safe static
ALGOL 60strong safe static
ALGOL 68strong safe structural static or dynamic (tagged union)
APLstrong safe dynamic
BASICvaries by dialect
BLISSnone n/a n/a n/a n/a
Boostrong implicit
Cweak unsafe explicit static
C++strong unsafe explicit nominative static
C#strong safe (but unsafe allowed) implicit static
Chromestrong safe (but unsafe allowed) implicit static
Cleanstrong implicit static
COBOLstrong static
ColdFusionweak implicit dynamic
Common Lispstrong safe dynamic
Dstrong unsafe static
Dylanstrong safe dynamic
Eiffelstrong safe nominative static
Erlangstrong dynamic
F#strong safe implicit nominative static
Forthnone n/a n/a n/a n/a
Fortranstrong safe nominative static
GraphTalkweak
Groovystrong safe implicit n/a dynamic
Haskellstrong implicit static
Iostrong dynamic
Jstrong safe dynamic
Javastrong safe explicit nominative static
JavaScriptweak dynamic
Joynone n/a n/a n/a n/a
Lispstrong dynamic
Luastrong safe implicit dynamic
Mathematicastrong dynamic
Modula-2strong safe (but unsafe allowed) explicit structural static
Modula-3strong safe (but unsafe allowed) structural static
Oberonstrong safe static
Objective-Cstrong static
Objective Camlstrong safe implicit structural static
Object Pascal (Delphi) strong safe (but unsafe allowed) nominative static
Ozdynamic
Pascalstrong safe explicit static
Perlstrong implicit dynamic
PHPweak dynamic
Prologstrong dynamic
Pythonstrong safe implicit dynamic
Rubystrong implicit dynamic
S-Langstrong safe dynamic
Scalastrong partially implicit static
Schemestrong dynamic (latent)
Smalltalkstrong safe implicit dynamic
Tcldynamic
Visual Basicstrong safe nominative static
Visual Basic .NETstrong static
Visual Prologstrong safe nominative static
Windows PowerShellstrong safe implicit dynamic
XLstrong safe nominative static
Language Type strengthType safetyExpression of types "Compatibility"Type checking

प्रयोग (usage)

भाषा लक्ष्यित उपयोग (intended use) डिजाइन उद्देश्य (Design goals)
ActionScript 3.0Web design
AdaEmbedded, Realtime applications Reliability
ALGOLApplication Readability, Structure
APLData processing Terseness, Expressiveness
AutoItAutomation, Scripting Very quick development
BASICEducation Simplicity
BLISSSystem Type free
BooApplication Python-like syntax, extensibility
CSystem Low level access, Minimal constraint
C++Application, System Abstraction, Efficiency, Compatibility
C#Application Rapid application development
ChromeApplication Extends Object Pascal to work on .NET
CleanGeneral Correctness, Modularity
COBOLBusiness and Financial Applications Readability
ColdFusionWeb Development Rapid Application Development, Ease of use
Common LispGeneral Standardize Lisp
DApplication, System Compilability, Correctness, Efficiency
DylanApplication, General Dynamic but well-suited for commercial software
EiffelApplication Correctness, Efficiency, "Design by contract"
ErlangTelecom and distributed applications Fault tolerance, Scalability
F#Application
ForthApplication, Embedded systems Compact implementations
FortranScientific and numeric applications Runtime efficiency, Simple syntax
GraphTalk
GroovyApplication JVM compatibility
HaskellEducation Side-effect free
IoApplication, Host-driven Scripting
JData processing Terseness, Expressiveness, Powerful Data Manipulation
JavaApplication "Write once run anywhere"
JavaScriptClient side web scripting
JoyFunctional programming research Concatenative
LispGeneral Simple notation for Lambda calculus, Homoiconicity
LuaHost-driven Scripting
MathematicaNumeric computation and visualization
Modula-2Application, systems programming Source modules, Co-routines, Brevity.
Modula-3OO extension of Modula-2
OberonApplication, Type-safe systems programming Simplicity, safety and efficiency; Simplifed Modula-2
Objective-CApplication Smalltalk like, Component based code reuse, C compatibility
Objective CamlApplication Efficiency, Robustness, Correctness
Object Pascal (Delphi) Application, System Readability, Rapid application development, Modularity
OzEducation
PascalEducation Readability, Discipline, Modularity
PerlText processing, Scripting Terseness, Expressiveness
PHPWeb Application, CLI Robustness and Simplicity
PrologProblem solving, Artificial intelligence Declarative programming
PythonApplication, Education, Scripting Simplicity, Readability, Expressiveness, Modularity
RubyApplication, Scripting Expressiveness, Readability
S-LangApplication, Numerical, Scripting Small footprint, Embedded, Fast Numerics
ScalaEducation
SchemeGeneral, Education Minimalistic, Lexical Scoping
SmalltalkApplication, Education Uniformity, Pure object oriented
SNOBOLText processing
TclApplication, Scripting
Visual BasicApplication Rapid application development, Simplicity
Visual Basic .NETApplication Rapid application development, Simplicity
Windows PowerShellAutomation, Scripting Applicability, "One language to program them all"
XL
Language Intended use Design goals

व्यंजनात्मकता (expressiveness)

C11
C++2.51
Fortran2.50.8
Java2.51.5
MS Visual Basic4.5?
Perl66
Smalltalk66.25
Python66.5

बाहरी कड़ियाँ

सन्दर्भ

  1. ECMA-367; ISO/IEC 25436:2006
  2. Language changes are done using a formally documented procedure, starting with a Python Enhancement Proposal (PEP)s. Python version releases are accompanied with a Language Reference Manual showing syntax and semantics; a reference implementation, and test suite. These are used to generate other Python implementations such as Jython and IronPython