Apa itu strongly typed programming language?
strongly typed programming language adalah bahasa pemrograman di mana setiap tipe data, seperti integer, karakter, hexadecimal, dan desimal yang terkompresi, sudah didefinisikan sebelumnya sebagai bagian dari bahasa pemrograman tersebut, dan semua konstanta atau variabel yang didefinisikan untuk sebuah program harus dijelaskan dengan salah satu dari tipe data. Beberapa operasi mungkin hanya dapat dilakukan dengan tipe data tertentu.
Definisi Strongly typed mengacu pada ide yang menggambarkan penegakan pembatasan yang ketat dalam mencampur berbagai tipe data dan nilai. Ketika terjadi pelanggaran, kesalahan yang dikenal sebagai pengecualian akan terjadi. Bahasa pemrograman yang ketat menggunakan kompiler bahasa untuk menegakkan kepatuhan tipe data
Keuntungan dan kerugian dari bahasa strongly typed
Bahasa pemrograman ini memiliki manfaat dan kelemahan.
Salah satu keuntungan utama adalah bahwa ia menegakkan seperangkat aturan yang ketat untuk memastikan konsistensi hasil. Selain itu, kompiler dapat dengan cepat mendeteksi objek yang mengirim pesan yang tidak dapat diterima, mencegah kesalahan waktu berjalan. Manfaat lainnya termasuk tidak ada penalti waktu berjalan untuk menentukan tipe, pengembangan yang dipercepat dengan mendeteksi kesalahan lebih awal, dan kode yang lebih dioptimalkan oleh kompiler.
Namun, kelemahan besar dalam menggunakan bahasa ini adalah hilangnya fleksibilitas bagi programmer. Sebagai contoh, dapat mencegah programmer untuk membuat tipe data yang tidak diperkirakan oleh pengembang bahasa pemrograman tersebut. Ini membatasi sejauh mana seseorang bisa kreatif dalam menggunakan tipe data yang ada. Tipe data yang ketat dalam bahasa pemrograman juga membuat lebih menantang untuk mendefinisikan koleksi objek yang heterogen.
Bahasa pemrograman Strongly vs. Loosely
Dalam pemrograman komputer, sebuah bahasa pemrograman dikatakan memiliki tipe data yang Strongly (ketat) jika bahasa tersebut mengharuskan spesifikasi tipe data. Sebuah bahasa pemrograman dikatakan Loosely (longgar), atau lemah, jika tidak mengharuskan spesifikasi eksplisit dari berbagai tipe objek dan variabel. Aturan tipe yang lebih “longgar” dalam bahasa pemrograman yang lemah dapat menghasilkan hasil yang salah atau tidak dapat diprediksi. Bahasa pemrograman ini dapat melakukan konversi tipe implisit saat waktu berjalan.
Dalam bahasa pemrograman, konsep tipe yang ketat dan lemah, atau longgar, terkait tetapi berbeda dengan pengetikan statis dan dinamis. Sebuah bahasa pemrograman yang ketat dapat berupa bahasa dengan pengetikan statis atau dinamis.
Dalam pengetikan statis, pemeriksaan tipe dilakukan saat waktu kompilasi dan menangkap hal-hal seperti fungsi yang hilang, argumen tipe yang tidak valid, atau ketidaksesuaian antara nilai data dan tipe variabel yang diterapkan — sebelum program menjalankan kode yang salah dan berisiko mengalami crash.
Dalam bahasa pemrograman dengan pengetikan dinamis, pemeriksaan tipe terjadi saat waktu berjalan, sehingga kompiler akan mengabaikan argumen tipe yang tidak valid atau data yang tidak sesuai. Jika pemeriksa tipe mendeteksi kesalahan, ia akan memberi tahu pengembang untuk memperbaiki kode agar program tidak crash.
Contoh bahasa Strongly vs. loosely
Berikut adalah beberapa contoh bahasa pemrograman yang ketat dan longgar.
Bahasa pemrograman yang ketat meliputi:
Bahasa pemrograman yang longgar meliputi:
- C
- JavaScript
- Perl
- PHP
- Ruby
- Shell
Kenapa Java adalah bahasa pemrograman yang ketat?
Java dianggap bahasa pemrograman yang ketat karena mengharuskan deklarasi setiap variabel dengan tipe data. Pengguna tidak dapat membuat variabel tanpa menentukan rentang nilai yang dapat dipegang. Setelah dideklarasikan, tipe data variabel tidak bisa diubah.
Kenapa Python adalah bahasa pemrograman yang ketat?
Python dianggap memiliki tipe data yang ketat karena interpreter melacak semua tipe variabel. Python bisa sangat dinamis, karena jarang menggunakan informasi ini untuk membatasi penggunaan variabel.
Apakah C adalah bahasa pemrograman yang ketat atau lemah?
C adalah bahasa pemrograman yang ketat karena tipe variabel harus ditentukan saat mendeklarasikan variabel. Namun, C juga bisa dianggap sebagai bahasa pemrograman yang lemah karena pengguna dapat mengonversi tipe data melalui casting tanpa ada kesalahan dari kompiler.
Kenapa C++ adalah bahasa pemrograman yang ketat?
Bahasa pemrograman C++ dianggap sebagai bahasa pemrograman yang ketat dan memiliki polimorfisme parametrik melalui template. Ini berarti Anda dapat membuat serangkaian tipe data generik dan mewakili tipe data tersebut dengan akurat.
Kenapa C# adalah bahasa pemrograman yang ketat?
C# adalah bahasa pemrograman yang ketat karena semua tipe variabel harus ditentukan, dan semua kesalahan terdeteksi serta ditandai selama kompilasi.
Kenapa JavaScript adalah bahasa pemrograman yang lemah?
Berbeda dengan C#, JavaScript adalah bahasa pemrograman yang lemah karena Anda tidak perlu menentukan tipe variabel sebelumnya.