Trước hết, hãy nhớ rằng tác giả của tuyên bố trên đang nói về phát triển trang web. Vì vậy, anh ấy lo lắng về sự phát triển của bài thuyết trình , và đó là nơi anh ấy nghĩ Scala sẽ không phải là một lựa chọn tốt ...
Phải nói rằng, tôi có một kinh nghiệm tốt về phát triển web. Tôi đã làm việc ít nhất 8 năm với nó, 5 trong số đó trong các cơ quan kỹ thuật số.
Và, vâng, theo kinh nghiệm của tôi, một ngôn ngữ được biên dịch tĩnh, được biên dịch ở lớp trình bày có thể là một trở ngại lớn. Nội dung cần được thay đổi liên tục, thường xuyên hơn nhiều so với yêu cầu kinh doanh. Và thông thường, điều này cần được thực hiện bởi một nhóm riêng biệt (các nhà phát triển "front-end"). Họ thường biết rất nhiều về HTML, JavaScript, tiêu chuẩn web, CSS, nhưng không biết nhiều về các ngôn ngữ phía máy chủ như Java và C #. Họ cũng cho rằng bất kỳ loại thay đổi nào trong mẫu đều có sẵn ngay lập tức ; chúng không được sử dụng để biên dịch và gõ lỗi. Và họ đã đúng: các ngôn ngữ gõ tĩnh rất tốt cho các yêu cầu khó, phức tạp, như truy cập dữ liệu và quy tắc kinh doanh, nhưng không tốt cho phát triển giao diện.
Trên thực tế, đó là một trong những lợi ích chính của việc sử dụng ngôn ngữ mẫu chuyên biệt và được diễn giải như Velocity . Nó dễ sử dụng, sức mạnh và tính linh hoạt là đủ cho các nhà phát triển lớp trình bày. Và sau đó những kẻ ở phía máy chủ có thể tự do sử dụng một ngôn ngữ được gõ tĩnh, nghiêm túc ở mọi nơi khác ...
Tuy nhiên, tôi cũng đồng ý rằng Scala có phần khác biệt. Đồng thời ít dài dòng và biểu cảm hơn nhiều so với Java, tôi tin rằng nó có thể được sử dụng để phát triển bản trình bày - vì vậy có lẽ nó có thể được sử dụng thành công như một ngôn ngữ mẫu. Và nếu nó cũng có thể được kết hợp với một khung như Play (sẽ biên dịch trang web một cách tự động sau mỗi thay đổi), thì đó có thể là một IMHO chiến thắng. Tuy nhiên, ngay cả Play cũng đã chọn ngôn ngữ mẫu giống như Groovy (động), đây không phải là một dấu hiệu tốt.
Tóm lại: vấn đề với Scala liên quan nhiều hơn đến thực tế là nó được biên dịch. Trong thực tế cơ chế suy luận kiểu của nó làm cho bạn gần như quên nó cũng là tĩnh đánh máy.
(Và xin lỗi về tiếng Anh của tôi. Hãy cho tôi biết nếu có gì đó không rõ ràng, tôi sẽ cố gắng sửa nó.)
Button
khiWebControl
chứa tất cả thông tin bạn cần và tất cả các điều khiển đều được lấy từ nó.