Plankalkul –1945:
- Tidak pernah diimplementasikan.
- Struktur data : Array, records.
Pseudocode –1949:
- Digunakan karena terlalu sulit jika harus menggunakan machine code.
- Shortcode – 1949 – BINAC- oleh Mauchly, Ekspresi dikodekan dari kiri ke kanan.
- Speedcoding – 1954 – IBM 701 – oleh Backus.
- Pseudo operation untuk fungsi aritmatik danmatematika.
- Percabangan kondisional dan tanpa kondisi.
- Autoincrement register untuk pengaksesan array.
Laning dan Zierler System –1953:
- Diimplementasikan pada computer Whilwind – MIT.
- Merupakan system compiler pertama.
- Fasilitas translasi ekspresi dan pemanggilan fungsi.
- Tidak pernah diporting ke mesin lain.
FORTRAN I – 1957:
- FORTRAN 0 -1954 – tidak diimplementasi
- FORmula TRANslation dibuat oleh John Backus
- Didesain untuk IBM 704, yang memiliki Index Register dan hardware floating-point.
- Komputer (saat itu) belum reliable.
- Aplikasi terbatas pada scientific.
- Tidak ada metodologi pemrograman dan alat bantunya.
- Efisiensi mesin harus benar-benar diperhatikan.
- Merupakan bahasa tingkat-tinggi pertama yang diterima secara luas.
FORTRAN II – 1958:
- Independent compilation.
- Perbaikan bug dari FORTRAN I
FORTRAN IV – 1962:
- Deklarasi tipe eksplisit.
- Logical selection statement (Logical IF).
- Subprogram dapat menjadi parameter.
- Menjadi ANSI standard pada tahun 1968.
FORTRAN 77 – 1978:
- Dilengkapi dengan character-string handling.
- Logical loop control statement.
- IF-THEN-ELSE statement.
FORTRAN 90 – 1990:
- Menggunakan modul-modul dengan akses private maupun public.
- Terdapat array dinamik.
- Record dan Pointer.
- Rekursif.
- Statement CASE, EXIT, dan CYCLE.
- Pengecekan tipe parameter.
LISP – 1959:
- Kepanjangannya adalah LISt Processing.
- Dibuat oleh John McCarthy, MIT, 1959.
- Riset Artificial Intellegence membutuhkan bahasa yang memproses data menggunakan list (bukan array).
- Mendukung komputasi simbolik (bukan numeric).
- LISP hanya terdapat 2 tipe data : Atom dan List.
- Sintaksnya didasarkan pada Kalkulus Lambda (Lambda calculus).
- Merupakan pionir dari functional programming.
- Tidak membutuhkan variable atau assignment.
- Control dilakukan lewat rekursi dan ekspresi kondisional.
- Masih merupakan bahasa yang dominan dalam AI.
- COMMON LISP dan Scheme merupakan dialek dari LISP.
- Terdapat bahasa-bahasa lain yang berhubungan : ML, Miranda, Haskell.
ALGOL 58 – 1958:
- Kepanjangannya adalah ALGOrithmic Language.
- Perkembangan bahasa saat itu (saat ALGOL dibuat) :
- FORTRAN terbatas untuk mesin IBM 70x.
- Bahasa-bahasa yang lain juga dikembangkan tetapi hanya untuk mesin tertentu.
- Tidak terdapat bahasa yang portable, semuanya bergantung pada mesin
- Tidak terdapat bahasa yang universal.
- ACM (Association for Computing Machinery) dan GAMM bertemu bertemu selama 4 hari untuk merencanakan desain bahasa.
Tujuan dari bahasa ALGOL :
• Mendekati notasi matematika.
• Baik untuk mendeskripsikan algoritma.
• Harus dapat ditranslasikan ke kode mesin.
COBOL – 1960:
- COBOL kepanjangan dari COmmon Business Oriented Language
- Tujuan desain :
- Harus seperti bahasa Inggris yang sederhana.
- Mudah untuk digunakan.
- Harus dapat dipergunakan secara luas.
- Harus terbebas dari masalah implementasi compiler.
BASIC – 1964:
- BASIC kepanjangan dari Beginners All-purpose Symbolic Instruction Code.
- Dibuat oleh John Kemeny dan Thomas Kurtz.
- Mudah untuk dipelajari.
- Struktur program jelek.
- Dialek dari BASIC yang sekarang populer : QuickBASIC dan Visual BASIC.
PL/I – 1965:
- PL merupakan kepanjangan dari Programming Language I.
- Dibuat oleh IBM dan SHARE.
- Menggabungkan fitur dari ALGOL 60, COBOL, dan FORTRAN.
- Dikembangkan untuk aplikasi Bisnis dan Science.
- Pertama kali adanya exception handling.
Early Dynamic Language:
- Karakteristik : Memiliki tipe dinamik, dan dynamic storage allocation.
- APL (A Programming Language) – 1962.
- Didesain sebagai HDL (Hardware Description Language) oleh Ken Iverson dari IBM.
- Sangat ekspresif (terdapat banyak operator).
- Program sangat sulit untuk dibaca.
- SNOBOL – 1964.
- Didesain sebagai string manipulation language di Bell Labs oleh Farber, Griswold, dan Polensky.
- Sangat baik untuk string pattern-matching.
SIMULA 67 – 1967:
- SIMULA merupakan kepanjangan dari SIMULAtion.
- Didesain untuk simulasi system oleh Nygaard dan Dahl (Norwegia).
- Didasarkan pada ALGOL 60 dan SIMULA I
- Kontribusi : Coroutine (semacam subprogram) yang diimplementasi dalam struktur yang disebut class. Class adalah struktur yang memuat data dan fungsi.
Pascal –1971:
- Didesain oleh Niklaus Wirth, yang keluar dari tim ALGOL 68.
- Dikembangkan dari ALGOL 68.
- Didesain untuk pengajaran pemrograman terstruktur.
- Kecil dan mudah, tidak terdapat hal yang benar-benar baru.
- Tetap menjadi bahasa pemrograman yang digunakan secara luas untuk mengajarkan pemrograman di universitas-universitas.
C – 1972:
- Didesain untuk pemrograman system oleh Dennis Ritchie dari Bell Labs.
- Dikembangkan dari bahasa B dan ALGOL 68.
- Memiliki operator yang banyak, tetapi dari segi pengecekan tipe data (type checking) kurang baik.
- Didistribusikan bersama system operasi UNIX.
PROLOG – 1972:
- PROgramming in LOGic.
- Dikembangkan oleh Comeraurer dan Roussel University of Aix-Marseille).
- Didasarkan pada formal logic.
- Sifatnya non-procedural.
- Dapat disebut sebagai Intelligent Database System yang menggunakan proses pengambilan keputusan untuk memutuskan kebenaran dari query yang diberikan.
Ada – 1983:
- Dikembangkan untuk DoD.
- Pengembangan melibatkan ratusan orang, biaya besar, dan waktu pengembangan sekitar 8 tahun.
- Memuat semua yang akhirnya dikenal sebagai bagian dalam software engineering dan language design.
- Kompiler yang pertama sangat rumit, dan compiler yang pertama dapat digunakan dirilis 5 tahun setelah desain bahasanya selesai.
- Ada 95 – Mendukung OOP melalui penurunan tipe, terdapat mekanisme kontrol yang lebih baik dalam penggunaan data secara bersama-sama, library lebih flexible.
Smalltalk –1972-1980:
- Dikembangkan di Xerox Palo Alto Research Center (Xerox PARC), oleh Alan Kay, kemudian dilanjutkan oleh Adele Goldberg.
- Merupakan bahasa yang pertama kali mengimplementasikan konsep object-oriented (data abstraction, inheritance, dan dynamic type binding).
- Merupakan pionir dari GUI (Graphical User Interface).
C++ - 1985
- Dikembangkan oleh Bjarne Stroustrup di Bell Labs.
- Dikembangkan dari C dan SIMULA 67.
- Terdapat fasilitas OOP yang berasal dari SIMULA 67 dan ditambahkan ke C.
- Mempunyai exception handling.
- Merupakan bahasa yang besar dan kompleks karena mendukung procedural programming dan object-oriented programming.
- Popularitasnya cepat berkembang bersama dengan OOP.
- ANSI standard pada tahun 1997.
- Eiffel – merupakan bahasa yang juga mendukung OOP, lebih kecil dan lebih mudah dari C++, didesain oleh Bertrand Meyer tahun 1992.
Java – 1995
- Dikembangkan oleh James Gosling, Sun Microsystems
- Didasarkan pada C++
- Secara signifikan menyederhanakan C++.
- Hanya mendukung OOP.
- Mempunyai reference, tetapi tidak pointer.
- Terdapat juga dukungan untuk applets (world wide web) dan concurrency (Java Threads).
Scripting Language untuk Web:
JavaScript
- Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.
- Memepunyai syntax yang mirip dengan Java.
- PHP (PHP Hypertext Preprocessor)
- Digunakan pada Pemrograman Web (server-side) menghasilkan code HTML sebagai outputnya.
- Mempunyai syntax yang mirip dengan C++ (support OOP).
VBScript
- Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.
- Didasarkan atas Visual Basic.
- Dikembangkan oleh Microsoft.
Jscript
- Digunakan pada Pemrograman Web (client-side) untuk mengahasilkan dynamic HTML document.
- Memiliki syntac yang mirip dangan C++.
- Dikembangkan oleh Microsoft.
ASP (Active Server Page)
Digunakan pada Pemrograman Web (server-side) menghasilkan code HTML sebagai outputnya.
Dikembangkan oleh Microsoft.
0 komentar:
Posting Komentar