Tôi biết Perl tốt nhất, vì vậy tôi sẽ chọn nó.
Perl đã thử nhiều ý tưởng. Một số đã tốt. Một số là xấu. Một số là bản gốc và không được sao chép rộng rãi vì lý do tốt.
Một là ý tưởng về bối cảnh - mọi cuộc gọi chức năng diễn ra trong danh sách hoặc bối cảnh vô hướng và có thể thực hiện những điều hoàn toàn khác nhau trong mỗi bối cảnh. Như tôi đã chỉ ra tại http://use.perl.org/~btilly/journal/36756 điều này làm phức tạp mọi API và thường dẫn đến các vấn đề thiết kế tinh tế trong mã Perl.
Tiếp theo là ý tưởng buộc kiểu cú pháp và kiểu dữ liệu hoàn toàn. Điều này dẫn đến việc phát minh ra cà vạt để cho phép các đối tượng giả trang thành các loại dữ liệu khác. (Bạn cũng có thể đạt được hiệu ứng tương tự bằng cách sử dụng quá tải, nhưng buộc là cách tiếp cận phổ biến hơn trong Perl.)
Một lỗi phổ biến khác, được thực hiện bởi nhiều ngôn ngữ, là bắt đầu bằng cách cung cấp phạm vi động thay vì từ vựng. Thật khó để hoàn nguyên quyết định thiết kế này sau đó, và dẫn đến mụn cóc kéo dài. Mô tả kinh điển về những mụn cóc trong Perl là http://perl.plover.com/FAQs/Namespaces.html . Lưu ý rằng điều này đã được viết trước khi Perl thêm our
các biến và static
biến.
Mọi người hợp pháp không đồng ý về gõ tĩnh so với động. Cá nhân tôi thích gõ động. Tuy nhiên, điều quan trọng là phải có đủ cấu trúc để bắt lỗi chính tả. Perl 5 làm tốt công việc này với sự nghiêm ngặt. Nhưng Perl 1-4 đã sai điều này. Một số ngôn ngữ khác có trình kiểm tra lint làm điều tương tự như nghiêm ngặt. Miễn là bạn giỏi về việc thực thi kiểm tra xơ vải, điều đó có thể chấp nhận được.
Nếu bạn đang tìm kiếm nhiều ý tưởng tồi hơn (rất nhiều trong số đó), hãy tìm hiểu PHP và nghiên cứu lịch sử của nó. Lỗi quá khứ yêu thích của tôi (đã được sửa từ lâu vì nó dẫn đến rất nhiều lỗ hổng bảo mật) đã được mặc định cho phép bất kỳ ai đặt bất kỳ biến nào bằng cách chuyển các tham số của biểu mẫu. Nhưng đó là xa sai lầm duy nhất.