Saat ini Javascript adalah salah satu bahasa pemrograman yang banyak digunakan pengembang perangkat lunak (Developer), tidak hanya sampai disitu saja, bahkan Javascript juga diajarkan di sekolah-sekolah dan kampus. Sejak dulu saya kuliah sampai sekarang, saya sering mengembangkan aplikasi berbasis web ataupun aplikasi mobile juga mengandalkan Javascript.
Dulu saat saya belajar Javascript memang sering menemukan banyak hal yang perlu penyesuaian (baik logika ataupun sintak), karena memang saya berangkat dari bahasa pemrograman yang lain. Sebenarnya, Javascript memang bukan bahasa pemrograman yang pertama saya pelajari.
Akhir-akhir ini Javascript menjadi popoler dan banyak digunakan, tapi dilain sisi banyak juga orang yang mempertanyakan sebabnya. Kepopuleran Javascript sudah pernah saya ulas di tulisan Javascript menjadi bahasa pemrograman paling populer di 2021.
Tapi karena penasaran dengan hal sebaliknya, Saya kemudian mencoba mencari tahu dan mengumpulkan alasan kenapa banyak orang menganggap Javascript kurang bagus dibanding (Java, C,dan lainnya) terutama untuk bagian backend.
Pada artikel kali ini sebenarnya saya cuma merangkum berbagai alasan dari beberapa programmer yang saya cuplik dari *uora dan situs lainnya.
Alasan Javascript Kurang Bagus untuk Programming
1. Tipe variable tidak jelas
misalnya sebagai berikut:
"1" == 1 // true
"" == 0 // true - string kosong dianggap sama dengan 0.
16 == [16] // true - angka dianggap sama dengan array
"2" - "1" == 1 // true bukankah string
"2" + "1" == 3 // false - hasilnya "21"
2. Fungsi yang hasilnya aneh
[5, 10, 9, 1, 25].sort() // Hasilnya [1, 10, 25, 5, 9]
3. Null dan undefined adalah nilai berbeda
var a;
a === null; //false
a === undefined; //true
4. Eksekusi program yang tidak linier kebawah (sinkronous)
Misal sintaks bahasa C:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 int main() { int 2 = 0; FILE *file; file = fopen("test.txt", "r"); char c; while((c=fgetc(f))!=EOF){ printf("%c",c); } fclose(f); return 0; }
Maka yang dijalankan adalah Synchronous
Sedangkan di Javascript misalnya NodeJs yang dijalankan adalah Asynchronous
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 const fs = require('fs'), path = require('path'), filePath = path.join(__dirname, 'start.html'); fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){ // ini adalah callback function if (!err) { console.log('received data: ' + data); response.writeHead(200, {'Content-Type': 'text/html'}); response.write(data); response.end(); } else { console.log(err); } }); console.log("Baris terbawah ini tampil terlebih dahulu");
5. Pengisian variabel
contoh:
i=9 // valid & dianggap i adalah variabel global
variabel tanpa kata var dianggap sebagai variabel global
Tapi coba dengan ini:
1 2 3 4 5 6 7 8 9 10 11 function hello(x) { if(x === 0) { var y = 20; } return y; }
Bila fungsi hello diisi angka selain 0 akan menghasilkan undefined. Tapi bila diisi dengan 0 akan menghasilkan nilai 20, padahal bila dilihat dari sintak diatas var merupakan variabel lokal (karena ada kata var) dan terletak didalam scope if.
Kesimpulan
Beberapa poin yang telah ditulis diatas merupakan masalah serius yang seharusnya dapat segera diperbaiki agar tidak menimbulkan masalah kedepan. Beberapa hal diatas mungkin baru termasuk sebagian yang ditemukan dan menyebabkan Javascript dianggap jelek untuk digunakan, sehingga banyak yang menyarankan untuk menggunakan Typescript atau menggunakan penyempurnaan javascript di ES5.
Disini saya tidak membela Javascript tapi cuma menawarkan Solusi yang saya temukan:
Pada masalah variabel disarankan untuk menggunakan let dibanding var, sedangkan masalah Array di point 2 diatas sebenarnya penggunaan sort dengan hasil yang benar sudah pernah saya bahas diartikel cara menampilkan rangking di javascript. Sedangkan untuk masalah synchrone dan asynchrone poin 4, malah menjadi keunggulan javascript untuk menangani optimasi permintaan data disisi service untuk FrontEnd.
Dilain sisi memang Javascript memiliki berbagai keunggulan yang membuatnya dianggap pantas menjadi paling bahasa pemrograman populer 2021.
Bagaimana menurut anda? apakah setuju bahwa Javascript memang jelek. Silahkan tinggalkan opini atau juga saran bila anda punya solusi dari kekurangan Javascript diatas.
Tidak ada komentar:
Posting Komentar