Isi
Tujuan dari setiap bahasa pemrograman adalah untuk mengubah komputer penindih kertas yang mahal menjadi perangkat pemrosesan dan penyimpanan data yang berguna. Bahasa yang dipilih untuk melakukan tugas ini harus seimbang antara efisiensi dan kemudahan penggunaan. Bahasa mesin mewakili ujung spektrum untuk kedua faktor.
Bahasa mesin
Bahasa mesin menghasilkan satu-satunya set instruksi yang dimengerti komputer tanpa penerjemah. Komputer dapat memutar audio dan video, memproses dan menyimpan data, berkomunikasi dengan internet dan melakukan tugas khusus lainnya, menanggapi serangkaian instruksi yang hanya mengenali satu dan nol. Menulis ratusan baris kode hanya dengan satu dan nol adalah tugas membosankan yang berkontribusi pada popularitas bahasa tingkat tinggi, seperti C dan Java.
Keuntungan awal
Komputer pribadi pertama IBM dilengkapi dengan memori akses acak 512 KB dan drive floppy disk 360 KB. Setelah sistem operasi dimuat ke dalam memori dari floppy disk, program dimuat ke dalam ruang memori yang tersisa, menyisakan area kecil RAM, biasanya kurang dari 100 KB, untuk program aktif memproses data. Selama waktu itu, perhatian utama programmer adalah membuat kode yang ringkas dan efisien. Alat pemrograman yang paling banyak digunakan pada komputer ini adalah bahasa mesin, yang bisa jauh lebih kecil daripada versi yang ditulis dalam BASIC atau C. Bahasa assembly juga sedikit lebih mudah.
Ketergantungan platform
Bahasa mesin menunjuk langsung ke perangkat keras komputer, memberikan pemrogram kendali penuh atas setiap aspek menjalankan program. Kerugian dari pendekatan ini adalah programmer harus mengetahui arsitektur dari setiap rangkaian rangkaian terintegrasi (chipset) untuk menulis kode yang efektif. Ketika komponen seperti kartu video atau pengontrol disk diubah, kode harus diperbarui untuk mengenali dan menggunakan perangkat baru.
Bahasa tingkat tinggi
Keunggulan kecepatan dan penggunaan memori yang rendah dari bahasa mesin sebanding dengan kesulitan menulis instruksi level chip dalam kode biner. Ketersediaan RAM sebesar gigabyte dan penyimpanan terabyte telah menghilangkan kebutuhan akan kode yang ringkas dan efisien pada komputer pribadi modern. Memori tambahan dan kebutuhan penyimpanan program yang ditulis dalam bahasa tingkat tinggi, seperti C dan Java, tidak lagi menjadi faktor saat memilih platform pengembangan. Kemudahan penggunaan dan pemeliharaan adalah faktor yang disukai untuk kecepatan dan efisiensi di sebagian besar proyek perangkat lunak modern.