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

时间:2014-04-08 20:31:33

标签: javascript php browser

虽然有大量编程语言,但浏览器解释的编程语言数量很少。 <script>标记具有可以设置为javascript或ecmascript的type属性。 php可以嵌入带有<php [code] ?>标记的html中。为什么没有类似的嵌入python / haskell / c / etc的机制?他们缺乏浏览器环境(例如javascript的'document'对象和php的超级全局),但类似的环境可以构建为这些语言中的模块。许多编程语言都有cgi模块,因此有一个先例。

2 个答案:

答案 0 :(得分:6)

大多数浏览器都会解释一种编程语言: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)将显示逻辑与其他逻辑分开。

答案 1 :(得分:5)

浏览器通过使用插件来解释更多语言。想到了Flash和Java。 PHP不是浏览器解释的,它由服务器处理,服务器将纯HTML发送到浏览器。 Javascript是一个例外,它在没有插件的情况下工作。

相关问题