Mengapa JavaScript Adalah Bahasa Pemrograman Masa Depan

JavaScript adalah bahasa pemrograman pertama yang saya ambil. Sebenarnya saya mulai dengan HTML dan CSS. Sama seperti banyak pengembang web lainnya, menggunakan JavaScript adalah hal yang mudah. Ini hanya karena itu menyatu dengan baik dengan HTML dan CSS, dan sebenarnya meningkatkan keterampilan HTML / CSS Anda juga. Saya telah mengembangkan aplikasi dan game dalam berbagai bahasa pemrograman lainnya termasuk Java, Swift, C ++, Dart. Tetapi fleksibilitas yang diberikan JavaScript tidak tertandingi - meskipun itu bisa dianggap buruk untuk pemula karena memberikan lebih banyak opsi daripada yang dibutuhkan untuk melakukan tugas sederhana.

Saat ini, JavaScript adalah salah satu bahasa paling kuat di planet ini karena kinerja dan keberadaannya di mana-mana.

Secara pribadi, saya merasa JavaScript memiliki potensi untuk memasuki begitu banyak industri populer seperti Pembelajaran Mesin dan Analisis Data, di mana Python masih menguasai permainan. Itu bahkan terjadi sekarang dengan alat seperti Tensorflow.js!

Namun ini jelas tidak terjadi pada JavaScript sebelumnya. Sebelumnya, itu adalah bahasa yang lemah, tidak bagus dan tidak disukai. JavaScript adalah untuk "pecundang".

Tapi tidak lagi. Mari kita lihat bagaimana JavaScript mengubah tabel dalam 10 tahun terakhir, mengapa JavaScript menjadi lebih kuat dari sebelumnya, dan mengapa JavaScript tetap ada.

V8: Binatang buas yang menjalankan JavaScript

V8 sebenarnya adalah mesin JavaScript. Apa itu mesin JavaScript, Anda mungkin bertanya? Mesin JavaScript adalah penerjemah yang menjalankan kode JavaScript. Mesin JavaScript dapat diimplementasikan sebagai interpreter standar, atau compiler just-in-time (JIT) yang mengkompilasi JavaScript ke bytecode dalam beberapa bentuk.

V8 adalah mesin JavaScript dan WebAssembly JIT open source Google yang berkinerja tinggi, ditulis dalam C ++. Ini digunakan di Chrome dan di Node.js, antara lain. V8 dapat berjalan mandiri, atau dapat disematkan ke aplikasi C ++ apa pun.

Ini adalah perangkat lunak yang sangat mengoptimalkan kode JS Anda dan mengubahnya menjadi kode mesin untuk dijalankan oleh CPU. Beberapa tugas yang ditangani V8 adalah:

  1. Pengumpulan Sampah
  2. Kompilasi ke kode Mesin
  3. Caching sebaris
  4. Kompresi penunjuk
  5. dan masih banyak lagi pengoptimalan

Faktanya, kompresi pointer adalah teknik yang sangat baru di V8 untuk meningkatkan pengoptimalan memori tanpa berpengaruh pada performa. Jika Anda seorang geek, Anda dapat membaca lebih lanjut tentang cara penerapannya di blog resmi V8.

Kesimpulan dari ini adalah Anda dapat menulis JavaScript dan tidur nyenyak di malam hari karena kode JS Anda ada di tangan yang sangat baik.

Ekosistem dan komunitas yang matang

JavaScript memiliki salah satu ekosistem yang paling matang - jika bukan yang paling matang - yang dapat dimiliki oleh bahasa pemrograman. Komunitas JavaScript sangat luas, dan penghalang masuknya sangat rendah.

Anda dapat menjalankan browser (ditemukan di 100% komputer pribadi), membuka konsol, dan Anda akan menemukan mesin JS menunggu Anda untuk menjalankan kode! Ini tidak pernah terjadi pada bahasa pemrograman lain dengan kerumitan seperti itu.

Seolah-olah komunitas yang luas tidak cukup, kami memiliki sistem paket npmdan yarn. Sebut saja dan ada paket untuk itu di npmregistri - mulai dari membuat string acak hingga menangani aliran dan buffer di JavaScript. Ada pepatah yang sangat terkenal di antara pengembang JavaScript:

Apa yang bisa dilakukan dalam JavaScript, pada akhirnya akan dilakukan dalam JavaScript

Ini lucu, tapi rendah hati, saya percaya ini.

Jika Anda masuk sebagai pemula, sangat kecil kemungkinan Anda menghadapi masalah yang belum pernah Anda alami sebelumnya. Ini karena semua kemungkinan kesalahan untuk masalah JavaScript sederhana mungkin telah ditanyakan dan diarsipkan di situs seperti Stack Overflow.

Kerangka kerja dan pustaka seperti React, Angular, dan Vue membuka jalan untuk bagaimana aplikasi masa depan harus dibangun. Mereka menggeser perspektif menuju deklaratif alih-alih pemrograman imperatif, apa alih-alih bagaimana. Ini memungkinkan pengembang mengembangkan aplikasi berkualitas tanpa mengkhawatirkan kode berkinerja tinggi yang mendasarinya.

Mahahadir

JavaScript hadir di:

  1. Bagian depan (Browser)
  2. Bagian belakang (Node, Deno)
  3. Android / iOS (React Native, NativeScript, dll.)
  4. Desktop (Elektron)
  5. Hibrida (Ionic)

Apa yang membuat ini mungkin? Mesin JS seperti V8 ditulis dalam C / C ++ dan bahkan dapat dikompilasi pada sistem tertanam! Untuk platform lain, karena browser selalu ada (seperti di Andorid / iOS), mereka dikirimkan dengan mesin JS yang kemudian dapat digunakan untuk menjalankan kode JS apa pun, bahkan untuk aplikasi asli dalam kasus React Native.

Kemajuan dan fitur tepi berdarah

Standar JavaScript dipimpin oleh komunitas ECMA-262 TC39, dan wow, orang-orang ini cepat! ECMAScript merilis standar baru JavaScript setiap tahun (lihat fitur ECMAScript2020 baru!). Anda sebagai pengembang bahkan dapat meminta agar fitur baru ditambahkan ke bahasa tersebut.

Misalnya, berikut adalah beberapa fitur baru yang mungkin akan membuatnya menjadi JavaScript dalam waktu dekat:

Anda dapat menemukan semua proposal di sini: Proposal TC39.

JavaScript CEPAT dan TERKALA

Tentu saja, tidak ada yang benar-benar mengalahkan C / C ++ / Rust, tetapi JavaScript adalah yang cepat - dalam arti bahwa V8 dapat menghasilkan kode yang sangat dioptimalkan dengan memantau bagaimana kode Anda dijalankan, menunda bit eksekusi yang tidak digunakan, dan mengoptimalkan segmen kode yang digunakan berulang kali. Apalagi jika dibandingkan dengan kompetitor terdekatnya seperti Python. Dengan kemajuan dalam V8, ini menjadi lebih berkinerja dan efisien memori.

JavaScript (Node) sangat skalabel (dengan superset seperti TypeScript). Berjalan pada arsitektur single thread, orang sering mengkritik Node karena kurangnya lingkungan threading, tetapi kenyataannya itu tidak terlalu menjadi masalah.

Cara Anda menskalakan aplikasi Node tidak sama dengan cara Anda menskalakan aplikasi multi-utas. Node secara harfiah berarti "node" - satu node dalam pohon proses. Node diskalakan dengan menjalankan beberapa instance dan mengelola cluster.

JavaScript memimpin model industri pemrograman yang digerakkan oleh peristiwa asinkron, dan tidak membutuhkan utas untuk menskalakan. Sebaliknya, proses Node individual dapat dibuat untuk menangani dan memanfaatkan inti CPU lengkap. Lebih lanjut tentang penskalaan Node nanti!

Kesimpulan

Saya suka JavaScript, dan menggunakannya saya telah membuat platform pengembang untuk pengembang seperti Anda. Di sana Anda tidak hanya dapat mempelajari JavaScript, tetapi juga berbagai bahasa lain seperti C, C ++, Java, Node, Python, dan banyak lagi! Bergabunglah di sini secara gratis dan belajar dengan pengembang lain langsung dari browser Anda!

JavaScript akan bertahan, dan menguasai industri dekade ini. Apa kamu setuju? Beri tahu saya di akun twitter dan Instagram saya - mari terhubung!