javascript - 为什么浏览器不解释更多的编程语言?

标签 javascript php browser

<分区>

虽然有大量的编程语言,但只有少数编程语言可以被浏览器解释。 <script>标签有一个类型属性,可以设置为 javascript 或 ecmascript。 php 可以嵌入到带有 <php [code] ?> 的 html 中标签。为什么没有类似的机制来嵌入 python/haskell/c/etc?它们缺少浏览器环境(例如 javascript 的“文档”对象和 php 的 superglobals),但可以将类似的环境构建为这些语言的模块。许多编程语言都有 cgi 模块,因此有先例。

最佳答案

大多数浏览器解释一种编程语言:JavaScript。

Internet Explorer 还支持(或支持)VBScript。有(或几年前)有一个插件可以为 IE 添加对 PerlScript 的支持。

他们不支持更多,因为如果一种浏览器引入了支持,那么任何使用该语言编写代码的人都只能在一种浏览器上运行,而无法完成他们在 JavaScript 中无法完成的任何事情。十年前,这对微软来说不是问题,因为他们在市场上占据主导地位,对企业内部网来说更是如此。今天,情况发生了变化。

PHP 不被浏览器解释,在 WWW 的上下文中,它在服务器上进行处理。您可以在服务器上使用您喜欢的任何语言,包括 Python、Haskell 和 C。最近我一直在使用 Perl(通过 Apache+FastCGI)和 JavaScript(通过 Node.js)。

相当多的语言都允许您将代码直接嵌入到 HTML 文档中(例如 Perl 的 Mason)。但是,通常首选使用模板 DSL(例如 Template-Toolkit、Smarty 或 Handlebars)将显示逻辑与其他逻辑分开。

关于javascript - 为什么浏览器不解释更多的编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947558/

相关文章:

php - 在这种情况下,PHP 是否会泄漏内存?

javascript - 选择打印预览时如何触发javascript函数

php - 从范围中选择数字

php - 正则表达式mysql问题

javascript - 在将参数传递到 Jade 文件时,我可以(如何)使用 Jade 速记吗?

php - Onload : If UserID in database exists, 将 javascript 变量设置为 true

javascript - 在javascript中下载后如何打开excel文件?

java - 在我的桌面应用程序中需要一个网络浏览器

javascript - 如何延迟内联 javascript 加载时间?

javascript - 将 anchor 标记与特定的 href 相匹配