Bahasa pemrograman adalah bahasa yang digunakan pada komputer untuk melakukan tugas tertentu. Seperti juga pada bahasa yang digunakan manusia secara umum, bahasa pemrograman banyak sekali jenisnya. Bahasa pemrograman dapat dikelompokkan berdasarkan tingkatan, seperti bahasa tingkat rendah, bahasa tingkat sedang, bahasa tingkat tinggi.
Berikut adalah ringkasan sejarah bahasa pemrorgraman.
Sebelum 1940
Bahasa pemrograman yang pertama kali muncul sebelum adanya komputer modern, artinya bahasa pemrograman lebih tua dari komputer itu sendiri. Pada awal kemunculannya, bahasa pemrograman masih dalam bentuk kode-kode bahasa mesin. Bahasa mesin merupakan bahasa yang terdiri atas kode-kode mesin dan hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa mesin ini tergolong bahasa tingkat rendah, karena hanya berupa kode 0 dan 1 saja.
Periode 1940-an
Seiring dengan kebutuhan dan perkembangan teknologi para programer mulai mengahadapi masalah dengan bahasa mesin, karena selain sulit dibuat dan dibaca juga akan sulit memperbaiki bila terjadi kesalahan coding. Tahun 1940-an komputer bertenaga listrik dibuat, dengan kecepatan yang sangat terbatas dan kapasitas memori yang mencukupi untuk programmer memprogram, emudian terciptalah bahasa assembly (Assembly language). Bahasa assembly adalah bahasa simbol dari bahasa mesin. Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain. Penggunaan bahasa Asembly dirasa belum sempurna karena selain sulit untuk diimplementasikan, ternyata bahasa ini juga sulit jika sang programer ingin mengembangkan program buatannya. Pada tahun 1948, Konrad Zuse mempublikasikan sebuah paper tentang bahasa pemrograman miliknya yakni Plankalkül. Bagaimanapun, bahasa tersebut tidak digunakan pada masanya dan terisolasi terhadap perkembangan bahasa pemrograman yang lain. Beberapa bahasa pemrograman yang berkembang pada masa itu antara lain:
- Plankalkül (Konrad Zuse) - 1943
- ENIAC coding system - 1943
- C-10 - 1949
Periode tahun 1950-an sampai dengan tahun 1960-an
Pada tahun 1950 untuk pertamakalinya bahasa pemrograman modern muncul, yang turun-temurun dan tersebar luas hingga saat ini. Bahasa ini menggunakan istilah atau frase-frase yang dekat dengan bahasa manusia, sehingga susah untuk ditulis. Hingga saat ini kita menggunakan bahasa tingkat tinggi.Dalam perkembangannya Bahasa Tingkat Tinggi juga terdiri dari beberapa metode pemrograman, yaitu Procedural Programing dan Object Oriented Programing. Letak perbedaannya yaitu, jika pada procedural programing program dijalankan dengan menggabungkan variable, procedure-procedure yang saling keterkaitan dan berjalan berurut, sedangkan pada OOP seluruh task dijalankan berdasarkan kedalam object.
- FORTRAN (1955), the "FORmula TRANslator", ditemukan oleh John W. Backus dll.
- LISP, the "LISt Processor", ditemukan oleh John McCarthy dll.
- COBOL, the COmmon Bussines Oriented Language, dibuat oleh the Short Range Commitee, dan Grace Hopper berperan sangat besar disini.
Overview:
- Regional Assembly Language - 1951
- Autocode - 1952
- FORTRAN - 1954
- FLOW-MATIC - 1955
- COMTRAN - 1957
- LISP - 1958
- ALGOL - 1958
- COBOL - 1959
- APL - 1962
- SIMULA - 1962
- BASIC - 1964
- PL/I -1964
Periode 1967-1978: Menetapkan Paradigma Fundamental
Periode diantara tahun 60-an sampai dengan 70-an membawa pengaruh yang besar dalam perkembangan bahasa pemrograman. Kebanyakan dari pola bahsa pemrograman yang utama yang saat ini banyak digunakan:
- Simula, ditemukan pada akhir 60-an oleh Nygaard dan Dahl sebagai superset dari Algol 60, merupakan bahasa pemrograman pertama yang didesain untuk mendukun pemrograman berorientasi object.
- C, sebuah tahapan awal dari sistem bahsa pemrograman, yang dikembangkan oleh Dennis Ritchie dan Ken Thompson di Bell Labs antara tahun 1969 dan 1973.
- Smalltalk (pertengahan tahun 70-an) menyajikan desain ground-up yang lengkap dari sebuah bahasa yang berorientasi objek.
- Prolog, didesain pada tahun 1977 oleh Colmerauer, Roussel, and Kowalski, merupakan bahasa pemrograman logika yang pertama.
- ML membangun sebuah sistem polimorfis (ditemukan oleh Robin Miller pada tahun 1973) diatas sebuah Lisp, yang merintis bahasa pemrograman fungsional bertipe statis.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
- Pascal - 1970
- Forth - 1970
- C - 1970
- Smaltalk - 1972
- Prolog - 1972
- ML - 1973
- SQL - 1978
Era 1980-an: konsolidasi, modul, performa
1980s adalah tahun dari konsolidasi relatif. C++ dikombinasikan dengan sistem programming dan berorientasi obyek. Pemerintah Amerika Serikat menstandardisasi Ada, sebuah sistem pemrograman yang bertujuan untuk digunakan para kontraktor untuk bertahan. Di Jepang dan di tempat lain, penjumlahan luas yang telah di selidiki disebut" generasi ke lima" bahasa-bahasa yang menyatukan logika pemrograman konstruksi. Masyarakat bahasa fungsional gerak ke standarisasi ML dan Cedal. Dibandingkan dengan menemukan paradigma-paradigma baru, semua pergerakan ini menekuni gagasan-gagasan yang ditemukan di dalam dekade sebelumnya.
However, one important new trend in language design was an increased focus on programming for large-scale systems through the use of modules, or large-scale organizational units of code. Modula, Ada, and ML all developed notable module systems in the 1980s. Module systems were often wedded to generic programming constructs generics being, in essence, parameterized modules (see also parametric polymorphism).
Bagaimanapun, satu kecenderungan baru di dalam disain bahasa adalah satu fokus yang ditingkatkan di pemrograman untuk sistem besar-besaran melalui penggunaan dari modul, atau kesatuan organisasi besar-besaran dari kode. Modula, Ada, dan ML semua sistem modul terkemuka yang dikembangkan pada 1980-an.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk:
- Ada - 1983
- C++ - 1983
- Eiffel - 1985
- Perl - 1987
- FL (Backus) - 1989
The 1990s saw no fundamental novelty, but much recombination as well as maturation of old ideas. A big driving philosophy was programmer productivity. Many "rapid application development" languages emerged, which usually came with an IDE, garbage collection, and were descendants of older languages. All such languages were object oriented. These included Object Pascal, Visual Basic, and C#. Java was a more conservative language that also featured garbage collection and received much attention. More radical and innovative than the RAD languages were the new scripting languages. These did not directly descend from other languages and featured new syntaxes and more liberal incorporation of features. Many consider these scripting languages to be more productive than even the RAD languages, but often because of choices that make small programs simpler but large programs more difficult to write and maintain. Nevertheless, scripting languages came to be the most prominent ones used in connection with the Web.
Beberapa bahasa pemrograman yang berkembang dalam periode ini termasuk
- Haskel - 1990
- Python - 1991
- Java - 1991
- Ruby - 1993
- Lua - 1993
- ANSI Common Lisp - 1994
- JavaScript - 1995
- PHP - 1995
- C# - 2000
- JavaFX Script