The student wrote a comprehensive survey of 32 programming languages, providing the name, type, paradigm, year created, current version, creator, common uses, how it is translated, and period of use for each one. A wide range of languages were covered from across different paradigms, used for various purposes such as systems programming, web development, scientific computing, databases, and more. The survey spanned programming languages created from the 1950s to present day.
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0 ratings0% found this document useful (0 votes)
24 views29 pages
Programming Languages
The student wrote a comprehensive survey of 32 programming languages, providing the name, type, paradigm, year created, current version, creator, common uses, how it is translated, and period of use for each one. A wide range of languages were covered from across different paradigms, used for various purposes such as systems programming, web development, scientific computing, databases, and more. The survey spanned programming languages created from the 1950s to present day.
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 29
NAME: AYOOLA TOLULOPE
LEVEL: 300
DEPARTMENT: COMPUTER SCIENCE
MATRIC NUMBER: 20/SCI01/040
COURSE CODE: CSC 302 (SURVEY OF PROGRAMMING LANGUAGES)
QUESTION: Write a comprehensive survey of 150-200/300 programming languages, including: types
(structured/unstructured/modular), paradigm (object oriented, activity oriented, etc.), year, version, and author, use case (scientific/business/AI), translator used (compiled/interpreted), time period used.. 1. Name: C Type: Structured, procedural Paradigm: Imperative Year: 1972 Version: C17 Author: Dennis Ritchie Use Case: System programming, operating systems, device drivers Translator: Compiled Time Period Used: 1972-present 2. Name: Python Type: Modular Paradigm: Multi-paradigm (object-oriented, functional, procedural) Year: 1991 Version: 3.10 Author: Guido van Rossum Use Case: Web development, scientific computing, machine learning, data analysis Translator: Interpreted Time Period Used: 1991-present 3. Name: Java Type: Object-oriented Paradigm: Imperative, declarative, functional, object-oriented Year: 1995 Version: Java 16 Author: James Gosling Use Case: Enterprise software, web applications, Android development Translator: Compiled Time Period Used: 1995-present 4. Name: C++ Type: Structured, procedural, object-oriented Paradigm: Imperative, functional, object-oriented Year: 1983 Version: C++20 Author: Bjarne Stroustrup Use Case: Operating systems, game development, database software Translator: Compiled Time Period Used: 1983-present 5. Name: Ruby Type: Object-oriented Paradigm: Multi-paradigm (object-oriented, imperative, functional) Year: 1995 Version: 3.0.1 Author: Yukihiro Matsumoto Use Case: Web development, game development, automation scripting Translator: Interpreted Time Period Used: 1995-present 6. Name: JavaScript Type: Unstructured Paradigm: Imperative, functional, object-oriented Year: 1995 Version: ECMAScript 2022 Author: Brendan Eich Use Case: Web development, server-side development, game development Translator: Interpreted Time Period Used: 1995-present 7. Name: Go Type: Structured Paradigm: Imperative, concurrent, object-oriented Year: 2009 Version: Go 1.16 Author: Robert Griesemer, Rob Pike, and Ken Thompson Use Case: Cloud infrastructure, network programming, web development Translator: Compiled Time Period Used: 2009-present 8. Name: Swift Type: Object-oriented Paradigm: Multi-paradigm (object-oriented, imperative, functional) Year: 2014 Version: Swift 5.4 Author: Chris Lattner Use Case: iOS development, macOS development, server-side development Translator: Compiled Time Period Used: 2014-present 9. Name: Rust Type: Structured Paradigm: Imperative, functional, concurrent Year: 2010 Version: Rust 1.52 Author: Graydon Hoare Use Case: Systems programming, network programming, game development Translator: Compiled Time Period Used: 2010-present 10. Name: Kotlin Type: Object-oriented Paradigm: Multi-paradigm (object-oriented, functional) Year: 2011 Version: Kotlin 1.5.0 Author: JetBrains Use Case: Android development, server-side development, web development Translator: Compiled Time Period Used: 2011-present 11. Name: MATLAB Type: Modular Paradigm: Procedural, functional Year: 1984 Version: R2021a Author: Cleve Moler Use Case: Scientific computing, data analysis, machine learning Translator: Interpreted Time Period Used: 1984-present 12. Name: PHP Type: Structured Paradigm: Imperative, Object-oriented Year: 1995 Version: PHP 8.1 Author: Rasmus Lerdorf Use Case: Web Development, Server-side Scripting Translator: Interpreted Time Period: 1990s - present 13. Name: R Type: Modular Paradigm: Functional, object-oriented Year: 1993 Version: R 4.1.0 Author: Ross Ihaka and Robert Gentleman Use Case: Statistical computing, data analysis, machine learning Translator: Interpreted Time Period Used: 1993-present 14. Name: TypeScript Type: Structured Paradigm: Object-oriented, functional Year: 2012 Version: TypeScript 4.3 Author: Microsoft Use Case: Web development, front-end development Translator: Compiled Time Period Used: 2012-present 15. Name: Lua Type: Structured Paradigm: Imperative, functional, procedural Year: 1993 Version: Lua 5.4.3 Author: Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes Use Case: Game development, embedded systems, scripting Translator: Interpreted Time Period Used: 1993-present 16. Name: Haskell Type: Modular Paradigm: Functional Year: 1990 Version: Haskell 2020 Author: Simon Peyton Jones and others Use Case: Mathematical programming, data analysis, artificial intelligence Translator: Compiled Time Period Used: 1990-present 17. Name: Scala Type: Object-oriented Paradigm: Object-oriented, functional Year: 2003 Version: Scala 2.13.6 Author: Martin Odersky and others Use Case: Web development, data analysis, artificial intelligence Translator: Compiled Time Period Used: 2003-present 18. Name: C# Type: Object-oriented Paradigm: Imperative, object-oriented Year: 2000 Version: C# 9.0 Author: Microsoft Use Case: Windows development, game development, server-side development Translator: Compiled Time Period Used: 2000-present 19. Name: Julia Type: Structured Paradigm: Functional, object-oriented Year: 2012 Version: Julia 1.6.1 Author: Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman Use Case: Scientific computing, numerical analysis, machine learning Translator: Compiled Time Period Used: 2012-present 20. Name: Dart Type: Structured Paradigm: Object-oriented, functional Year: 2011 Version: Dart 2.12 Author: Google Use Case: Web development, mobile app development Translator: Compiled Time Period Used: 2011-present 21. Name: SQL Type: Structured Paradigm: Declarative, domain-specific language Year: 1974 Version: SQL:2016 Author: Donald D. Chamberlin and Raymond F. Boyce Use Case: Database management, data analysis, data processing Translator: Compiled or interpreted Time Period Used: 1974-present 22. Name: SAS Type: Structured Paradigm: Object-oriented, procedural Year: 1966 Version: SAS 9.4 Author: Jim Goodnight and John Sall Use Case: Statistical computing, data analysis, business intelligence Translator: Compiled or interpreted Time Period Used: 1966-present 23. Name: LuaTeX Type: Modular Paradigm: Procedural, functional Year: 2007 Version: LuaTeX 1.13.2 Author: Taco Hoekwater, Hans Hagen, and others Use Case: Typesetting, document processing Translator: Compiled Time Period Used: 2007-present 24. Name: COBOL Type: Structured Paradigm: Imperative, procedural Year: 1959 Version: COBOL 2014 Author: Grace Hopper and others Use Case: Business applications, financial systems Translator: Compiled Time Period Used: 1959-present 25. Name: Prolog Type: Structured Paradigm: Logic programming Year: 1972 Version: ISO/IEC 13211-1:1995 Author: Alain Colmerauer and Philippe Roussel Use Case: Artificial intelligence, natural language processing Translator: Interpreted Time Period Used: 1972-present 26. Name: VHDL Type: Modular Paradigm: Hardware description language Year: 1983 Version: VHDL-2008 Author: U.S. Department of Defense Use Case: Digital circuit design, hardware description, FPGA programming Translator: Compiled Time Period Used: 1983-present 27. Name: F# Type: Modular Paradigm: Functional, object-oriented Year: 2005 Version: F# 5.0 Author: Microsoft Use Case: Scientific computing, data analysis, machine learning Translator: Compiled Time Period Used: 2005-present 28. Name: Smalltalk Type: Object-oriented Paradigm: Object-oriented Year: 1972 Version: Smalltalk-80 Author: Alan Kay, Dan Ingalls, Adele Goldberg, and others Use Case: Educational programming, graphical user interfaces Translator: Interpreted Time Period Used: 1972-present 29. Name: Ada Type: Structured Paradigm: Imperative, object-oriented Year: 1980 Version: Ada 2012 Author: U.S. Department of Defense Use Case: Safety-critical systems, real-time systems Translator: Compiled Time Period Used: 1980-present 30. Name: COq Type: Modular Paradigm: Functional, logical Year: 1984 Version: Coq 8.13.2 Author: Thierry Coquand and Gérard Huet Use Case: Formal verification, theorem proving Translator: Compiled Time Period Used: 1984-present 31. Name: Pascal Type: Structured Paradigm: Imperative, procedural Year: 1970 Version: ISO/IEC 7185:1990 Author: Niklaus Wirth Use Case: Educational programming, compiler development Translator: Compiled Time Period Used: 1970-present 32. Name: Objective-C Type: Object-oriented Paradigm: Object-oriented Year: 1983 Version: Objective-C 2.0 Author: Brad Cox and Tom Love Use Case: iOS app development, macOS app development Translator: Compiled Time Period Used: 1983-present 32. Name: Scratch Type: Unstructured Paradigm: Block-based programming, event-driven Year: 2007 Version: Scratch 3.0 Author: MIT Media Lab Use Case: Educational programming, introductory programming, game development Translator: Interpreted Time Period Used: 2007-present 33. Name: Erlang Type: Structured Paradigm: Concurrent, functional Year: 1986 Version: Erlang/OTP 24 Author: Joe Armstrong, Robert Virding, and Mike Williams Use Case: Telecommunications, distributed systems, fault-tolerant systems Translator: Compiled Time Period Used: 1986-present 34. Name: Groovy Type: Structured Paradigm: Object-oriented, functional Year: 2003 Version: Groovy 3.0.9 Author: James Strachan Use Case: Web development, scripting, build automation Translator: Compiled or interpreted Time Period Used: 2003-present 35. Name: COOL Type: Object-oriented Paradigm: Object-oriented Year: 1996 Version: COOL 1.2 Author: Alex Aiken Use Case: Educational programming, object-oriented programming Translator: Interpreted Time Period Used: 1996-present 36. Name: Tcl Type: Unstructured Paradigm: Scripting, procedural Year: 1988 Version: Tcl 8.6 Author: John Ousterhout Use Case: Scripting, GUI development, web development Translator: Interpreted Time Period Used: 1988-present 37. Name: Blockly Type: Unstructured Paradigm: Visual programming Year: 2012 Version: Blockly 1.0 Author: Google Use Case: Educational programming, game development, and robotics Translator: Interpreted Time Period Used: 2012-present 38. Name: Logo Type: Unstructured Paradigm: Educational programming, functional Year: 1967 Version: Logo 7 Author: Wally Feurzeig, Seymour Papert, and Cynthia Solomon Use Case: Educational programming, robotics, game development Translator: Interpreted Time Period Used: 1967-present 39. Name: FORTRAN Type: Structured Paradigm: Procedural, imperative Year: 1957 Version: FORTRAN 2018 Author: IBM Use Case: Scientific computing, engineering, numerical analysis Translator: Compiled Time Period Used: 1957-present 40. Name: D Type: Structured Paradigm: Imperative, object-oriented Year: 2001 Version: D 2.0 Author: Walter Bright Use Case: Systems programming, game development, web development Translator: Compiled Time Period Used: 2001-present 41. Name: ABAP Type: Structured Paradigm: Procedural Year: 1983 Version: ABAP Objects Author: SAP SE Use Case: Business applications, SAP ERP systems Translator: Compiled Time Period Used: 1983-present 42. Name: RPG Type: Structured Paradigm: Procedural Year: 1959 Version: RPG IV Author: IBM Use Case: Business applications, financial systems Translator: Compiled Time Period Used: 1959-present 43. Name: Elixir Type: Structured Paradigm: Functional, concurrent, distributed Year: 2011 Version: Elixir 1.12 Author: José Valim Use Case: Web development, distributed systems, fault-tolerant systems Translator: Compiled Time Period Used: 2011-present 44. Name: Hack Type: Structured Paradigm: Object-oriented, imperative Year: 2014 Version: Hack 4.125.0 Author: Facebook Use Case: Web development Translator: Compiled Time Period Used: 2014-present 45. Name: Apex Type: Structured Paradigm: Object-oriented Year: 2007 Version: Apex 52.0 Author: Salesforce Use Case: Salesforce app development Translator: Compiled Time Period Used: 2007-present 46. Name: Cobalt Type: Structured Paradigm: Object-oriented, imperative Year: 2021 Version: Cobalt 0.16.1 Author: Cobalt Lang Team Use Case: Web development, systems programming Translator: Compiled Time Period Used: 2021-present 47. Name: Pony Type: Structured Paradigm: Object-oriented, concurrent Year: 2015 Version: Pony 0.40.0 Author: Sylvan Clebsch Use Case: Concurrent programming, distributed systems, network programming Translator: Compiled Time Period Used: 2015-present 48. Name: Crystal Type: Structured Paradigm: Object-oriented, imperative Year: 2014 Version: Crystal 1.2.1 Author: Ary Borenszweig Use Case: Web development, systems programming Translator: Compiled Time Period Used: 2014-present 49. Name: Hacklang Type: Structured Paradigm: Object-oriented, functional, imperative Year: 2014 Version: Hacklang 4.125.0 Author: Facebook Use Case: Web development Translator: Compiled Time Period Used: 2014-present 50. Name: Groovy++ Type: Structured Paradigm: Object-oriented Year: 2004 Version: Groovy++ 0.5.0 Author: James Strachan Use Case: Web development, scripting, build automation Translator: Compiled Time Period Used: 2004-2010 51. Name: Visual Basic .NET Type: Structured Paradigm: Object-oriented, imperative Year: 2001 Version: Visual Basic .NET 16.10 Author: Microsoft Use Case: Windows application development, web development Translator: Compiled Time Period Used: 2001-present 52. Name: Solidity Type: Structured Paradigm: Object-oriented, imperative Year: 2014 Version: Solidity 0.8.4 Author: Ethereum Foundation Use Case: Blockchain development, smart contracts Translator: Compiled Time Period Used: 2014-present 53. Name: Kotlin Multiplatform Type: Structured Paradigm: Object-oriented, functional Year: 2020 Version: Kotlin Multiplatform 1.5.0 Author: JetBrains Use Case: Cross-platform mobile app development, server-side programming Translator: Compiled Time Period Used: 2020-present 54. Name: Clojure Type: Structured Paradigm: Functional Year: 2007 Version: Clojure 1.10.3 Author: Rich Hickey Use Case: Web development, big data, concurrency Translator: Compiled Time Period Used: 2007-present 55. Name: LuaJIT Type: Structured Paradigm: Imperative, procedural Year: 2005 Version: LuaJIT 2.1.0-beta3 Author: Mike Pall Use Case: Game development, embedded systems, scripting Translator: JIT-compiled Time Period Used: 2005-present 56. Name: Zig Type: Structured Paradigm: Imperative Year: 2015 Version: Zig 0.8.1 Author: Andrew Kelley Use Case: System programming, game development Translator: Compiled Time Period Used: 2015-present 57. Name: OCaml Type: Structured Paradigm: Functional Year: 1996 Version: OCaml 4.12.0 Author: Xavier Leroy, Damien Doligez, Didier Rémy Use Case: Compiler development, numerical analysis, distributed systems Translator: Compiled Time Period Used: 1996-present 58. Name: Elixir Type: Structured Paradigm: Functional, concurrent Year: 2011 Version: Elixir 1.12.1 Author: José Valim Use Case: Web development, distributed systems, telecommunications Translator: Compiled Time Period Used: 2011-present 59. Name: Elm Type: Structured Paradigm: Functional, declarative Year: 2012 Version: Elm 0.19.1 Author: Evan Czaplicki Use Case: Web development Translator: Compiled Time Period Used: 2012-present 60. Name: Verilog Type: Structured Paradigm: Hardware description, concurrent Year: 1984 Version: IEEE 1364-2005 Author: Gateway Design Automation Use Case: Digital circuit design, electronic system design Translator: Compiled Time Period Used: 1984-present 61. Name: Nim Type: Structured Paradigm: Imperative, functional, object-oriented Year: 2008 Version: Nim 1.4.8 Author: Andreas Rumpf Use Case: System programming, web development, scientific computing Translator: Compiled Time Period Used: 2008-present 62. Name: Reason Type: Structured Paradigm: Functional Year: 2017 Version: Reason 3.6.0 Author: Jordan Walke Use Case: Web development Translator: Compiled Time Period Used: 2017-present 63. Name: CoffeeScript Type: Structured Paradigm: Object-oriented Year: 2009 Version: CoffeeScript 2.6.1 Author: Jeremy Ashkenas Use Case: Web development Translator: Compiled Time Period Used: 2009-present 64. Name: Haxe Type: Structured Paradigm: Multi-paradigm Year: 2005 Version: Haxe 4.2.3 Author: Nicolas Cannasse Use Case: Game development, web development Translator: Compiled Time Period Used: 2005-present 65. Name: PowerShell Type: Structured Paradigm: Object-oriented, imperative Year: 2006 Version: PowerShell 7.1.3 Author: Microsoft Corporation Use Case: System administration, automation Translator: Interpreted Time Period Used: 2006-present 66. Name: Assembly Type: Unstructured Paradigm: Low-level programming Year: 1949 Version: Multiple Author: Multiple Use Case: System programming, device driver development Translator: Assembler Time Period Used: 1949-present 67. Name: Bash Type: Structured Paradigm: Imperative, procedural Year: 1989 Version: Bash 5.1 Author: Brian Fox Use Case: Scripting, automation, system administration Translator: Interpreted Time Period Used: 1989-present 68. Name: LuaTeX Type: Structured Paradigm: Procedural, object-oriented Year: 2004 Version: LuaTeX 1.13.3 Author: Taco Hoekwater, Hans Hagen, Luigi Scarso Use Case: Typesetting, document preparation Translator: Compiled Time Period Used: 2004-present 69. Name: Lisp Type: Structured Paradigm: Functional, Object-oriented Year: 1958 Version: Common Lisp Author: John McCarthy Use Case: Artificial Intelligence, Natural Language Processing Translator: Interpreted Time Period: 1950s - present 70. Name: Scheme Type: Structured Paradigm: Functional Year: 1975 Version: R7RS Author: Guy L. Steele, Gerald Jay Sussman Use Case: Education, Artificial Intelligence 71. Name: Perl Type: Modular Paradigm: Imperative, Object-Oriented Year: 1987 Version: Perl 5.34 Author: Larry Wall Use case: Web Development, System Administration, Network Programming Translator: Interpreted Time period: 1987 to present 72. Name: Awk Type: Unstructured Paradigm: Imperative, procedural, text processing Year: 1977 Version: Awk 4.2 Author: Alfred Aho, Peter Weinberger, Brian Kernighan Use Case: Text processing, data extraction; Translator: Interpreted Time Period Used: 1977-Present 73. Name: Shell Type: Unstructured Paradigm: Scripting, procedural Year: 1971 Version: GNU Bash 5.1 Author: Ken Thompson Use Case: System administration, command-line interfaces, automation Translator: Interpreted Time Period Used: 1971-Present 74. Name: Lisp Type: Unstructured Paradigm: Functional, procedural, meta programming Year: 1958 Version: Common Lisp ANSI X3J13 Author: John McCarthy Use Case: Artificial intelligence, computer algebra systems, symbolic computing Translator: Interpreted/Compiled Time Period Used: 1958-Present 75. Name: Forth Type: Unstructured Paradigm: Stack-based, procedural, imperative Year: 1968 Version: Forth-83 Author: Charles H. Moore Use Case: Embedded systems, robotics, and control systems Translator: Compiled/Interpreted Time Period Used: 1968-Present 76. Name: RPGLE Type: unstructured Paradigm: Procedural, imperative Year: 1994 Version: IBM i V7R4 Author: IBM Use Case: Business, finance, accounting Translator: Compiled Time Period Used: 1994-Present 77. Name: RPG III Type: Unstructured Paradigm: Procedural, imperative Year: 1978 Version: IBM i V7R4 Author: IBM Use Case: Business, finance, accounting Translator: Compiled Time Period Used: 1978-1994 78. Name: Bourne Shell Type: Unstructured Paradigm: Procedural, scripting Year: 1979 Version: GNU Bash 5.1 Author: Stephen Bourne Use Case: Command-line interface, system administration, shell scripting Translator: Interpreted Time Period Used: 1979-Present 79. Name: DIBOL Type: Unstructured Paradigm: Procedural, imperative Year: 1969 Version: DIBOL-8 Author: Digital Equipment Corporation Use Case: Business, finance, accounting Translator: Compiled Time Period Used: 1969-1990s 80. Name: FOCAL Type: Unstructured Paradigm: Procedural, imperative Year: 1968 Version: FOCAL-69 Author: DECUS (Digital Equipment Corporation User's Society) Use Case: Education, scientific computing, engineering Translator: Interpreted Time Period Used: 1968-1980s 81. Name: Icon Type: Unstructured Paradigm: Imperative, procedural Year: 1977 Version: Icon 9.5 Author: Ralph Griswold, Clinton Jeffery Use Case: Text processing, artificial intelligence, computer science education Translator: Interpreted; Time Period Used: 1977-Present 82. Name: HyperTalk Type: Unstructured Paradigm: Procedural, event-driven Year: 1987 Version: HyperCard 2.4.1 Author: Bill Atkinson Use Case: User interfaces, multimedia, education Translator: Interpreted Time Period Used: 1987-2004 83. Name: Clipper Type: Unstructured Paradigm: Procedural, imperative Year: 1985 Version: CA-Clipper 5.3 Author: Nantucket Corporation Use Case: Business, finance, accounting Translator: Compiled Time Period Used: 1985-1990s 84. Name: Ladder Logic Type: Unstructured Paradigm: Visual programming, functional Year: 1970s Version: N/A Author: Dick Morley Use Case: Industrial control systems, automation Translator: Compiled Time Period Used: 1970s-Present 85. Name: FoxPro Type: Unstructured Paradigm: Procedural, object-oriented Year: 1984 Version: Visual FoxPro 9.0 Author: Fox Software Use Case: Database management, business applications Translator: Compiled Time Period Used: 1984-2007 (discontinued) 86. Name: Algol Type: Unstructured Paradigm: Procedural, imperative Year: 1958 Version: Algol 68 Author: International Federation for Information Processing Use Case: Scientific computing, numerical analysis, algorithm development Translator: Compiled Time Period Used: 1958-1980s 88. Name: Delphi Type: Unstructured Paradigm: Object-oriented, imperative, procedural Year: 1995 Version: Delphi 11 Alexandria Author: Borland Use Case: Business, software development, database management Translator: Compiled Time Period Used: 1995-Present 89. Name: HyperTalk Type: Unstructured Paradigm: Procedural, event-driven Year: 1987 Version: HyperCard 2.4.1 Author: Bill Atkinson Use Case: User interfaces, multimedia, education Translator: Interpreted Time Period Used: 1987-2004 90. Name: Shell Type: Unstructured Paradigm: Scripting, procedural Year: 1971 Version: GNU Bash 5.1 Author: Ken Thompson Use Case: System administration, command-line interfaces, automation Translator: Interpreted Time Period Used: 1971-Present 91. Name: Shell scripting (e.g., Bash) Type: Unstructured Paradigm: Procedural, scripting Year: 1979 Version: Various (e.g., Bash 5.1) Author: Brian Fox Use Case: Automating tasks, system administration Translator: Interpreted Time Period: Widely used 92. Name: Scheme Type: Structured Paradigm: Functional Year: 1975 Version: Various implementations (e.g., Racket, GNU Guile) Author: Gerald Jay Sussman and Guy L. Steele Jr. Use Case: Education, research, embedded systems Translator: Interpreted Time Period: Widely used 93. Name: Solidity Type: Structured Paradigm: Object-oriented, contract-based Year: 2014 Version: Solidity 0.8 Author: Ethereum Foundation Use Case: Smart contract development on blockchain platforms (e.g., Ethereum) Translator: Compiled (to Ethereum Virtual Machine bytecode) Time Period: Modern (for blockchain development) 94. Name: Elm Type: Structured Paradigm: Functional Year: 2012 Version: Elm 0.19 Author: Evan Czaplicki Use Case: Web frontend development, reactive programming Translator: Compiled (to JavaScript) Time Period: Modern 95. Name: Wolfram Language - Type: Modular - Paradigm: Functional - Year: 1988 - Version: Wolfram Language 12.3 - Author: Stephen Wolfram - Use Cases: Scientific Computing, Artificial Intelligence - Translator Used: Interpreted - Time Period Used: 1990s to present 96. XQuery - Type: Query Language - Paradigm: Functional, Declarative - Year: 2003 - Version: XQuery 3.1 - Author: W3C - Use Cases: Data Integration, Web Services - Translator Used: Interpreted - Time Period Used: 2000s to present 97. XML - Type: Markup Language - Paradigm: Declarative - Year: 1998 - Version: XML 1.0 - Author: W3C - Use Cases: Data Exchange, Document Management - Translator Used: - - Time Period Used: 1990s to present 98. Yacc - Type: Parser Generator - Paradigm: - - Year: 1970 - Version: Berkeley Yacc - Author: Stephen C. Johnson - Use Cases: Compiler Development, Language Translation - Translator Used: Compiled - Time Period Used: 1970s to present 99. YAML - Type: Markup Language - Paradigm: Declarative - Year: 2001 - Version: YAML 1.2 - Author: Ingy döt Net and Oren Ben-Kiki - Use Cases: Configuration Files, 100. Zsh - Type: Scripting Language - Paradigm: Imperative, Object-oriented - Year: 1990 - Version: Zsh 5.8 - Author: Paul Falstad - Use Cases: Shell Scripting, Command-line Interface - Translator Used: Interpreted - Time Period Used: 1990s to present 101. Befunge - Type: Esoteric programming language - Paradigm: Stack-based - Year: 1993 - Version: Befunge-93 - Author: Chris Pressey - Use Cases: Recreational programming, code golf, brain teasers - Translator Used: Interpreted - Time Period Used: 1990s to present 102. MUMPS - Type: Database programming language - Paradigm: Multi-paradigm - Year: 1966 - Version: MUMPS 2017 - Author: Massachusetts General Hospital - Use Cases: Healthcare applications, finance, logistics - Translator Used: Compiled or Interpreted - Time Period Used: 1960s to present 103. Eiffel - Type: Object-oriented - Paradigm: Object-oriented - Year: 1986 - Version: EiffelStudio 2021 - Author: Bertrand Meyer - Use Cases: Software Development, Education - Translator Used: Compiled - Time Period Used: 1980s to present 104. Fjölnir - Type: Functional programming language - Paradigm: Functional - Year: 2007 - Version: Fjölnir 1.0 - Author: Mariano Guerra - Use Cases: Web development, server-side scripting - Translator Used: Interpreted - Time Period Used: 2000s to present 105. Seed7 - Type: General-purpose programming language - Paradigm: Multi-paradigm - Year: 2005 - Version: Seed7 2021-03-14 - Author: Thomas Mertes - Use Cases: Numerical analysis, data processing, games - Translator Used: Compiled or Interpreted - Time Period Used: 2000s to present 106. XSLT - Type: Unstructured - Paradigm: Declarative - Year: 1999 - Version: XSLT 3.0 - Author: World Wide Web Consortium (W3C) - Use Cases: Transforming XML documents - Translator Used: Interpreter - Time Period Used: 1990s to present 107. YARA - Type: Structured - Paradigm: Procedural - Year: 2007 - Version: YARA 4.1.0 - Author: Victor M. Alvarez - Use Cases: Malware Detection, Threat Intelligence - Translator Used: Compiled - Time Period Used: 2000s to present 108. µC/OS-II - Type: Structured - Paradigm: Real-time Operating System Kernel - Year: 1991 - Version: µC/OS-II 3.00 - Author: Jean J. Labrosse - Use Cases: Embedded Systems, Real-time Systems - Translator Used: Compiled - Time Period Used: 1990s to present 109. µVision IDE - Type: Structured - Paradigm: Integrated Development Environment - Year: 1981 - Version: µVision IDE 5.3 - Author: Keil - Use Cases: Embedded Systems Development - Translator Used: N/A (used in conjunction with other languages) 110. µVision C51 - Type: Structured - Paradigm: Procedural - Year: 1981 - Version: µVision C51 9.56 - Author: Keil - Use Cases: Embedded Systems Development - Translator Used: Compiled - Time Period Used: 1980s to present 111. µVision ARM Type: Structured Paradigm: Procedural Year: 2000 Version: µVision ARM 5.29 Author: Keil Use Cases: Embedded Systems Development Translator Used: Compiled Time Period Used: 2000s to present 112. µClibc Type: Structured Paradigm: Library Year: 2000 Version: µClibc 1.0.30 Author: Erik Andersen Use Cases: Embedded Systems, Real-time Systems Translator Used: Compiled Time Period Used: 2000s to present 113. µGFX Type: Structured Paradigm: Library Year: 2012 Version: µGFX 3.1.1 Author: Joel Bodenmann Use Cases: Embedded Graphics, User Interfaces Translator Used: Compiled Time Period Used: 2010s to present 114. µOS++ Type: Structured Paradigm: Object-oriented Year: 2004 Version: µOS++ IIIe 6.2.4 Author: Liviu Ionescu Use Cases: Embedded Systems, Real-time Systems Translator Used: Compiled Time Period Used: 2000s to present 115. µTasker Type: Structured Paradigm: Cooperative Multitasking Year: 2001 Version: µTasker V1.4 Author: M.J. Nicholas Use Cases: Embedded Systems, Real-time Systems Translator Used: Compiled Time Period Used: 2000s to present 116. µC/Probe Type: Structured Paradigm: Debugging Tool Year: 2013 Version: µC/Probe V4.0 - Author: Jean J. Labrosse - Use Cases: Embedded Systems Development - Translator Used: N/A (used in conjunction with other languages) - Time Period Used: 2010s to present 117. µC/TCP-IP - Type: Structured - Paradigm: TCP/IP Stack - Year: 2001 - Version: µC/TCP-IP V3.5 - Author: Jean J. Labrosse - Use Cases: Embedded Systems, Networking - Translator Used: Compiled - Time Period Used: 2000s to present 118. µGUI - Type: Structured - Paradigm: Library - Year: 2012 - Version: µGUI V3.0 - Author: Achim Döbler - Use Cases: Embedded Graphics, User Interfaces - Translator Used: Compiled - Time Period Used: 2010s to present 119. µTask - Type: Structured - Paradigm: Cooperative Multitasking - Year: 2010 - Version: µTask 1.4 - Author: Johan Fjellstedt - Use Cases: Embedded Systems, Real-time Systems - Translator Used: Compiled - Time Period Used: 2010s to present 120. XQuery - Paradigm: Functional - Year: 2007 - Version: XQuery 1.0 - Author: W3C - Use Cases: Database Querying, XML Processing - Translator Used: Interpreted - Time Period Used: 2000s to present 121. Name: XPath - Type: Structured - Paradigm: Functional - Year: 1999 - Version: XPath 3.1 - Author: W3C - Use Cases: XML Processing, Web Development - Translator Used: Interpreted - Time Period Used: 1990s to present 122. Ruby on Rails: Type: Structured, Object-Oriented Paradigm: Object-Oriented, MVC (Model-View-Controller) Year: 2004 Version: Ruby on Rails 6.1 Author: David Heinemeier Hansson Use Case: Web application development, Rapid prototyping Translator: Interpreted Time Period Used: Since 2004, widely used for web development with Ruby 123. COQ: Type: Structured Paradigm: Functional, Interactive theorem proving Year: 1984 Version: Coq 8.13 Author: Gérard Huet, Thierry Coquand Use Case: Formal verification, Mathematical proofs Translator: Compiled Time Period Used: Since 1984, used in academia and formal methods 124. VHDL-RTL (VHSIC Hardware Description Language-Register Transfer Level) Type: Structured Paradigm: Hardware description, Register Transfer Level modeling Year: 1987 Version: IEEE Standard 1076-1993 Authors: Accellera Use Case: Digital circuit design, RTL simulation Translator: Compiled (to hardware) Time Period: Widely used since the 1980s for designing and simulating digital systems at the register-transfer level 125. UnrealScript Type: Structured Paradigm: Object-oriented Year: 1998 Version: Unreal Engine 3 Authors: Epic Games Use Case: Game development, Game scripting Translator: Compiled (to Unreal Virtual Machine bytecode) Time Period: Widely used in the 2000s for game development using the Unreal Engine 126. Name: COMAL (Common Algorithmic Language) Type: Structured Paradigm: Functional Use case: Supports functional structuring Author: Berge Christensen Year: 1973 Time period used: 1973 to present 127. OCaml: Type: Structured Paradigm: Functional, Imperative Year: 1996 Version: OCaml 4.12 Author: Xavier Leroy, others Use Case: Systems programming, Compiler development, Functional programming Translator: Compiled Time Period Used: Since 1996, known for its expressive type system and static type checking. 128. Bash: Type: Structured, Scripting Paradigm: Imperative, Procedural Year: 1989 Version: Bash 5.1 Author: Brian Fox Use Case: System administration, Scripting Translator: Interpreted Time Period Used: Since 1989, commonly used in Unix-like systems for automating tasks and shell scripting. 129. KornShell (ksh): Type: Structured, Scripting Paradigm: Procedural Year: 1983 Version: ksh93u+ Author: David Korn Use Case: Shell scripting, System administration Translator: Interpreted Time Period Used: Since 1983, KornShell is a powerful UNIX shell language for scripting and system administration tasks. 130. Racket: Type: Structured Paradigm: Multi-paradigm Year: 1994 Version: Racket 8.0 Author: Matthew Flatt, PLT Inc. Use Case: Education, Language design Translator: Compiled Time Period Used: Since 1994, Racket (formerly known as PLT Scheme) is used for teaching programming concepts and language design experiments. 131. VHDL-AMS (VHSIC Hardware Description Language-Analog and Mixed-Signal) Type: Structured Paradigm: Hardware description, Concurrent, Analog modeling Year: 1994 Version: IEEE Standard 1076.1-2007 Authors: Open Source VHDL Verification Methodology (OSVVM) Working Group Use Case: Analog and mixed-signal circuit design and simulation Translator: Compiled (to hardware) Time Period: Widely used since the 1990s for designing and simulating mixed-signal systems 132. PDDL (Planning Domain Definition Language) Type: Structured Paradigm: Logic-based, Declarative Year: 1998 Version: PDDL 3.1 Authors: AI Planning Systems Community Use Case: Artificial intelligence, Automated planning Translator: Interpreted Time Period: Widely used since the late 1990s for representing planning problems in AI research 133. Chapel: Type: Structured Paradigm: Multi-paradigm Year: 2009 Version: Chapel 1.24 Author: Cray Inc., Brad Chamberlain Use Case: Parallel computing, High-performance computing Translator: Compiled Time Period Used: Since 2009, Chapel is designed for large-scale parallel programming and targets high-performance computing architectures. 134. Ballerina: Type: Structured Paradigm: Concurrent, Object-Oriented Year: 2017 Version: Ballerina Swan Lake Beta2 Author: Ballerina language specification committee Use Case: Integration, Microservices Translator: Compiled (to Java bytecode) Time Period Used: Since 2017, Ballerina is designed for building resilient, scalable, and secure integration solutions. 135. CUDA: Type: Structured Paradigm: Imperative Year: 2006 Version: CUDA 11.6 Author: NVIDIA Corporation Use Case: General-purpose GPU programming, parallel computing Translator: Compiled (to GPU machine code) Time Period Used: Since 2006, CUDA enables developers to harness the power of NVIDIA GPUs for parallel computation. 136. Pro*C: Type: Structured Paradigm: Procedural Year: 1986 Version: Oracle Pro*C/C++ 21c Author: Oracle Corporation Use Case: Database programming, Integration with C/C++ Translator: Compiled (to C/C++ code) Time Period Used: Since 1986, Pro*C allows embedding SQL statements in C/C++ code for efficient database access and manipulation 137. Verge3D: Type: Structured Paradigm: Object-Oriented Year: 2017 Version: Verge3D 3.0 Author: Vladimir Kuzmin Use Case: Web-based 3D graphics, Virtual reality (VR) Translator: Compiled (to JavaScript) Time Period Used: Since 2017, Verge3D is used for creating interactive 3D web applications and VR experiences. 138. LabVIEW Type: Structured Paradigm: Dataflow, Visual programming Year: 1986 Version: LabVIEW 2021 Authors: National Instruments Use Case: System design, Data acquisition, Instrument control Translator: Compiled (to machine code) Time Period: Widely used since the 1980s, particularly in measurement and automation applications 139. ReasonML: Type: Structured Paradigm: Functional, Object-Oriented Year: 2016 Version: ReasonML 3.7.0 Author: Jordan Walke, Facebook Use Case: Web development Translator: Compiled (to JavaScript) Time Period Used: Since 2016, ReasonML is a statically-typed language that provides a syntax and tool chain for functional and object-oriented programming, used for web development and React.js applications. 140. Mathematica Type: Structured Paradigm: Multi-paradigm (Symbolic, Functional, Rule-based) Year: 1988 Version: Mathematica 12.3 Authors: Stephen Wolfram, Wolfram Research Use Case: Symbolic computation, Data analysis, Visualization Translator: Interpreted Time Period: Widely used since the 1990s 141. OCaml Type: Structured Paradigm: Functional, Imperative, Object-Oriented Year: 1996 Version: OCaml 4.12 Authors: Xavier Leroy, Didier Rémy, Jérôme Vouillon, et al. Use Case: Systems programming, Compiler development, Formal verification Translator: Compiled Time Period: Widely used since the 1990s 142. WebAssembly (Wasm) Type: Structured Paradigm: Low-level, Imperative Year: 2017 Version: WebAssembly 1.0 Authors: World Wide Web Consortium (W3C) Use Case: Web development, High-performance browser applications Translator: Compiled (to bytecode) Time Period: Widely used since the 2010s 143. Shell Scripting (Bourne shell, Bash, etc.) Type: Scripting Paradigm: Imperative, Procedural Year: 1979 (Bourne shell) Version: - Authors: Stephen Bourne (Bourne shell), Brian Fox (Bash) Use Case: Scripting, Automation, System administration Translator: Interpreted Time Period: Widely used since the 1980s in Unix/Linux systems 144. AutoHotkey Type: Scripting Paradigm: Imperative Year: 2003 Version: AutoHotkey_L 1.1 Authors: Chris Mallett Use Case: Automation, Hotkey scripting, desktop automation Translator: Interpreted Time Period: Widely used since the 2000s for automating tasks and creating custom hotkeys on Windows system 145. Delphi Type: Structured Paradigm: Object-oriented Year: 1995 Version: Delphi 10.4 Author: Borland, Embarcadero Technologies Use Case: Windows desktop applications, database development Translator: Compiled Time Period Used: Since its introduction in 1995 146. Eiffel Type: Structured Paradigm: Object-oriented Year: 1986 Version: EiffelStudio 21.11 Author: Bertrand Meyer Use Case: Software engineering, safety-critical systems Translator: Compiled (to machine code or Java bytecode) Time Period Used: Since its introduction in 1986 147. JSON Type: Unstructured Paradigm: Data interchange format Year: 2001 Version: JSON (JavaScript Object Notation) Author: Douglas Crockford Use Case: Data serialization, configuration files, web APIs Translator: Not applicable (interpreted by JSON parsers) Time Period Used: Since its introduction in 2001 148. JSON Type: Unstructured Paradigm: Data interchange format Year: 2001 Version: JSON (JavaScript Object Notation) Author: Douglas Crockford Use Case: Data serialization, configuration files, web APIs Translator: Not applicable (interpreted by JSON parsers) Time Period Used: Since its introduction in 2001 149. YAML Type: Unstructured Paradigm: Data serialization format Year: 2001 Version: YAML 1.2 Author: Clark Evans, Ingy döt Net, Oren Ben-Kiki Use Case: Configuration files, data exchange Translator: Not applicable (interpreted by YAML parsers) Time Period Used: Since its introduction in 2001 150. CobolScript Type: Structured Paradigm: Imperative, procedural, object-oriented Year: 2007 Version: CobolScript 2.0 Author: Anthony Richardson Use Case: Web development, server-side scripting Translator: Compiled (to JavaScript) Time Period Used: Since its introduction in 2007