2012-01-20 45 views
51

Tại sao trình duyệt không thêm hỗ trợ cho, ví dụ, kịch bản Python thay thế cho Javascript? Hoặc các ngôn ngữ kịch bản lệnh có mục đích chung hơn? Có một lý do Javascript là người duy nhất được triển khai trên các trình duyệt không? Sau khi tất cả, thẻ script có hỗ trợ để chỉ định ngôn ngữ kịch bản được sử dụng.Tại sao javascript là ngôn ngữ kịch bản lệnh phía máy khách duy nhất được triển khai trong các trình duyệt?

(Tôi biết có hỗ trợ VBScript trong IE, nhưng có vẻ như đã lỗi thời cho tất cả các tính năng.)

+0

Đây là loại câu hỏi trùng lặp, xem: http: // stackoverflow.com/questions/340019/what-are-the-best-client-side-script-ngôn ngữ-out-there – nycynik

+2

@TomaszNurkiewicz Tôi đã nhìn thấy Dart. Nhưng sau đó câu hỏi đặt ra - tại sao phát minh ra một ngôn ngữ kịch bản hoàn toàn mới cho điều này khi các trình duyệt không hỗ trợ ngay cả các ngôn ngữ kịch bản phổ biến hiện có. –

+2

IE vẫn hỗ trợ vbscript. Tôi nghi ngờ nó được sử dụng nhiều nữa - có thể trên một số mạng nội bộ của công ty. – gilly3

Trả lời

36

Vâng, Google đang cố gắng thực hiện xu hướng đó với Dart. Cộng đồng không hoàn toàn tiếp nhận ý tưởng; hoặc.

Google proposed adding multiple VM support for Webkit không giảm tốc độ rất tốt.

Một bình luận đặc biệt tóm tắt nó lên độc đáo là tại sao đã có một số đề kháng với rằng:

Trong trường hợp này các tính năng được phơi bày ngôn ngữ lập trình bổ sung cho các web, một cái gì đó mà không cần bất kỳ lợi ích thực sự cho bất cứ ai khác so với người hâm mộ của ngôn ngữ "tuyệt vời nhất" hiện tại (cách đây không lâu có thể là Go, một năm hay lâu hơn trước đây sẽ là ruby, trước python, tôi nhớ lại sự nổi tiếng của haskell trong thời gian dài không lâu trước đây) , Lua đã được trên verges trong một thời gian dài, trong trường hợp này nó Dart - ai nói rằng sẽ không có một ngôn ngữ hoàn toàn khác nhau trong thịnh hành trong 6 tháng?), Nhưng như là một chi phí nó mảnh web và thêm một gánh nặng bảo trì bổ sung đáng kể - chỉ cần duy trì các ràng buộc v8 và jsc không phải là tầm thường và chúng cho cùng một ngôn ngữ.

Vấn đề ở đây không phải là "chúng tôi có thể tạo nhiều vms trực tiếp trong webkit", "chúng tôi có thể hiển thị nhiều ngôn ngữ cho web", trước đây tôi nói rõ ràng như chúng tôi đã làm, không muốn. Trừ khi chúng tôi muốn biến webkit thành công cụ mà mọi người ghét vì tất cả "tính năng" độc đáo của nó phá vỡ web mở, một số trình duyệt nhất định vào cuối những năm 90.

CoffeeScript là một ví dụ khác về ngôn ngữ kịch bản phía máy khách đang nổi lên. Tuy nhiên, thay vì hỗ trợ một máy ảo khác trong trình duyệt (như Google đang cố gắng làm với Dart), nó biên dịch thành JavaScript. Có một số khác "biên dịch X để JavaScript" mà làm điều đó là tốt. emscripten là một ví dụ điển hình về việc biên soạn LLVM thành JavaScript.

Vì vậy, có rất nhiều ngôn ngữ khách hàng khác; họ chỉ sử dụng JavaScript làm trung gian. Tôi cho rằng đó cũng là điều mà Dart cũng làm, mặc dù they have some room to improve.

+13

Vì vậy, hỗ trợ nhiều ngôn ngữ hơn được coi là chống lại web "mở" ... Sự trớ trêu! –

+0

vấn đề là trình duyệt sẽ cần phải triển khai thông dịch viên mới cho từng ngôn ngữ mới, trừ khi ... – PedroD

+0

"bất kỳ lợi ích thực sự nào cho bất kỳ ai ngoài người hâm mộ của ngôn ngữ" tuyệt vời nhất "hiện tại (cách đây không lâu có thể là , một năm hoặc lâu hơn trước đây điều này sẽ có được ruby, trước khi so với python, tôi nhớ lại tôi tăng nhanh trong haskell ... "- Vì vậy, những ngôn ngữ này là cũ và javascript là ngôn ngữ hiện đại nhất! Javascript là, đã và sẽ ngôn ngữ tuyệt vời nhất mà mọi người sẽ vui vẻ sử dụng trong 100000 năm tới !!! Super !!! Chúng tôi yêu thích javascript bởi vì các trình duyệt thị trưởng hỗ trợ nó – les

1

Bởi vì JavaScript là những gì mọi trình duyệt khác được hỗ trợ, và các nhà cung cấp trình duyệt có hai ưu tiên chính:

  1. Đảm bảo các trang web hiện có hoạt động (yêu cầu JavaScript)
  2. Cho phép tác giả hiển thị nội dung người dùng trong trình duyệt mà họ không thể thực hiện trong các trình duyệt khác (thay đổi ngôn ngữ lập trình sẽ bị ẩn hoàn toàn khỏi người dùng).
+5

Đó không phải là một đối số, nhưng một sai lầm hợp lý. Về cơ bản, bạn đang nói “X, vì X”. Lập luận tròn đơn giản và do đó không hợp lệ. Ngoài ra, đó là một sự “tuyệt đối kháng cáo đến đa số” cổ điển. – Evi1M4chine

+9

nói về logic, đúng bình luận của bạn là, nhưng nói về thực tế và thị trường, chính xác nó không phải là. – flow

+1

Nếu nó hợp lý và hợp lý với bạn tại sao không hỗ trợ thay vì thừa nhận rằng thị trường là vô lý và thực tế hút, có thể họ làm nhưng tôi muốn hy vọng rằng chúng tôi có thể sửa chữa mọi thứ. –

4

Internet Explorer hỗ trợ bất kỳ Windows Script Engine, vì vậy bạn có thể làm cho nó hỗ trợ bất kỳ ngôn ngữ nào đã được triển khai dưới dạng ngôn ngữ hoặc tự viết.

Các vấn đề liên quan