Programming Language
Programming language adalah suatu hal yang esensial untuk software development baik itu pada web, mobile, ataupun desktop application. Per tahun 2023 sekarang terdapat lebih dari 250 bahasa pemrograman, setiap bahasa pemrograman memiliki syntax dan fitur yang berbeda. Pernahkah kalian mendengar bahasa pemrograman C, C#, C++, python, java, javascript, php, flutter, Go, dll? Lalu pernahkah kalian berpikir kenapa tidak dibuat satu bahasa pemrograman saja, toh ujung-ujungnya komputer memakai machine language yaitu 0, 1? Nah pada artikel kali ini akan membahas tentang berbagai bahasa pemrograman, alasan kenapa ada banyak sekali bahasa pemrograman?
Pada dasarnya bahasa pemrograman yang mungkin anda pernah gunakan adalah bahasa high level language yang artinya bahasa yang mudah untuk dimengerti manusia tetapi sulit untuk dipahami komputer, komputer akan hanya memahami machine language yang dimaksud adalah bahasa biner, untuk menjadikan high level language dimengerti oleh komputer diperlukan compiler atau interpreter, kedua hal itu bertugas untuk mengubah source code yang sudah dibuat menjadi bahasa biner, keduanya memiliki kelebihan dan kekurangannya sendiri.
Sebagai analoginya seperti ini, pada sebuah toko pizza, terdapat 5 order pizza yang harus dibuat, interpreter akan mengambil order pertama, memberi tahu chef tentang order pertama, lalu mengantarkannya ke pelanggan, begitu juga seterusnya untuk order kedua sampai kelima. Sedangkan Compiler akan mengambil semua 5 order pizza dan memberitahu ke chef, lalu mengantarkannya ke pelanggan. Dengan analogi tersebut jika terdapat kasus kalau terdapat order yang tidak sesuai, compiler akan tetap menyelesaikan ordernya walaupun orderannya ada yang tidak sesuai, sedangkan pada interpreter jika terdapat order yang tidak sesuai maka proses tidak akan dilanjutkan dan akan memberikan feedback kalau ada yang tidak sesuai. Dari analogi toko pizza tersebut 5 order bisa diartikan sebagai source code, sedangkan masing-masing order adalah setiap baris code. Artinya pada interpreter itu relatif lebih cepat di debug karena tidak perlu menunggu semua source code diproses terlebih dahulu, sedangkan compiler harus memproses semua source code terlebih dahulu baru diantarkan ke pelanggan.
Selain itu bahasa yang menggunakan interpreter bisa pada cross platform karena cara kerja nya interpreter akan selalu membutuhkan source code untuk dijalankan pada komputer target, dan di komputer target harus terdapat interpreter untuk menjalankan source code tersebut, interpreter juga tidak akan menghasilkan file executable. Contoh bahasa yang menggunakan interpreter adalah Javascript dan PHP.
Sedangkan cara kerja compiler akan memproses semua source code lalu akan membentuk file executable terpisah, sehingga jika komputer target ingin menjalankan hasilnya bukan menjalankan source code-nya tetapi menjalankan hasil file executable-nya. Dengan begitu bisa dikatakan kalau hasil compiler hanya bekerja pada platform spesifik tidak bisa untuk multiple platform. Contoh bahasa pemrograman yang menggunakan compiler adalah C, C++.
Lalu kenapa terdapat banyak sekali bahasa pemrograman di dunia ini? Jawabannya karena perkembangan teknologi yang bertumbuh pesat membutuhkan teknologi yang sesuai, bahasa pemrograman yang sudah ada dinilai tidak mampu untuk memenuhi kebutuhan perkembangan teknologi sebagai contoh pada tahun 1972 bahasa C menggantikan bahasa assembly yang tidak mampu running di Unix Operating system, bahasa C yang digantikan oleh bahasa C++ karena tidak terdapat fitur OOP, inheritance, polymorphism, exception handling, namespace, dll yang dibutuhkan pasar. Jika bahasa pemrograman dibuat menjadi satu bahasa saja, Bayangkan seberapa berat bahasa tersebut, jika orang yang memakai nya hanya untuk membuat web application tetapi terdapat fitur-fitur yang mobile development seperti integration with internal hardware. Maka dari itu dibuatlah berbagai macam bahasa pemrograman dengan tujuan dan fungsi yang berbeda seperti web developer yang memakai HTML, PHP, CSS, javascript untuk membuat web app. Desktop developer memakai Java, C, C++, Game developer memakai C, C++, android developer memakai kotlin, Java, data scientist memakai matlab, Python dan R.
Lalu bagaimana memilih bahasa pemrograman yang harus dipelajari? Untuk ini tergantung dari tujuan kalian belajar bahasa pemrograman dengan begitu kalian bisa menyesuaikan dengan bahasa pemrograman yang tersedia, lihat juga dari komunitas nya apakah banyak atau tidak dengan begitu jika terdapat problem bisa lebih mudah mencari solusi dibanding komunitas yang lebih sedikit. Intinya tidak ada bahasa pemrograman yang lebih baik atau buruk, karena setiap bahasa pemrograman memiliki kelebihan dan kekurangannya masing-masing, balik lagi ke perspektif preferensi pribadi masing-masing. Lagi pula jika kalian sudah memahami suatu bahasa pemograman, bahasa pemograman lainnya akan memiliki kemiripan satu sama lain.
Referensi:
- https://www.freecodecamp.org/news/what-is-the-c-programming-language-beginner-tutorial/
- https://www.bestcolleges.com/bootcamps/guides/how-many-coding-languages-are-there/#:~:text=Today%2C%20various%20sources%20report%20anywhere,others%20are%20in%20high%20demand.
- https://levelup.gitconnected.com/why-are-there-so-many-programming-languages-653d4d02ab39
- https://www.computerhope.com/issues/ch000569.htm
- https://stackoverflow.blog/2015/07/29/why-are-there-so-many-programming-languages/
- https://www.freecodecamp.org/news/why-are-there-so-many-programming-languages/