Selama bertahun-tahun saya mengembangkan web dengan JavaScript, saya sampai pada kesimpulan bahwa itu adalah bahasa yang luar biasa kuat, dan Anda dapat melakukan hal-hal luar biasa dengannya.
Ini menawarkan serangkaian fitur yang kaya, seperti:
- Pengetikan dinamis
- Fungsi kelas satu
- Fungsi bersarang
- Penutupan
- Berfungsi sebagai metode
- Berfungsi sebagai konstruktor Obyek
- Berbasis prototipe
- Berbasis objek (hampir semuanya adalah objek)
- Regex
- Array dan Object literals
Bagi saya, hampir semuanya dapat dicapai dengan bahasa seperti ini, Anda juga dapat meniru pemrograman OO, karena ia memberikan kebebasan besar dan banyak gaya pengkodean yang berbeda.
Dengan lebih banyak fungsi kustom yang berorientasi pada perangkat lunak (I / O, FileSystem, perangkat Input, dll.) Saya pikir akan bagus untuk mengembangkan aplikasi bersama.
Padahal, sejauh yang saya tahu, itu hanya digunakan dalam pengembangan web atau dalam perangkat lunak yang ada sebagai bahasa scripting saja.
Hanya baru-baru ini, mungkin berkat Mesin V8, ini telah digunakan lebih banyak untuk jenis tugas lainnya (lihat node.js misalnya).
Mengapa sampai sekarang ini hanya akan diturunkan hanya untuk pengembangan web? Apa yang menjauhkannya dari pengembangan perangkat lunak?
Jawaban:
Baru-baru ini node.js telah membawa pengembangan sisi server ke depan. Jadi, sekarang mungkin untuk menulis JavaScript, untuk pengembangan.
Itu benar. Dalam sejarah, itu belum digunakan sebagai bahasa pengembangan. Tapi, hei, bahkan skrip di lingkungan klien (Agen Pengguna) adalah jenis pengembangan. Bukan?
Alasan utama yang saya dengar dan baca di banyak weblog adalah, orang tidak tahu tentang kekuatan dan keunikannya hingga beberapa tahun terakhir . Apa yang membuat ini terjadi, mungkin bahasa lain melakukan pekerjaan mereka dengan cukup baik, dan tidak ada yang pernah berpikir untuk membuat sesuatu yang paralel.
sumber
Dari sini :
sumber
Mengapa?
JavaScript bahasa yang paling disalahpahami
Kami berada di zaman kegelapan dan masih bagi komunitas pengembangan umum untuk menerima bahwa JavaScript adalah bahasa yang kuat dan serbaguna. Itu tidak mainstream.
Satu-satunya kemajuan baru-baru ini adalah node.js telah menjadi buzz-bertele-tele dan orang-orang mulai menerima bahwa javascript memiliki kegunaan lain ..
Saya telah mengawasi pengembangan JS & HTML5 untuk windows 8 dan reaksi dari komunitas NET. "Ya Tuhan, mengapa?".
Ini hanya fakta bahwa sebagian besar pengembang non-web masih melihat JavaScript sebagai bahasa mainan yang Anda gunakan untuk membuat mereka menggulir menu di browser Anda.
Memang JavaScript tidak selaras dengan "praktik pembangunan modern". Bagi saya JavaScript masih merupakan bahasa peretasan yang saya gunakan dengan vim & internet adalah dokumentasi saya. Tidak ada IDE, tidak ada alat pengembangan, tidak ada auto-complete atau "intellisense", tidak ada klik dan seret GUI.
Di dunia Java dan pengembang .NET mereka terikat dengan GUI & IDE mereka dan tidak akan dapat memprogram di vim.
sumber
Daftar Anda tidak mengandung apa pun tentang menulis file ke sistem, yang merupakan bagian besar dari pengembangan perangkat lunak.
Orang tidak akan berpikir untuk menggunakan JS untuk membangun aplikasi karena itu adalah bahasa skrip de facto untuk web, dan Anda akan selalu menggunakan alat yang tepat untuk pekerjaan itu.
Mengapa menulis hektar JS untuk menulis file ketika itu adalah operasi sepele di Java / .NET / C / C ++?
Dengan mengatakan itu, seperti yang orang lain sebutkan, node.js dan perpustakaannya telah membuat operasi sisi server sepele dan dengan node.js menjadi populer, mempelajarinya akan menjadi keterampilan untuk CV, karena Anda akan dapat mempertahankan / memperluas / membangun aplikasi dengan itu.
sumber
Writing files to the file system has been replaced with HTTP POST.
Tidak jika Anda menulis API yang menangani pos.Sebagian besar bahasa yang umum digunakan lebih kuat dan dirancang lebih baik daripada JavaScript. Semua fitur yang Anda sebutkan didukung oleh bahasa dinamis lain seperti Python atau Ruby yang secara keseluruhan dirancang lebih baik. Dan beberapa fitur yang Anda sebutkan belum tentu diinginkan - banyak yang akan menganggap pengetikan statis dengan inferensi jenis lebih baik daripada pengetikan dinamis, jika Anda punya pilihan.
Saya tidak mengatakan ini untuk diss JavaScript. Saya cukup menikmati bekerja dengan JS ketika mengembangkan web. Tetapi dengan melihatnya secara objektif, JS memiliki sejumlah kelemahan dibandingkan dengan bahasa lain:
Satu-satunya fitur yang benar-benar membedakan JavaScript dari bahasa modern lainnya adalah pewarisan berbasis prototipe (berbeda dengan berbasis kelas), dan keunggulan model ini meragukan karena semua orang hanya menggunakannya untuk meniru warisan berdasarkan kelas pula.
Tidak ada alasan untuk memilih JavaScript jika Anda memiliki pilihan untuk memilih bahasa modern lainnya. Satu-satunya alasan adalah jika itu satu-satunya bahasa yang Anda tahu.
sumber