Saya tahu Perl terbaik, jadi saya akan memilihnya.
Perl mencoba banyak ide. Beberapa bagus. Ada yang buruk. Beberapa asli dan tidak disalin secara luas karena alasan yang baik.
Salah satunya adalah gagasan tentang konteks - setiap pemanggilan fungsi dilakukan dalam daftar atau konteks skalar, dan dapat melakukan hal-hal yang sepenuhnya berbeda dalam setiap konteks. Seperti yang saya tunjukkan di http://use.perl.org/~btilly/journal/36756 hal ini menyulitkan setiap API, dan sering menyebabkan masalah desain yang halus dalam kode Perl.
Yang berikutnya adalah ide untuk mengikat sintaks dan tipe data secara lengkap. Ini mengarah pada penemuan dasi untuk memungkinkan objek untuk menyamar sebagai tipe data lainnya. (Anda juga dapat mencapai efek yang sama menggunakan overload, tetapi dasi adalah pendekatan yang lebih umum di Perl.)
Kesalahan umum lainnya, yang dibuat oleh banyak bahasa, adalah memulai dengan menawarkan pelingkupan dinamis daripada leksikal. Sulit untuk mengembalikan keputusan desain ini nanti, dan mengarah pada kutil yang tahan lama. Deskripsi klasik dari kutil tersebut di Perl adalah http://perl.plover.com/FAQs/Namespaces.html . Perhatikan bahwa ini ditulis sebelum Perl menambahkan our
variabel dan static
variabel.
Orang-orang secara sah tidak setuju pada pengetikan statis versus dinamis. Saya pribadi suka mengetik dinamis. Namun penting untuk memiliki struktur yang cukup untuk membiarkan kesalahan ketik ditangkap. Perl 5 melakukan pekerjaan dengan baik dengan ketat. Tapi Perl 1-4 salah. Beberapa bahasa lain memiliki checker yang melakukan hal yang sama dengan ketat. Selama Anda pandai menegakkan pemeriksaan serat, itu bisa diterima.
Jika Anda mencari lebih banyak ide buruk (banyak di antaranya), pelajari PHP dan pelajari sejarahnya. Kesalahan masa lalu favorit saya (sudah lama diperbaiki karena menyebabkan banyak lubang keamanan) adalah default untuk mengizinkan siapa saja untuk mengatur variabel apa pun dengan mengirimkan parameter formulir. Tapi itu jauh dari satu-satunya kesalahan.