Sejarah bahasa pemrograman bermula dari dokumentasi komputer mekanis awal hingga alat modern untuk pengembangan perangkat lunak. Bahasa pemrograman awal sangat terspesialisasi, mengandalkan notasi matematika dan sintaksis yang serupa dan cenderung sulit dipahami.[1] Sepanjang abad ke-20, penelitian dalam teori kompilator menghasilkan penciptaan bahasa pemrograman tingkat tinggi, yang menggunakan sintaksis yang lebih mudah diakses untuk menyampaikan instruksi.
Bahasa pemrograman tingkat tinggi pertama adalah Plankalkül, yang diciptakan oleh Konrad Zuse antara tahun 1942 dan 1945.[2] Bahasa tingkat tinggi pertama yang memiliki kompilator terkait diciptakan oleh Corrado Böhm pada tahun 1951, untuk tesis PhD-nya.[3] Bahasa pertama yang tersedia secara komersial adalah FORTRAN (FORmula TRANslation), yang dikembangkan pada tahun 1956 (manual pertama muncul tahun 1956, tetapi mulai dikembangkan sejak 1954) oleh tim yang dipimpin oleh John Backus di IBM.
Sejarah awal
suntingSelama tahun 1842–1849, Ada Lovelace menerjemahkan memoar matematikawan Italia Luigi Menabrea tentang mesin terbaru yang diusulkan oleh Charles Babbage: Mesin Analitikal (Analytical Engine); ia melengkapi memoar tersebut dengan catatan yang merinci metode penghitungan bilangan Bernoulli dengan mesin tersebut, yang diakui oleh sebagian besar sejarawan sebagai program komputer pertama yang dipublikasikan di dunia.[4]
Alat Tenun Jacquard (Jacquard Loom) dan Mesin Diferensial (Difference Engine) buatan Charles Babbage keduanya dirancang untuk menggunakan kartu berlubang (punched cards),[5][6] yang berfungsi mendeskripsikan urutan operasi yang harus dijalankan oleh mesin yang dapat diprogram tersebut.
Kode sumber komputer pertama sangat terspesialisasi untuk aplikasinya masing-masing: misalnya, Alonzo Church mampu mengekspresikan kalkulus lambda dalam bentuk rumus matematika, dan Mesin Turing merupakan abstraksi dari pengoperasian mesin penanda pita.
Bahasa pemrograman pertama
suntingPada tahun 1940-an, komputer bertenaga listrik modern yang pertama kali dapat dikenali mulai diciptakan. Keterbatasan kecepatan dan kapasitas memori memaksa para pemrogram untuk menulis program bahasa rakitan (assembly) yang disesuaikan secara manual. Pada akhirnya disadari bahwa pemrograman dalam bahasa rakitan membutuhkan upaya intelektual yang sangat besar.[butuh rujukan]
Proposal awal untuk sebuah bahasa pemrograman tingkat tinggi adalah Plankalkül, yang dikembangkan oleh Konrad Zuse untuk komputer Z1 miliknya antara tahun 1942 dan 1945, tetapi tidak diimplementasikan pada saat itu.[7]
Bahasa pemrograman berfungsi pertama yang dirancang untuk menyampaikan instruksi ke komputer ditulis pada awal tahun 1950-an. Short Code milik John Mauchly, yang diusulkan pada tahun 1949, adalah salah satu bahasa tingkat tinggi pertama yang pernah dikembangkan untuk komputer elektronik.[8] Berbeda dengan kode mesin, pernyataan dalam Short Code mewakili ekspresi matematika dalam bentuk yang dapat dipahami. Namun, program tersebut harus diinterpretasikan ke dalam kode mesin setiap kali dijalankan, membuat prosesnya jauh lebih lambat daripada menjalankan kode mesin yang setara.
Pada awal tahun 1950-an, Alick Glennie mengembangkan Autocode, yang kemungkinan merupakan bahasa pemrograman terkompilasi pertama, di Universitas Manchester. Pada tahun 1954, iterasi kedua dari bahasa tersebut, yang dikenal sebagai "Mark 1 Autocode", dikembangkan untuk Mark 1 oleh R. A. Brooker. Brooker, bersama Universitas Manchester, juga mengembangkan autocode untuk Ferranti Mercury pada tahun 1950-an. Versi untuk EDSAC 2 dirancang oleh Douglas Hartree dari Laboratorium Matematika Universitas Cambridge pada tahun 1961. Dikenal sebagai EDSAC 2 Autocode, bahasa ini merupakan pengembangan langsung dari Mercury Autocode yang disesuaikan dengan kondisi lokal, dan terkenal karena optimalisasi kode objek serta diagnosis bahasa sumbernya yang tergolong maju pada masa itu. Jalur pengembangan yang sezaman tetapi terpisah, Atlas Autocode, dikembangkan untuk mesin Atlas 1 di Universitas Manchester.
Pada tahun 1954, FORTRAN diciptakan di IBM oleh tim yang dipimpin oleh John Backus; ini adalah bahasa tingkat tinggi serbaguna pertama yang digunakan secara luas dan memiliki implementasi fungsional, kontras dengan bahasa lain yang hanya berupa rancangan di atas kertas.[9][10] Ketika FORTRAN pertama kali diperkenalkan, bahasa ini dipandang dengan skeptis karena adanya kutu (bugs), penundaan dalam pengembangan, dan efisiensi yang dianggap kalah dibanding program tulisan tangan dalam bahasa rakitan.[11] Namun, dalam pasar perangkat keras yang berkembang pesat, bahasa ini akhirnya dikenal karena efisiensinya. FORTRAN masih menjadi bahasa yang populer untuk komputasi kinerja tinggi[12] dan digunakan untuk program yang menguji serta memeringkat superkomputer tercepat di dunia dalam daftar TOP500.[13]
Bahasa pemrograman awal lainnya dirancang oleh Grace Hopper di AS, dengan nama FLOW-MATIC. Bahasa ini dikembangkan untuk UNIVAC I di Remington Rand selama periode 1955 hingga 1959. Hopper menemukan bahwa pelanggan bisnis pemrosesan data merasa kurang nyaman dengan notasi matematika. Pada awal tahun 1955, ia dan timnya menulis spesifikasi untuk bahasa pemrograman berbasis Bahasa Inggris dan menerapkan prototipenya.[14] Kompilator FLOW-MATIC tersedia untuk umum pada awal tahun 1958 dan selesai secara substansial pada tahun 1959.[15] FLOW-MATIC memberikan pengaruh besar dalam perancangan COBOL, karena hanya bahasa ini dan keturunan langsungnya, AIMACO, yang digunakan pada saat itu.[16]
Bahasa-bahasa lain yang masih digunakan saat ini termasuk LISP (1958), yang diciptakan oleh John McCarthy, dan COBOL (1960), yang dibuat oleh Short Range Committee. Tonggak sejarah lain pada akhir tahun 1950-an adalah publikasi "bahasa baru untuk algoritma" oleh komite ilmuwan komputer Amerika dan Eropa; yaitu Laporan ALGOL 60 ("ALGOrithmic Language"). Laporan ini mengonsolidasikan banyak ide yang beredar pada saat itu dan menampilkan tiga inovasi utama dalam bahasa pemrograman:
- struktur blok bersarang (nested block structure): urutan kode dan deklarasi terkait dapat dikelompokkan ke dalam blok tanpa harus diubah menjadi prosedur terpisah yang dinamai secara eksplisit;
- cakupan leksikal (lexical scoping): sebuah blok dapat memiliki variabel, prosedur, dan fungsi privatnya sendiri yang tidak terlihat oleh kode di luar blok tersebut, yang dikenal dengan prinsip penyembunyian informasi.
Inovasi lainnya, yang terkait dengan hal ini, adalah cara bahasa tersebut dideskripsikan:
- notasi yang tepat secara matematis, Bentuk Backus–Naur (BNF), digunakan untuk mendeskripsikan sintaksis bahasa tersebut. Hampir semua bahasa pemrograman berikutnya menggunakan varian BNF untuk mendeskripsikan bagian tata bahasa bebas konteks dari sintaksis mereka.
ALGOL 60 sangat berpengaruh dalam perancangan bahasa-bahasa generasi berikutnya, beberapa di antaranya segera menjadi lebih populer. Sistem Burroughs Large Systems dirancang untuk diprogram menggunakan subset ALGOL yang diperluas.
Ide-ide kunci ALGOL dilanjutkan hingga menghasilkan ALGOL 68:
- sintaksis dan semantik menjadi lebih ortogonal, dengan adanya rutinitas anonim, sistem pengetikan rekursif dengan fungsi tingkat tinggi, dsb.;
- tidak hanya bagian bebas konteks, tetapi seluruh sintaksis dan semantik bahasa didefinisikan secara formal menggunakan Tata bahasa Van Wijngaarden, sebuah formalisme yang dirancang khusus untuk tujuan ini.
Banyaknya fitur bahasa ALGOL 68 yang jarang digunakan (misalnya, blok konkuren dan paralel) serta sistem pintasan sintaksis dan pemaksaan tipe otomatis (automatic type coercions) yang kompleks membuatnya kurang populer di kalangan implementor dan mendapat reputasi sebagai bahasa yang sulit. Niklaus Wirth bahkan keluar dari komite perancangan untuk menciptakan bahasa Pascal yang lebih sederhana.
Beberapa bahasa terkemuka yang dikembangkan pada periode ini meliputi:
- 1951 – Regional Assembly Language
- 1952 – Autocode
- 1954 – IPL (pendahulu LISP)
- 1955 – FLOW-MATIC (memicu lahirnya COBOL)
- 1957 – FORTRAN (kompilator pertama)
- 1957 – COMTRAN (pendahulu COBOL)
- 1958 – LISP
- 1958 – ALGOL 58
- 1959 – FACT (pendahulu COBOL)
- 1959 – RPG
- 1960 – COBOL
- 1960 – ALGOL 60
- 1962 – APL
- 1962 – Simula
- 1962 – SNOBOL
- 1963 – CPL (pendahulu bahasa C)
- 1964 – Speakeasy
- 1964 – BASIC
- 1964 – PL/I
- 1966 – JOSS
- 1966 – MUMPS
- 1967 – BCPL (pendahulu bahasa C)
- 1967 – Logo (bahasa edukasi yang kemudian memengaruhi Smalltalk dan Scratch).
- 1968 – Algol 68
Memantapkan paradigma fundamental
suntingPeriode dari akhir 1960-an hingga akhir 1970-an membawa perkembangan besar bagi bahasa pemrograman. Sebagian besar paradigma pemrograman utama yang digunakan saat ini diciptakan pada periode ini:Templat:Original research inline
- Speakeasy, dikembangkan pada tahun 1964 di Laboratorium Nasional Argonne (ANL) oleh Stanley Cohen, adalah sistem pemrograman berorientasi objek (OOP), mirip dengan paket numerik MATLAB, IDL, dan Mathematica yang muncul belakangan. Speakeasy memiliki dasar sintaksis berbasis Fortran. Bahasa ini awalnya menangani komputasi fisika yang efisien secara internal di ANL, dimodifikasi untuk penggunaan penelitian (sebagai "Modeleasy") oleh Federal Reserve Board pada awal 1970-an, dan kemudian tersedia secara komersial; Speakeasy dan Modeleasy masih digunakan hingga saat ini.
- Simula, diciptakan pada akhir 1960-an oleh Nygaard dan Dahl sebagai superset dari ALGOL 60, adalah bahasa pertama yang dirancang untuk mendukung pemrograman berorientasi objek.
- FORTH, bahasa pemrograman konkatenatif (concatenative) paling awal, dirancang oleh Charles Moore pada tahun 1969 sebagai sistem pengembangan pribadi saat berada di National Radio Astronomy Observatory (NRAO).
- C, sebuah bahasa pemrograman sistem awal, dikembangkan oleh Dennis Ritchie dan Ken Thompson di Bell Labs antara tahun 1969 dan 1973.
- Smalltalk (pertengahan 1970-an) menyediakan desain dasar yang lengkap untuk bahasa berorientasi objek.
- Prolog, dirancang pada tahun 1972 oleh Alain Colmerauer, Phillipe Roussel, dan Robert Kowalski, merupakan bahasa pemrograman logika pertama.
- ML membangun sistem tipe polimorfik (diciptakan oleh Robin Milner pada tahun 1973) di atas Lisp,[17] memelopori bahasa pemrograman fungsional Berpengetikan statis (statically typed).
Masing-masing dari bahasa ini melahirkan seluruh rumpun keturunan, dan sebagian besar bahasa modern melacak silsilah mereka ke setidaknya salah satu bahasa di atas.
Tahun 1960-an dan 1970-an juga diwarnai perdebatan sengit mengenai keunggulan "pemrograman terstruktur", yang pada dasarnya berarti pemrograman tanpa menggunakan perintah goto. Sebagian besar pemrogram percaya bahwa, bahkan dalam bahasa yang menyediakan goto, menggunakannya adalah gaya pemrograman yang buruk kecuali dalam situasi yang sangat jarang. Perdebatan ini sangat terkait dengan desain bahasa: beberapa bahasa tidak memiliki goto, sehingga memaksa penerapan pemrograman terstruktur.
Untuk menyediakan waktu kompilasi yang lebih cepat, beberapa bahasa disusun untuk "kompilator satu-pass" (one-pass compilers) yang mengharuskan rutinitas bawahan didefinisikan terlebih dahulu, seperti pada Pascal, di mana rutinitas utama atau fungsi penggerak berada di bagian akhir program.
Beberapa bahasa terkemuka yang dikembangkan pada periode ini meliputi:
1980-an: konsolidasi, modul, performa
suntingTahun 1980-an merupakan tahun-tahun konsolidasi relatif bagi bahasa imperatif. Alih-alih menciptakan paradigma baru, gerakan-gerakan ini memperluas ide-ide yang ditemukan pada dekade sebelumnya. C++ menggabungkan pemrograman berorientasi objek dan pemrograman sistem. Pemerintah Amerika Serikat menstandardisasi Ada, bahasa pemrograman sistem yang ditujukan untuk digunakan oleh kontraktor pertahanan. Di Jepang dan tempat lain, dana besar dihabiskan untuk meneliti apa yang disebut bahasa pemrograman generasi kelima yang menggabungkan konstruksi pemrograman logika. Komunitas bahasa fungsional bergerak untuk menstandardisasi ML dan Lisp. Penelitian di Miranda, sebuah bahasa fungsional dengan evaluasi malas (lazy evaluation), mulai berkembang pada dekade ini.
Satu tren baru yang penting dalam desain bahasa adalah peningkatan fokus pada pemrograman untuk sistem skala besar melalui penggunaan modul, atau unit organisasi kode skala besar. Modula, Ada, dan ML semuanya mengembangkan sistem modul yang menonjol pada tahun 1980-an. Sistem modul sering kali dipadukan dengan konstruksi pemrograman generik: generik pada dasarnya adalah modul yang diparameterisasi[butuh rujukan] (lihat juga Polimorfisme (ilmu komputer)).
Meskipun paradigma baru yang besar untuk bahasa pemrograman imperatif tidak muncul, banyak peneliti memperluas ide-ide dari bahasa sebelumnya dan menerapkannya pada konteks baru. Sebagai contoh, bahasa dari sistem Argus dan Emerald mengadaptasi pemrograman berorientasi objek untuk sistem komputasi terdistribusi.
Tahun 1980-an juga membawa kemajuan dalam implementasi bahasa pemrograman. Gerakan komputer set instruksi terreduksi (RISC) dalam arsitektur komputer merumuskan bahwa perangkat keras harus dirancang untuk kompilator daripada untuk pemrogram bahasa rakitan manusia. Dibantu oleh peningkatan kecepatan unit pemroses sentral (CPU) yang memungkinkan metode kompilasi yang makin agresif, gerakan RISC memicu minat yang lebih besar pada teknologi kompilator untuk bahasa tingkat tinggi.
Teknologi bahasa terus berlanjut di jalur ini hingga memasuki tahun 1990-an.
Beberapa bahasa terkemuka yang dikembangkan pada periode ini meliputi:
- 1980 – C++ (awalnya sebagai C dengan Kelas, diganti namanya tahun 1983)
- 1983 – Ada
- 1984 – Common Lisp
- 1984 – MATLAB
- 1984 – dBase III, dBase III Plus (Clipper dan FoxPro sebagai FoxBASE)
- 1985 – Eiffel
- 1986 – Objective-C
- 1986 – LabVIEW (bahasa pemrograman visual)
- 1986 – Erlang
- 1987 – Perl
- 1988 – PIC
- 1988 – Tcl
- 1988 – Wolfram Language (sebagai bagian dari Mathematica, baru mendapatkan nama terpisah pada Juni 2013)
- 1989 – FL (Backus)
1990-an: era Internet
suntingPertumbuhan pesat Internet pada pertengahan 1990-an menjadi peristiwa bersejarah besar berikutnya bagi bahasa pemrograman. Dengan membuka platform yang radikal bagi sistem komputer, Internet menciptakan peluang bagi diadopsinya bahasa-bahasa baru. Bahasa JavaScript naik daun dengan cepat karena integrasi awalnya dengan peramban web Netscape Navigator. Berbagai bahasa skrip lainnya memperoleh penggunaan luas dalam mengembangkan aplikasi khusus untuk server web seperti PHP. Tahun 1990-an tidak melihat adanya hal baru yang mendasar dalam pemrograman imperatif, melainkan banyak penggabungan kembali dan pematangan ide-ide lama. Era ini memulai penyebaran bahasa pemrograman fungsional. Filosofi pendorong utamanya adalah produktivitas pemrogram. Banyak bahasa pengembangan aplikasi cepat (RAD) bermunculan, yang biasanya dilengkapi dengan lingkungan pengembangan terpadu (IDE), pengumpulan sampah (garbage collection), dan merupakan keturunan dari bahasa yang lebih tua. Semua bahasa tersebut berbasis berorientasi objek. Ini termasuk Object Pascal, Objective Caml (diganti namanya menjadi OCaml), Visual Basic, dan Java. Java menerima banyak perhatian pada masa ini.
Lebih radikal dan inovatif daripada bahasa RAD adalah bahasa skrip baru. Bahasa-bahasa ini tidak diturunkan secara langsung dari bahasa lain dan menampilkan sintaksis baru serta penggabungan fitur yang lebih bebas. Banyak yang menganggap bahasa skrip ini lebih produktif daripada bahasa RAD, tetapi sering kali karena pilihan yang membuat program kecil menjadi lebih sederhana tetapi program besar menjadi lebih sulit untuk ditulis dan dipelihara.[butuh rujukan] Meskipun demikian, bahasa skrip menjadi bahasa yang paling menonjol digunakan terkait dengan Web.
Beberapa bahasa pemrograman menyertakan bahasa lain dalam distribusinya untuk menghemat waktu pengembangan. Sebagai contoh, Python dan Ruby menyertakan Tcl untuk mendukung pemrograman antarmuka pengguna grafis (GUI) melalui pustaka seperti Tkinter.
Beberapa bahasa terkemuka yang dikembangkan pada periode ini meliputi:
- 1990 – Haskell
- 1991 – Python
- 1991 – Visual Basic
- 1993 – Lua
- 1993 – R
- 1994 – Common Lisp Object System (CLOS) (bagian dari ANSI Common Lisp)
- 1995 – Ruby
- 1995 – Ada 95
- 1995 – Java
- 1995 – Delphi (Object Pascal)
- 1995 – Visual FoxPro
- 1995 – JavaScript
- 1995 – PHP
- 1996 – OCaml
- 1997 – Rebol
2000-an: paradigma pemrograman
suntingEvolusi bahasa pemrograman terus berlanjut, dan lebih banyak paradigma pemrograman yang mulai digunakan dalam tahap produksi.
Beberapa tren tersebut meliputi:
- Meningkatnya dukungan untuk pemrograman fungsional dalam bahasa arus utama yang digunakan secara komersial, termasuk pemrograman fungsional murni untuk membuat kode lebih mudah dinalar dan diparalelkan (baik pada tingkat mikro maupun makro).
- Konstruksi untuk mendukung pemrograman konkuren dan terdistribusi.
- Mekanisme untuk menambahkan verifikasi keamanan dan keandalan ke dalam bahasa: pemeriksaan statis yang diperluas, pengetikan dependen, kontrol aliran informasi, keamanan utas statis.
- Mekanisme alternatif untuk komposabilitas dan modularitas: mixin, trait, typeclass, delegate, aspek.
- Pengembangan perangkat lunak berbasis komponen.
- Minat yang lebih besar pada bahasa pemrograman visual seperti Scratch dan LabVIEW.
- Metapemrograman, pemrograman reflektif (refleksi), atau akses ke pohon sintaksis abstrak.
- Pemrograman berorientasi aspek (AOP) yang memungkinkan pengembang menyisipkan kode di modul atau kelas lain pada "titik gabung" (join points).
- Bahasa spesifik domain (DSL) dan generasi kode.
Perusahaan Big Tech memperkenalkan beberapa bahasa pemrograman baru yang dirancang untuk melayani kebutuhan mereka sendiri, sebagai contoh:
Beberapa bahasa terkemuka yang dikembangkan selama periode ini meliputi:
2010-an: era Seluler
suntingEvolusi bahasa pemrograman terus berlanjut seiring dengan bangkitnya domain pemrograman baru.
- Peningkatan minat pada aspek distribusi dan mobilitas (mobility).
- Integrasi dengan basis data, termasuk XML dan basis data relasional.
- Sumber terbuka sebagai filosofi pengembangan untuk bahasa, termasuk GNU Compiler Collection (GCC) dan bahasa-bahasa seperti PHP, Python, Ruby, dan Scala.
- Bahasa paralel masif untuk unit pemroses grafis (GPU) dan larik superkomputer, termasuk OpenCL.
- Penelitian awal tentang komputasi kuantum dan bahasa pemrograman kuantum.
- Beberapa bahasa pemrograman baru mencoba menyediakan pengganti modern untuk bahasa pemrograman C.
- Banyak bahasa pemrograman baru dipengaruhi oleh bahasa dinamis yang populer dan menjanjikan penambahan keamanan tipe tanpa menurunkan produktivitas.
- Banyak bahasa pemrograman baru menggunakan LLVM dalam implementasinya.
Banyak perusahaan Big Tech terus memperkenalkan bahasa pemrograman baru yang dirancang untuk memenuhi kebutuhan internal mereka dan menyediakan dukungan kelas satu untuk platform mereka. Sebagai contoh:
- Microsoft memperkenalkan TypeScript, Q#, dan Bosque.
- Google memperkenalkan Dart.
- Apple memperkenalkan Swift.
- Meta memperkenalkan Hack.
Beberapa bahasa terkemuka yang dikembangkan selama periode ini meliputi:[18][19]
Bahasa pemrograman baru lainnya termasuk Elm, Ballerina, Red, Crystal, V (Vlang), dan Reason.
2020-an: Tren saat ini
suntingPengembangan bahasa pemrograman baru terus berlanjut. Beberapa bahasa baru mencoba memberikan keuntungan dari bahasa yang sudah dikenal seperti C++ (serbaguna dan cepat) sambil menambahkan keamanan atau mengurangi kompleksitas. Bahasa baru lainnya mencoba menghadirkan kemudahan penggunaan seperti yang disediakan oleh Python dengan menambahkan performa sebagai prioritas utama.
Beberapa bahasa pemrograman baru yang terkemuka meliputi:
Tokoh kunci
suntingBeberapa tokoh penting yang membantu mengembangkan bahasa pemrograman:
- Ada Lovelace, menerbitkan program komputer pertama.
- Alan Cooper, pengembang Visual Basic.
- Alan Kay, memelopori pekerjaan pada pemrograman berorientasi objek, dan pencetus Smalltalk.
- Anders Hejlsberg, pengembang Turbo Pascal, Delphi, C#, dan TypeScript.
- Arthur Whitney, pengembang A+, k, dan q.
- Bertrand Meyer, penemu Eiffel.
- Bjarne Stroustrup, pengembang C++.
- Brad Cox, salah satu pencipta Objective-C.
- Brendan Eich, pengembang JavaScript.
- Brian Kernighan, salah satu penulis buku pertama tentang bahasa pemrograman C bersama Dennis Ritchie, salah satu penulis bahasa pemrograman AWK dan AMPL.
- Chuck Moore, penemu Forth, bahasa pemrograman konkatenatif pertama, dan nama terkemuka dalam desain mikroprosesor mesin tumpukan (stack machine).
- Chris Lattner, pencipta Swift, Mojo, dan Clang/LLVM.
- Cleve Moler, pencipta MATLAB.
- Dennis Ritchie, penemu C, Sistem Operasi Unix, Sistem Operasi Plan 9.
- Douglas McIlroy, memengaruhi and merancang bahasa-bahasa seperti SNOBOL, TRAC, PL/I, ALTRAN, TMG, dan C++.
- Grace Hopper, orang pertama yang menggunakan istilah kompilator dan pengembang FLOW-MATIC, memengaruhi pengembangan COBOL. Memopulerkan bahasa pemrograman yang independen dari mesin dan istilah "debugging".
- Guido van Rossum, pencipta Python.
- James Gosling, pimpinan pengembang Java dan pendahulunya, Oak.
- Jean Ichbiah, kepala perancang Ada, Ada 83.
- Jean-Yves Girard, salah satu penemu kalkulus lambda polimorfik (Sistem F).
- Jeff Bezanson, perancang utama, dan salah satu pengembang inti Julia.
- Jeffrey Snover, penemu PowerShell.
- Joe Armstrong, pencipta Erlang.
- John Backus, penemu Fortran, bekerja sama dalam merancang ALGOL 58 dan ALGOL 60.
- John C. Reynolds, salah satu penemu kalkulus lambda polimorfik (Sistem F).
- John McCarthy, penemu LISP, komite perancangan ALGOL 60.
- John von Neumann, pencetus konsep sistem operasi.
- Graydon Hoare, penemu Rust.
- Ken Thompson, penemu B dan Go.
- Kenneth E. Iverson, pengembang APL, salah satu pengembang J bersama Roger Hui.
- Konrad Zuse, merancang bahasa pemrograman tingkat tinggi pertama, Plankalkül (yang memengaruhi ALGOL 58[20]).
- Kristen Nygaard, memelopori pemrograman berorientasi objek, salah satu penemu Simula.
- Larry Wall, pencipta bahasa pemrograman Perl (lihat Perl dan Raku).
- Martin Odersky, pencipta Scala, dan sebelumnya berkontribusi pada desain Java.
- Martin Richards mengembangkan bahasa pemrograman BCPL, pendahulu bahasa B dan C.
- Nathaniel Rochester, penemu assembler pertama (IBM 701).
- Niklaus Wirth, penemu Pascal, Modula, dan Oberon.
- Ole-Johan Dahl, memelopori pemrograman berorientasi objek, salah satu penemu Simula.
- Rasmus Lerdorf, pencipta PHP.
- Rich Hickey, pencipta Clojure.
- Robert Gentleman, salah satu pencipta R.
- Robert Griesemer, salah satu pencipta Go.
- Robin Milner, penemu ML, dan berbagi pengakuan untuk inferensi tipe polimorfik Hindley–Milner.
- Rob Pike, salah satu pencipta Go, Inferno, dan salah satu penulis Sistem Operasi Plan 9.
- Ross Ihaka, salah satu pencipta R.
- Stanley Cohen, penemu Speakeasy, yang dibuat dengan sistem pemrograman berorientasi objek (OOPS) pertama kali pada tahun 1964.
- Stephen Wolfram, pencipta Mathematica.
- Walter Bright, pencipta D.
- Yukihiro Matsumoto, pencipta Ruby.
Lihat pula
suntingReferensi
sunting- ^ Hopper (1978) p. 16.
- ^ Knuth, Donald E.; Pardo, Luis Trabb. "Early development of programming languages". Encyclopedia of Computer Science and Technology (dalam bahasa American English). 7. Marcel Dekker: 419–493.
- ^ Tesis PhD Corrado Böhm
- ^ Fuegi, J.; Francis, J. (October–December 2003), "Lovelace & Babbage and the creation of the 1843 'notes'", Annals of the History of Computing, 25 (4): 16–26, Bibcode:2003IAHC...25d..16F, doi:10.1109/MAHC.2003.1253887
- ^ Bales, Rebecca (24 July 2023). "Charles Babbage Analytical Engine Explained". history-computer.com.
- ^ Swade, Doron. "The Engines". computerhistory.org. Diakses tanggal 23 February 2024.
- ^ Pada tahun 1998 dan 2000, kompilator dibuat untuk bahasa tersebut sebagai eksperimen sejarah. Rojas, Raúl, et al. (2000). "Plankalkül: The First High-Level Programming Language and its Implementation". Institut frame Informatik, Freie Universität Berlin, Technical Report B-3/2000. (teks lengkap)
- ^ Sebesta, W.S. (2006). Concepts of Programming Languages. Pearson/Addison-Wesley. hlm. 44. ISBN 978-0-321-33025-3.
- ^ "Fortran creator John Backus dies – Tech and gadgets". NBC News. 2007-03-20. Diakses tanggal 2010-04-25.
- ^ "CSC-302 99S : Class 02: A Brief History of Programming Languages". Math.grin.edu. Diarsipkan dari asli tanggal 2010-07-15. Diakses tanggal 2010-04-25.
- ^ Padua, David (Feb 2000). "The FORTRAN I Compiler" (PDF). Computing in Science and Engineering. 2 (1): 70–75. Bibcode:2000CSE.....2a..70P. doi:10.1109/5992.814661. Diakses tanggal 7 November 2019.
- ^ Eugene Loh (18 June 2010). "The Ideal HPC Programming Language". ACM Queue. 8 (6). Association of Computing Machines.
- ^ "HPL – A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers". Diakses tanggal 2015-02-21.
- ^ Hopper (1978) p. 16.
- ^ Sammet (1969) p. 316
- ^ Sammet (1978) p. 204.
- ^ Gordon, Michael J. C. (1996). "From LCF to HOL: a short history" (PDF). hlm. 3. Diakses tanggal 2015-05-04.
Edinburgh LCF, including the ML interpreter, was implemented in Lisp.
- ^ "TIOBE Index, Top 100 programming languages according to TIOBE Index". www.tiobe.com. Indeks TIOBE. 22 February 2024.
- ^ "GitHub's Octoverse 2018". Diarsipkan dari asli tanggal 2019-03-22.
- ^ Rojas, Raúl; Hashagen, Ulf (2002). The First Computers: History and Architectures. MIT Press. hlm. 292. ISBN 978-0262681377. Diakses tanggal October 25, 2013.
Bacaan lanjutan
sunting- Rosen, Saul, (editor), Programming Systems and Languages, McGraw-Hill, 1967.
- Sammet, Jean E., Programming Languages: History and Fundamentals, Prentice-Hall, 1969.
- Sammet, Jean E. (July 1972). "Programming Languages: History and Future". Communications of the ACM. 15 (7): 601–610. doi:10.1145/361454.361485. S2CID 2003242.
- Richard L. Wexelblat (ed.): History of Programming Languages, Academic Press 1981.
- Thomas J. Bergin and Richard G. Gibson (eds.): History of Programming Languages, Addison Wesley, 1996.
- Sebesta, Robert W. Concepts of programming languages. Pearson Education India, 2004.
