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

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

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

 सामान्य तुलना 
 भाषा प्रोग्रामिंग सम्बन्धी विशेषता मानकीकृत है? ActionScript 3.0 imperative, object-oriented, event-driven , ECMA Ada concurrent, distributed, generic, imperative, object-oriented , ANSI, ISO ALGOL 58 imperative  ALGOL 60 imperative , ISO ALGOL 68 concurrent, imperative  APL array-oriented , ISO BASIC procedural , ANSI BLISS  procedural  Boo    सी  imperative , ANSI C89, ISO C90/C99 सी++ imperative, object-oriented, generic , ISO C# imperative, object-oriented, generic, reflective , ECMA, ISO Chrome  imperative, object-oriented, generic  Clean functional, generic  COBOL imperative, object-oriented  ColdFusion procedural, object-oriented  Common Lisp imperative, functional, object-oriented  D imperative, object-oriented, generic  Dylan functional, object-oriented  Eiffel imperative, object-oriented, generic , ECMA, ISOECMA-367; ISO/IEC 25436:2006 Erlang functional, concurrent, distributed  F#  functional, object-oriented, imperative, generic  Forth imperative, stack-oriented , ANSI Fortran imperative, procedural, object-oriented  GraphTalk logic-oriented, object-oriented  Groovy imperative, object-oriented, aspect-oriented  Haskell functional, generic, lazy evaluation  Io imperative, object-oriented  J array-oriented, function-level, tacit  जावा imperative, object-oriented, generic, reflective  जावास्क्रिप्ट imperative, object-oriented, functional, reflective  Joy functional, stack-oriented  Lisp functional, reflective; others vary by dialect  Lua procedural, imperative, reflective  Mathematica functional, procedural  Modula-2 imperative, generic , ISO/IEC 10514-1:1996 Modula-3 imperative, object-oriented, generic  Oberon imperative, object-oriented  Objective-C imperative, object-oriented, reflective  Objective Caml object-oriented, functional, imperative, generic  Object Pascal (Delphi) imperative, object-oriented, generic  Oz logic, functional, imperative, object-oriented, concurrent - multi paradigm  Pascal imperative, procedural  Perl procedural, reflective, functional, object-oriented  PHP imperative, object-oriented, reflective  Prolog logic , ISO Python  imperative, object-oriented, functional, aspect-oriented, reflective 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 Ruby imperative, object-oriented, aspect-oriented  S-Lang imperative, procedural  Scala object-oriented, functional, generic  Scheme functional  Smalltalk object-oriented, concurrent, event-driven, imperative, declarative , ANSI Tcl imperative, procedural, event-driven  Visual Basic component-oriented, event-driven   Visual Basic .NET object-oriented, event-driven  Visual Prolog logical, object-oriented, functional, event-driven, imperative, declarative  Windows PowerShell imperative, object-oriented, functional, pipeline, reflective  XL concept programming, imperative (by default), object-oriented (multiple models),  Language Paradigm(s) Standardized?

 Type systems 
 Language Type strength Type safety Expression of types  "Compatibility" Type checking ActionScript 3.0 strong safe   static Ada strong safe  nominative static ALGOL 58 strong safe  static ALGOL 60 strong safe  static ALGOL 68 strong safe  structural static or dynamic (tagged union) APL strong safe  dynamic BASIC varies by dialect    BLISS  none n/a n/a n/a n/a Boo  strong  implicit  C  weak unsafe explicit static C++ strong unsafe explicit nominative static C# strong safe (but unsafe allowed) implicit  static Chrome  strong safe (but unsafe allowed) implicit  static Clean strong implicit  static COBOL strong  static ColdFusion weak implicit  dynamic Common Lisp strong safe   dynamic D strong unsafe   static Dylan strong safe   dynamic Eiffel strong safe  nominative static Erlang strong   dynamic F#  strong safe implicit nominative static Forth none n/a n/a n/a n/a Fortran strong safe  nominative static GraphTalk weak    Groovy strong safe implicit n/a  dynamic Haskell strong  implicit static Io strong    dynamic J strong safe   dynamic Java strong safe explicit nominative static JavaScript weak   dynamic Joy none n/a n/a n/a n/a Lisp strong   dynamic Lua strong safe implicit  dynamic Mathematica strong    dynamic Modula-2 strong safe (but unsafe allowed) explicit structural static Modula-3 strong safe (but unsafe allowed)  structural static Oberon strong safe   static Objective-C strong    static Objective Caml strong safe implicit structural static Object Pascal (Delphi) strong safe (but unsafe allowed)  nominative static Oz     dynamic Pascal strong safe explicit  static Perl strong  implicit  dynamic PHP weak   dynamic Prolog strong   dynamic Python  strong safe implicit  dynamic Ruby strong  implicit  dynamic S-Lang strong safe   dynamic Scala strong  partially implicit  static Scheme strong    dynamic (latent) Smalltalk strong safe implicit  dynamic Tcl     dynamic Visual Basic strong safe  nominative static Visual Basic .NET strong    static Visual Prolog strong safe  nominative static Windows PowerShell strong safe implicit  dynamic XL strong safe  nominative static Language Type strength Type safety Expression of types  "Compatibility" Type checking

 प्रयोग (usage) 

 भाषा लक्ष्यित उपयोग (intended use)  डिजाइन उद्देश्य (Design goals)  ActionScript 3.0 Web design Ada Embedded, Realtime applications Reliability ALGOL Application Readability, Structure APL Data processing Terseness, Expressiveness  AutoIt Automation, Scripting Very quick development BASIC Education Simplicity BLISS System Type free Boo Application Python-like syntax, extensibility C System Low level access, Minimal constraint C++ Application, System Abstraction, Efficiency, Compatibility C# Application Rapid application development Chrome Application Extends Object Pascal to work on .NET Clean General Correctness, Modularity COBOL Business and Financial Applications Readability ColdFusion Web Development Rapid Application Development, Ease of use Common Lisp General Standardize Lisp D Application, System Compilability, Correctness, Efficiency Dylan Application, General Dynamic but well-suited for commercial software Eiffel Application Correctness, Efficiency, "Design by contract" Erlang Telecom and distributed applications Fault tolerance, Scalability F# Application  Forth Application, Embedded systems Compact implementations Fortran Scientific and numeric applications Runtime efficiency, Simple syntax GraphTalk   Groovy Application JVM compatibility Haskell Education Side-effect free Io Application, Host-driven Scripting  J Data processing Terseness, Expressiveness, Powerful Data Manipulation Java Application "Write once run anywhere" JavaScript Client side web scripting  Joy Functional programming research Concatenative Lisp General Simple notation for Lambda calculus, Homoiconicity Lua Host-driven Scripting  Mathematica Numeric computation and visualization  Modula-2 Application, systems programming Source modules, Co-routines, Brevity. Modula-3  OO extension of Modula-2 Oberon Application, Type-safe systems programming  Simplicity, safety and efficiency; Simplifed Modula-2 Objective-C Application Smalltalk like, Component based code reuse, C compatibility Objective Caml Application Efficiency, Robustness, Correctness Object Pascal (Delphi) Application, System Readability, Rapid application development, Modularity Oz Education  Pascal Education Readability, Discipline, Modularity Perl Text processing, Scripting Terseness, Expressiveness PHP Web Application, CLI Robustness and Simplicity Prolog Problem solving, Artificial intelligence Declarative programming Python Application, Education, Scripting Simplicity, Readability, Expressiveness, Modularity Ruby Application, Scripting Expressiveness, Readability S-Lang Application, Numerical, Scripting Small footprint, Embedded, Fast Numerics Scala Education  Scheme General, Education Minimalistic, Lexical Scoping Smalltalk Application, Education Uniformity, Pure object oriented SNOBOL Text processing  Tcl Application, Scripting  Visual Basic Application Rapid application development, Simplicity Visual Basic .NET Application Rapid application development, Simplicity Windows PowerShell Automation, Scripting Applicability, "One language to program them all" XL   Language Intended use  Design goals 

 व्यंजनात्मकता (expressiveness) 
 C  1  1  C++  2.5  1 Fortran  2.5  0.8 Java  2.5  1.5 MS Visual Basic  4.5  ? Perl  6  6 Smalltalk  6  6.25 Python  6  6.5

 बाहरी कड़ियाँ 
 99-bottles-of-beer.net One program in over a thousand variations and multiple languages.
 The Computer Language Benchmarks Game at Alioth
 Language Study — Syntax across languages.
 Programming Language Comparison — A comparison of nine programming languages and related information.
 Computer Language Shootout Scorecard — Comparison of benchmark results for dozens of languages.
 Scriptometer scores — Multiple comparisons of 26 programming languages.
 Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java — PDF — 2003 study
 An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl — PDF — March 2000 refereed journal paper
 An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program — PDF — March 2000 technical report (same author, experiment, and data as above, but has additional analysis and charts) 
 ABAP2Java.com Comparision and Translation of ABAP and Java
 Comparing Web Languages in Theory and Practice — PDF — Research to fulfill Kristofer J. Carlson's master's degree requirements.
 The Encyclopedia of Computer Languages — As of May 2006, the encyclopedia lists 8512 computer languages with 17837 bibliographic records featuring 11064 extracts.
 PLEAC Programming Language Examples Alike Cookbook.
 The hundred-year language by Paul Graham. Keynote from PyCon2003 (about Python): how languages evolve and what increase in CPU speed might bring us.
 TIOBE Programming Community Index The TIOBE Programming Community index gives an indication of the popularity of programming languages.
 OHLOH Language Statistics The programming languages page on Ohloh gives an actively updated indication of the popularity of programming languages in open-source projects.
 History of Programming Language Statements History and Comparing Programming Languages.
 Comparison Cheat Sheet between Languages

 सन्दर्भ 

श्रेणी:सॉफ्टवेयर
श्रेणी:कंप्यूटर
श्रेणी:प्रोग्रामिंग भाषा