Sejak pertama komputer difference engine diciptakan oleh Charles
Babbage pada tahun 1822, komputer membutuhkan sejumlah instruksi untuk
melakukan suatu tugas tertentu. Instruksi-instruksi ini dikenal sebagai
bahasa pemrograman. Bahasa komputer mulanya terdiri dari sejumlah
langkah pengkabelan untuk membuat suatu program; hal ini dapat dipahami
sebagai suatu rangkaian pengetikan kedalam komputer dan kemudian
dijalankan.
Pada awalnya, difference engine-nya Charles Babbage hanya dibuat
untuk menjalankan tugas dengan menggunakan perpindahan gigi roda untuk
menjalankan fungsi kalkukasi. Jadi, bentuk awal dari bahasa komputer
adalah berupa gerakan secara mekanik, selanjutnya gerakan mekanik
tersebut digantikan dengan sinyal listrik ketika pemerintah AS
mengembangkan ENIAC pada tahun 1942, tetapi masih banyak mengadopsi
prinsip-prinsip dasar dari Babbage’s engine yang mana diprogram dengan
mengeset switch dan perkabelan pada seluruh sistem pada setiap “program”
maupun kalkulasi. Tentu saja ini merupakan pekerjaan yang membosankan.
Pada 1945, John Von Neumann yang bekerja pada Institute for Advanced Study mengemukakan dua konsep yang secara langsung mempengaruhi masa depan dari bahasa pemrograman komputer. Yang pertama dikenal sebagai “shared-program technique” (www.softlord.com). Pada teknik ini dinyatakan bahwa hardware komputer haruslah sederhana dan tidak perlu dilakukan pengkabelan dengan menggunakan tangan untuk setiap program. Sebagai gantinya, instruksi-instruksi yang lebih kompleks harus digunakan untuk mengendalikan perangkat keras yang lebih sederhana, hal ini memungkinkan komputer diprogram ulang dengan cepat.
Konsep yang kedua yang juga sangat penting untuk pengembangan bahasa
pemrograman. Von Neumann menyebutnya sebagai “conditional control
transfer” (www.softlord.com). Ide ini berkembang menjadi bentuk
subrutin, atau blok kode yang kecil yang dapat panggil berdasarkan
aturan tertentu, dari pada suatu himpunan tunggal urutan kronologis yang
harus dijalankan oleh komputer. Bagian kedua dari ide tersebut
menyatakan bahwa kode komputer harus dapat bercabang berdasarkan
pernyataan logika seperti IF (ekspresi) THEN, dan perulangan seperti FOR
statement. “Conditional control transfer” mengembangkan ide adanya
“libraries,” yang mana merupakan blok kode yang dapat digunakan berulang
kali.
Pada 1949, setelah beberapa tahun Von Neumann bekerja, bahasa Short
Code dilahirkan (www.byte.com), yang merupakan bahasa komputer yang
pertama untuk peralatan elektronik yang membutuhkan programmer untuk
mengubah perintah kedalam 0 dan 1 dengan tangan.
Pada 1957, bahasa khusus yang pertama muncul dalam bentuk FORTRAN
yang merupakan singkatan dari sistem FORmula TRANslating. Bahasa ini
dirancang pada IBM untuk perhitungan scientific. Komponen-komponennya
sangat sederhana, dan menyediakan bagi programmer akses tingkat rendah
kedalam komputer. Sampai saat ini, bahasa ini terbatas pada hanya
terdiri dari perintah IF, DO, dan GOTO, tetapi pada waktu itu,
perintah-perintah ini merupakan lompatan besar kearah depan. Type data
dasar yang digunakan sampai sekarang ini dimulai dari FORTRAN, hal ini
meliputi variabel logika (TRUE atau FALSE), dan bilangan integer, real,
serta double-precision.
FORTRAN sangat baik dalam menangani angka-angka, tetapi tidak terlalu
baik untuk menangani proses input dan output, yang mana merupakan hal
yang penting pada komputasi bisnis. Komputasi bisnis mulai tinggal
landas pada 1959, dengan dikembangkannya COBOL, yang dirancang dari awal
sebagai bahasa untuk para pebisnis. Type data yang ada hanya berupa
number dan text string. Hal tersebut juga memungkinkan pengelompokan
menjadi array dan record, sehingga data di telusuri dan diorganisasikan
dengan lebih baik. Sesuatu hal yang menarik untuk dicatat bahwa suatu
program COBOL dibuat menyerupai suatu essay, dengan empat atau lima
bagian utama yang membentuk keseluruhan yang tertata dengan baik.
Perintah-perintah COBOL sangat menyerupai tata bahasa English, sehingga
membuatnya agak mudah dipelajari. Semua ciri-ciri ini dikembangkan agar
mudah dipelajari dan mudah diterapkan pada dunia bisnis.
Pada 1958, John McCarthy di MIT membuat bahasa LISt Processing (atau
LISP), yang dirancang untuk riset Artificial Intelligence (AI). Karena
dirancang untuk fungsi spesialisasi yang tinggi, maka tata cara
penulisannya jaring kelihatan sebelum ataupun sesudahnya. Sesuatu
perbedaan yang paling nyata dari bahasa ini dengan bahasa lain adalah
dasar dan type satu-satunya adalah list, yang ditandai dengan suatu
urutan item yang dicakup dengan tanda kurung. Program LISP sendirinya
dibuat sebagai suatu himpunan dari list, sehingga LISP memiliki
kemampuan yang khusus untuk memodifikasi dirinya, dan juga dapat
berkembang sendiri. Tata cara penulisan LISP dikenal sebagai “Cambridge
Polish,” sebagaimana dia sangat berbeda dari logika Boolean (Wexelblat,
177) :
x V y – Cambridge Polish, what was used to describe the LISP program
OR(x,y) – parenthesized prefix notation, what was used in the LISP program
x OR y – standard Boolean logic
LISP masih digunakan sampai sekarang karena spesialiasi yang tinggi dari sifat abstraknya.
Bahasa Algol dibuat oleh suatu komite untuk pemakaian scientific pada
tahun 1958. Kontribusi utamanya adalah merupakan akar dari tiga bahasa
selanjutnya yaitu Pascal, C, C++, dan Java. Dia juga merupakan bahasa
pertama dengan suatu tata bahasa formal, yang dikenal sebagai
Backus-Naar Form atau BNF (McGraw-Hill Encyclopedia of Science and
Technology, 454). Pada Algol telah diterapkan konsep-konsep baru,
seperti rekursif pada function, bahasa berikutnya Algol 68, menjadi
bahasa yang membosankan dan sulit digunakan (www.byte.com). Hal ini
mengarah kepada adopsi terhadap bahasa yang lebih kecil dan kompak
seperti Pascal.
Pascal dimulai pada tahun 1968 oleh Niklaus Wirth. Tujuan
pengembangannya adalah untuk kebutuhan pengajaran. Pada awalnya bahasa
ini dikembangkan bukan dengan harapan adopsi pemakaian secara luas.
Prinsipnya mereka mengembangkannya untuk alat pengajaran pemrograman
yang baik seperti kemampuan debug dan perbaikan sistem dan dukungan
kepada mikroprosesor komputer yang digunakan pada institusi pendidikan.
Pascal dirancang dengan pendekatan yang sangat teratur (terstruktur),
dia mengkombinasikan kemampuan yang terbaik dari bahasa-bahasa saat
itu, COBOL, FORTRAN, dan ALGOL. Dalam pengerjaannya banyak
perintah-perintah yang tidak teratur dan aneh dihilangkan, sehingga
sangat menarik bagi pemakai (Bergin, 100-101). Kombinasi dari kemampuan
input/output dan kemampuan matematika yang solid, membuatnya menjadi
bahasa yang sukses besar. Pascal juga mengembangkan tipe data “pointer”,
suatu fasilitas yang sangat bermanfaat pada bahasa yang
mengimplementasikannya. Dia juga menambahkan perintah CASE, yang mana
memperbolehkan perintah bercabang seperti suatu pohon pada suatu aturan:
CASE expression OF
possible-expression-value-1:
statements to execute…
possible-expression-value-2:
statements to execute…
END
Pascal juga mengembangkan variabel dinamis, dimana variabel dapat
dibuat ketika suatu program sedang berjalan, melalui perintah NEW dan
DISPOSE. Tetapi Pascal tidak mengimplementasikan suatu array dinamis,
atau kelompok dari variabel-variabel, yang mana sangat dibutuhkan, dan
merupakan salah satu penyebab kekalahannya (Bergin, 101-102). Wirth
kemudian membuat lanjutan dari Pascal, Modula-2, tetapi pada saat itu
muncul C yang dengan cepat menjadi mengeser posisi Pascal.
C dikembangkan pada tahun 1972 oleh Dennis Richie ketika sedang
bekerja pada Bell Labs di New Jersey. Transisi pemakaian dari bahasa
umum yang pertama ke bahasa umum sampai hari ini yaitu transisi antara
Pascal dan C, C merupakan perkembangan dari B dan BCPL, tetapi agak
menyerupai Pascal. Semua fasilitas di Pascal, termasuk perintah CASE
tersedia di C. C menggunakan pointer secara luas dan dibangun untuk
kecepatan dengan kelemahannya yaitu menjadi sulit untuk dibaca. Tetapi
karena dia menghilangkan semua kelemahan yang terdapat di Pascal,
sehingga dengan cepat mengambil alih posisi Pascal.
Ritchie mengembangan C untuk sistem Unix yang baru pada saat yang
bersamaan. Oleh karena ini, C dan Unix saling berkaitan. Unix memberikan
C beberapa fasilitas besar seperti variabel dinamis, multitasking,
penanganan interrupt, forking, dan strong low-level,input-output. Oleh
karena itu, C sangat sering digunakan untuk pemrograman sistem operasi
seperti Unix, Windows, MacOS, dan Linux.
Pada akhir tahun 1970 dan awal 1980, suatu metode pemrograman yang
baru telah dikembangkan. Ha tersebut dikenal sebagai Object Oriented
Programming, atau OOP. Object merupakan suatu potongan dari data yang
dapat dipaket dan dimanipulasi oleh programmer. Bjarne Stroustroup
menyukai metode ini dan mengembangkan lanjutan dari C yang dikenal
sebagai “C With Classes.” Kemampuan lanjutan ini dikembangkan menjadi
bahasa C++ yang diluncurkan pada tahun 1983.
C++ dirancang untuk mengorganisasikan kemampuan dasar dari C dengan
OOP, dengan tetap mempertahankan kecepatan dari C dan dapat dijalankan
pada komputer yang tipe berlainan. C++ sering kali digunakan dalam
simulasi, seperti game. C++ menyediakan cara yang baik untuk
memanipulasi ratusan instance dari manusia didalan elevator, atau
pasukan yang diisi dengan tipe prajurit yang berbeda. Bahasa ini menjadi
pilihan pada mata kuliah AP Computer Science sampai hari ini.
Pada awal 1990′s, interaktif TV adalah teknologi masa depan. Sun
Microsystems memutuskan bahwa interaktif TV membutuhkan suatu hal yang
khusus, yaitu bahasa portable (bahasa yang dapat berjalan pada banyak
jenis mesin yang berbeda). Bahasa ini dikenal sebagai Java. Pada tahun
1994, team proyek Java mengubah fokus mereka ke web, yang mana berubah
menjadi sesuatu yang menjanjikan setelah interactive TV gagal. Pada
tahun berikutnya, Netscape menyetujui pemakaian Java pada internet
browser mereka, Navigator. Sampai titik ini, Java menjadi bahasa masa
depan dan beberapa perusahaan mengumumkan aplikasi harus ditulis dalam
Java.
Java mempunyai tujuan yang besar dan merupakan bahasa yang baik
menurut buku text, pada kenyataanya “bahasa tersebut tidak”. Dia
memiliki masalah yang serius dalam optimasi, dengan arti program yang
ditulis dengannya berjalan dengan lambat. Dan Sun telah membuat cacat
penerimaan terhadap Java dengan pertikaian politis dengan Microsoft.
Tetapi Java telah dinyatakan sebagai bahasa untuk instruksi masa depan
dan benar-benar menerapkan object-oriented dan teknik tingkat tinggi
seperti kode yang portable dan garbage collection.
Visual Basic sering diajari sebagai bahasa pemrograman dasar yang
mengacu pada bahasa BASIC yang dikembangkan pada tahun 1964 oleh John
Kemeny dan Thomas Kurtz. BASIC adalah bahasa yang sangat terbatas dan
dirancang untuk orang yang bukan computer science. Perintah-perintah
dijalankan secara berurutan, tetapi kendali program dapat berubah
berdasarkan IF..THEN, dan GOSUB yang mana menjalankan suatu blok kode
dan kembali ketitik semula didalam alur program.
Microsoft telah mengembangkan BASIC ke dalam produk Visual Basic
(VB). Jantung dari VB adalah form, atau suatu window kosos dimana anda
dapat drag dan drop komponen seperti menu, gambarm dan slider bars.
Item-item ini dikenal sebagai “widgets.” Widget memiliki properti
(seperti warna) dan events (seperti klik dan double klik) dan menjadi
pusat dari pengembangan antarmuka dengan pemakai diberbagai bahasa
program dewasa ini. VB merupakan program yang banyak digunakan untuk
membuat interface sederhana ke produk Microsoft lainnya seperti Excel
dan Access tanpa membaca banyak kode, dengannya dapat dimungkinkan untuk
dibuat aplikasi yang lengkap.
Perl telah sering digambarkan sebagai “duct tape of the Internet,”
karena sering digunakan sebagai engine untuk interface web atau pada
script untuk memodifikasi file konfigurasi. Dia memiliki fungsi text
matching yang sangat baik sehingga membuatnya menjadi hal yang ideal
untuk pekerjaan tersebut. Perl dikembangkan oleh Larry Wall pada 1987
karena fasilitas pada sed dan awk pada Unix (digunakan untuk manipulasi
text) tidak mencukupi kebutuhannya. Tergantung kepada siapa anda
bertanya, Perl adalah singkatan dari Practical Extraction and Reporting
Language atau Pathologically Eclectic Rubbish Lister.
Bahasa pemrograman telah berkembangan dari masa kemasa dan tetap
dikembangkan dimasa depan. Mereka dimulai dari suatu daftar langkap
pengkabelan agar komputer menjalankan tugas tertentu. Langkah-langkah
ini berkembang menjadi software dan memiliki kemampuan yang lebih baik.
Bahasa umum yang pertama menekankan pada kesederhanaan dan untuk satu
tujuan saja, sedangkan bahasa dewasa ini terbagi atas bagaimana mereka
diprogram, sehingga mereka dapat digunakan untuk semua tujuan. Dan
mungkin bahasa yang akan datang lebih natural dengan penemuan pada
quantum dan komputer-komputer biologis.