{
  "api": "programming-languages",
  "title": "Programming Languages",
  "description": "Popular programming languages with the year they first appeared, paradigm, and typing.",
  "emoji": "💻",
  "license": "GPL-2.0-or-later",
  "count": 50,
  "self": "https://gratisapi.com/api/programming-languages/index",
  "endpoints": {
    "list": "https://gratisapi.com/api/programming-languages/index",
    "item": "https://gratisapi.com/api/programming-languages/{id}"
  },
  "fields": [
    "designed_by",
    "extension",
    "id",
    "name",
    "paradigm",
    "typing",
    "year"
  ],
  "results": [
    {
      "id": "fortran",
      "name": "Fortran",
      "year": 1957,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Static",
      "designed_by": "John Backus",
      "extension": ".f90",
      "url": "https://gratisapi.com/api/programming-languages/fortran"
    },
    {
      "id": "lisp",
      "name": "Lisp",
      "year": 1958,
      "paradigm": [
        "Functional",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "John McCarthy",
      "extension": ".lisp",
      "url": "https://gratisapi.com/api/programming-languages/lisp"
    },
    {
      "id": "cobol",
      "name": "COBOL",
      "year": 1959,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Static",
      "designed_by": "CODASYL",
      "extension": ".cob",
      "url": "https://gratisapi.com/api/programming-languages/cobol"
    },
    {
      "id": "basic",
      "name": "BASIC",
      "year": 1964,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "John Kemeny and Thomas Kurtz",
      "extension": ".bas",
      "url": "https://gratisapi.com/api/programming-languages/basic"
    },
    {
      "id": "c",
      "name": "C",
      "year": 1972,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Static",
      "designed_by": "Dennis Ritchie",
      "extension": ".c",
      "url": "https://gratisapi.com/api/programming-languages/c"
    },
    {
      "id": "prolog",
      "name": "Prolog",
      "year": 1972,
      "paradigm": [
        "Logic",
        "Declarative"
      ],
      "typing": "Dynamic",
      "designed_by": "Alain Colmerauer",
      "extension": ".pl",
      "url": "https://gratisapi.com/api/programming-languages/prolog"
    },
    {
      "id": "ml",
      "name": "ML",
      "year": 1973,
      "paradigm": [
        "Functional",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Robin Milner",
      "extension": ".ml",
      "url": "https://gratisapi.com/api/programming-languages/ml"
    },
    {
      "id": "sql",
      "name": "SQL",
      "year": 1974,
      "paradigm": [
        "Declarative"
      ],
      "typing": "Static",
      "designed_by": "Donald Chamberlin and Raymond Boyce",
      "extension": ".sql",
      "url": "https://gratisapi.com/api/programming-languages/sql"
    },
    {
      "id": "smalltalk",
      "name": "Smalltalk",
      "year": 1980,
      "paradigm": [
        "Object-oriented"
      ],
      "typing": "Dynamic",
      "designed_by": "Alan Kay",
      "extension": ".st",
      "url": "https://gratisapi.com/api/programming-languages/smalltalk"
    },
    {
      "id": "cpp",
      "name": "C++",
      "year": 1985,
      "paradigm": [
        "Object-oriented",
        "Procedural",
        "Generic"
      ],
      "typing": "Static",
      "designed_by": "Bjarne Stroustrup",
      "extension": ".cpp",
      "url": "https://gratisapi.com/api/programming-languages/cpp"
    },
    {
      "id": "objective-c",
      "name": "Objective-C",
      "year": 1984,
      "paradigm": [
        "Object-oriented",
        "Reflective"
      ],
      "typing": "Static",
      "designed_by": "Brad Cox and Tom Love",
      "extension": ".m",
      "url": "https://gratisapi.com/api/programming-languages/objective-c"
    },
    {
      "id": "erlang",
      "name": "Erlang",
      "year": 1986,
      "paradigm": [
        "Functional",
        "Concurrent"
      ],
      "typing": "Dynamic",
      "designed_by": "Joe Armstrong",
      "extension": ".erl",
      "url": "https://gratisapi.com/api/programming-languages/erlang"
    },
    {
      "id": "perl",
      "name": "Perl",
      "year": 1987,
      "paradigm": [
        "Imperative",
        "Procedural",
        "Object-oriented"
      ],
      "typing": "Dynamic",
      "designed_by": "Larry Wall",
      "extension": ".pl",
      "url": "https://gratisapi.com/api/programming-languages/perl"
    },
    {
      "id": "haskell",
      "name": "Haskell",
      "year": 1990,
      "paradigm": [
        "Functional"
      ],
      "typing": "Static",
      "designed_by": "Simon Peyton Jones et al.",
      "extension": ".hs",
      "url": "https://gratisapi.com/api/programming-languages/haskell"
    },
    {
      "id": "python",
      "name": "Python",
      "year": 1991,
      "paradigm": [
        "Object-oriented",
        "Imperative",
        "Functional"
      ],
      "typing": "Dynamic",
      "designed_by": "Guido van Rossum",
      "extension": ".py",
      "url": "https://gratisapi.com/api/programming-languages/python"
    },
    {
      "id": "visual-basic",
      "name": "Visual Basic",
      "year": 1991,
      "paradigm": [
        "Object-oriented",
        "Event-driven"
      ],
      "typing": "Static",
      "designed_by": "Microsoft",
      "extension": ".vb",
      "url": "https://gratisapi.com/api/programming-languages/visual-basic"
    },
    {
      "id": "lua",
      "name": "Lua",
      "year": 1993,
      "paradigm": [
        "Scripting",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "Roberto Ierusalimschy et al.",
      "extension": ".lua",
      "url": "https://gratisapi.com/api/programming-languages/lua"
    },
    {
      "id": "r",
      "name": "R",
      "year": 1993,
      "paradigm": [
        "Functional",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "Ross Ihaka and Robert Gentleman",
      "extension": ".r",
      "url": "https://gratisapi.com/api/programming-languages/r"
    },
    {
      "id": "ruby",
      "name": "Ruby",
      "year": 1995,
      "paradigm": [
        "Object-oriented",
        "Functional",
        "Imperative"
      ],
      "typing": "Dynamic",
      "designed_by": "Yukihiro Matsumoto",
      "extension": ".rb",
      "url": "https://gratisapi.com/api/programming-languages/ruby"
    },
    {
      "id": "java",
      "name": "Java",
      "year": 1995,
      "paradigm": [
        "Object-oriented",
        "Imperative",
        "Generic"
      ],
      "typing": "Static",
      "designed_by": "James Gosling",
      "extension": ".java",
      "url": "https://gratisapi.com/api/programming-languages/java"
    },
    {
      "id": "javascript",
      "name": "JavaScript",
      "year": 1995,
      "paradigm": [
        "Event-driven",
        "Functional",
        "Imperative"
      ],
      "typing": "Dynamic",
      "designed_by": "Brendan Eich",
      "extension": ".js",
      "url": "https://gratisapi.com/api/programming-languages/javascript"
    },
    {
      "id": "php",
      "name": "PHP",
      "year": 1995,
      "paradigm": [
        "Imperative",
        "Object-oriented",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "Rasmus Lerdorf",
      "extension": ".php",
      "url": "https://gratisapi.com/api/programming-languages/php"
    },
    {
      "id": "ocaml",
      "name": "OCaml",
      "year": 1996,
      "paradigm": [
        "Functional",
        "Imperative",
        "Object-oriented"
      ],
      "typing": "Static",
      "designed_by": "Xavier Leroy et al.",
      "extension": ".ml",
      "url": "https://gratisapi.com/api/programming-languages/ocaml"
    },
    {
      "id": "csharp",
      "name": "C#",
      "year": 2000,
      "paradigm": [
        "Object-oriented",
        "Imperative",
        "Functional"
      ],
      "typing": "Static",
      "designed_by": "Microsoft",
      "extension": ".cs",
      "url": "https://gratisapi.com/api/programming-languages/csharp"
    },
    {
      "id": "d",
      "name": "D",
      "year": 2001,
      "paradigm": [
        "Object-oriented",
        "Imperative",
        "Functional"
      ],
      "typing": "Static",
      "designed_by": "Walter Bright",
      "extension": ".d",
      "url": "https://gratisapi.com/api/programming-languages/d"
    },
    {
      "id": "visual-basic-net",
      "name": "Visual Basic .NET",
      "year": 2001,
      "paradigm": [
        "Object-oriented",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Microsoft",
      "extension": ".vb",
      "url": "https://gratisapi.com/api/programming-languages/visual-basic-net"
    },
    {
      "id": "scala",
      "name": "Scala",
      "year": 2004,
      "paradigm": [
        "Object-oriented",
        "Functional"
      ],
      "typing": "Static",
      "designed_by": "Martin Odersky",
      "extension": ".scala",
      "url": "https://gratisapi.com/api/programming-languages/scala"
    },
    {
      "id": "f-sharp",
      "name": "F#",
      "year": 2005,
      "paradigm": [
        "Functional",
        "Object-oriented",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Don Syme (Microsoft)",
      "extension": ".fs",
      "url": "https://gratisapi.com/api/programming-languages/f-sharp"
    },
    {
      "id": "powershell",
      "name": "PowerShell",
      "year": 2006,
      "paradigm": [
        "Imperative",
        "Object-oriented",
        "Scripting"
      ],
      "typing": "Dynamic",
      "designed_by": "Jeffrey Snover (Microsoft)",
      "extension": ".ps1",
      "url": "https://gratisapi.com/api/programming-languages/powershell"
    },
    {
      "id": "clojure",
      "name": "Clojure",
      "year": 2007,
      "paradigm": [
        "Functional",
        "Concurrent"
      ],
      "typing": "Dynamic",
      "designed_by": "Rich Hickey",
      "extension": ".clj",
      "url": "https://gratisapi.com/api/programming-languages/clojure"
    },
    {
      "id": "go",
      "name": "Go",
      "year": 2009,
      "paradigm": [
        "Imperative",
        "Concurrent",
        "Procedural"
      ],
      "typing": "Static",
      "designed_by": "Robert Griesemer, Rob Pike, Ken Thompson",
      "extension": ".go",
      "url": "https://gratisapi.com/api/programming-languages/go"
    },
    {
      "id": "coffeescript",
      "name": "CoffeeScript",
      "year": 2009,
      "paradigm": [
        "Functional",
        "Imperative",
        "Object-oriented"
      ],
      "typing": "Dynamic",
      "designed_by": "Jeremy Ashkenas",
      "extension": ".coffee",
      "url": "https://gratisapi.com/api/programming-languages/coffeescript"
    },
    {
      "id": "rust",
      "name": "Rust",
      "year": 2010,
      "paradigm": [
        "Functional",
        "Concurrent",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Graydon Hoare",
      "extension": ".rs",
      "url": "https://gratisapi.com/api/programming-languages/rust"
    },
    {
      "id": "kotlin",
      "name": "Kotlin",
      "year": 2011,
      "paradigm": [
        "Object-oriented",
        "Functional",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "JetBrains",
      "extension": ".kt",
      "url": "https://gratisapi.com/api/programming-languages/kotlin"
    },
    {
      "id": "dart",
      "name": "Dart",
      "year": 2011,
      "paradigm": [
        "Object-oriented",
        "Imperative",
        "Functional"
      ],
      "typing": "Static",
      "designed_by": "Google",
      "extension": ".dart",
      "url": "https://gratisapi.com/api/programming-languages/dart"
    },
    {
      "id": "elixir",
      "name": "Elixir",
      "year": 2011,
      "paradigm": [
        "Functional",
        "Concurrent"
      ],
      "typing": "Dynamic",
      "designed_by": "Jose Valim",
      "extension": ".ex",
      "url": "https://gratisapi.com/api/programming-languages/elixir"
    },
    {
      "id": "julia",
      "name": "Julia",
      "year": 2012,
      "paradigm": [
        "Multi-paradigm",
        "Functional",
        "Imperative"
      ],
      "typing": "Dynamic",
      "designed_by": "Jeff Bezanson et al.",
      "extension": ".jl",
      "url": "https://gratisapi.com/api/programming-languages/julia"
    },
    {
      "id": "typescript",
      "name": "TypeScript",
      "year": 2012,
      "paradigm": [
        "Object-oriented",
        "Functional",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Microsoft",
      "extension": ".ts",
      "url": "https://gratisapi.com/api/programming-languages/typescript"
    },
    {
      "id": "swift",
      "name": "Swift",
      "year": 2014,
      "paradigm": [
        "Object-oriented",
        "Functional",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Apple",
      "extension": ".swift",
      "url": "https://gratisapi.com/api/programming-languages/swift"
    },
    {
      "id": "crystal",
      "name": "Crystal",
      "year": 2014,
      "paradigm": [
        "Object-oriented",
        "Imperative"
      ],
      "typing": "Static",
      "designed_by": "Ary Borenszweig et al.",
      "extension": ".cr",
      "url": "https://gratisapi.com/api/programming-languages/crystal"
    },
    {
      "id": "nim",
      "name": "Nim",
      "year": 2008,
      "paradigm": [
        "Imperative",
        "Functional",
        "Object-oriented"
      ],
      "typing": "Static",
      "designed_by": "Andreas Rumpf",
      "extension": ".nim",
      "url": "https://gratisapi.com/api/programming-languages/nim"
    },
    {
      "id": "groovy",
      "name": "Groovy",
      "year": 2003,
      "paradigm": [
        "Object-oriented",
        "Scripting"
      ],
      "typing": "Dynamic",
      "designed_by": "James Strachan",
      "extension": ".groovy",
      "url": "https://gratisapi.com/api/programming-languages/groovy"
    },
    {
      "id": "scheme",
      "name": "Scheme",
      "year": 1975,
      "paradigm": [
        "Functional",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "Guy L. Steele and Gerald Jay Sussman",
      "extension": ".scm",
      "url": "https://gratisapi.com/api/programming-languages/scheme"
    },
    {
      "id": "ada",
      "name": "Ada",
      "year": 1980,
      "paradigm": [
        "Imperative",
        "Object-oriented",
        "Concurrent"
      ],
      "typing": "Static",
      "designed_by": "Jean Ichbiah",
      "extension": ".adb",
      "url": "https://gratisapi.com/api/programming-languages/ada"
    },
    {
      "id": "pascal",
      "name": "Pascal",
      "year": 1970,
      "paradigm": [
        "Imperative",
        "Procedural",
        "Structured"
      ],
      "typing": "Static",
      "designed_by": "Niklaus Wirth",
      "extension": ".pas",
      "url": "https://gratisapi.com/api/programming-languages/pascal"
    },
    {
      "id": "matlab",
      "name": "MATLAB",
      "year": 1984,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "Cleve Moler",
      "extension": ".m",
      "url": "https://gratisapi.com/api/programming-languages/matlab"
    },
    {
      "id": "assembly",
      "name": "Assembly",
      "year": 1947,
      "paradigm": [
        "Imperative",
        "Low-level"
      ],
      "typing": "Static",
      "designed_by": "Kathleen Booth",
      "extension": ".asm",
      "url": "https://gratisapi.com/api/programming-languages/assembly"
    },
    {
      "id": "tcl",
      "name": "Tcl",
      "year": 1988,
      "paradigm": [
        "Scripting",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "John Ousterhout",
      "extension": ".tcl",
      "url": "https://gratisapi.com/api/programming-languages/tcl"
    },
    {
      "id": "racket",
      "name": "Racket",
      "year": 1995,
      "paradigm": [
        "Functional",
        "Procedural"
      ],
      "typing": "Dynamic",
      "designed_by": "PLT Inc.",
      "extension": ".rkt",
      "url": "https://gratisapi.com/api/programming-languages/racket"
    },
    {
      "id": "zig",
      "name": "Zig",
      "year": 2016,
      "paradigm": [
        "Imperative",
        "Procedural"
      ],
      "typing": "Static",
      "designed_by": "Andrew Kelley",
      "extension": ".zig",
      "url": "https://gratisapi.com/api/programming-languages/zig"
    }
  ]
}
