Java语言的开发是否超出了其最初的设计意图?


10

我一直在和一个朋友谈论Javascript的目的,何时以及如何使用Java等。他引用了以下内容:

JavaScript旨在向HTML页面添加交互性

[...]

JavaScript为HTML设计人员提供了一种编程工具

  • HTML作者通常不是程序员,但是JavaScript是一种脚本语言,语法非常简单!几乎任何人都可以在其HTML页面中放入小的“代码段”代码JavaScript可以对事件做出反应
  • 可以将JavaScript设置为在发生某些情况时执行,例如页面加载完成或用户单击HTML元素时,JavaScript可以读写HTML元素
  • JavaScript可以读取和更改HTML元素的内容JavaScript可用于验证数据
  • 在将表单数据提交到服务器之前,可以使用JavaScript对其进行验证。这样可以节省服务器的额外处理
  • JavaScript可用于检测访问者的浏览器-JavaScript可用于检测访问者的浏览器,并(取决于浏览器)加载专门为该浏览器设计的另一个页面。
  • JavaScript可用于创建cookie-JavaScript可用于在访问者的计算机上存储和检索信息。

但是,似乎Java的用途已经比这些天大得多。我的朋友还主张不要使用Javascript的OOP功能,并声称“您不应该处理数据,而只是进行验证”。JavaScript是否真的仅限于验证数据和在网页上制作精美的图形?

他继续声称“您不应该尝试通过javascript访问数据库”,并且还说:“通常,您不想使用JavaScript进行繁重的工作”。我不能说我同意他的观点,但我想对此提供更多意见。

所以,我的问题是:Javascript是否已从上面的定义演变为更强大的功能,我们的使用方式有所变化,还是我完全错误?尽管我意识到这是一个主观的问题,但我找不到关于它的更多信息,因此,如果没有其他任何联系,那么可以使用几个链接。我不是在寻找辩论,只是在寻找答案。


我还想知道“谁”正在推动它这样做,为什么?
NoChance 2012年

1
我将把您的朋友在1998
放进去。– Erik Reppen 2013年

Answers:


21

认为JavaScript不是编程语言的人就是您不应尊重JavaScript的人。

JavaScript是一种受Scheme语义和Java语法有机启发的语言。它的最初目的不是一般性的,但现在已经变得如此。

JavaScript作为一种语言,适合于几乎所有任务。看一下例如node.js的示例,其中JavaScript可以访问由IO功能组成的主机环境,从而可以将其用于通用服务器端编程

我的朋友还主张不要使用Javascript的OOP功能,并声称“您不应该处理数据,而只是进行验证”。JavaScript是否真的仅限于验证数据和在网页上制作精美的图形?

不,JavaScript是一种编程语言,如果您想表示数据结构,算法和逻辑,请使用该语言提供的工具。具体来说,一等函数和原型是强大的工具。

他继续声称“您不应该尝试通过javascript访问数据库”,并且还说:“通常,您不想使用JavaScript进行繁重的工作”。我不能说我同意他的观点,但我想对此提供更多意见。

错误的是,在浏览器中,我们有一个名为indexedDB的数据库,可以使用JavaScript进行访问。这是一个直接在浏览器中烘焙的数据库,如果您想使用它(应该使用),则可以使用JavaScript。

还要注意,mongodb和couchdb都允许您使用javascript直接在数据库上运行临时查询。

至于繁重的工作,他是部分正确的。如果您要进行繁重的工作,则应该使用C或erlang。尽管注意“繁重”一词含糊不清,例如,我不会使用JavaScript编码或解码视频,但我不会使用JavaScript(使用C)进行图像处理。我不会在JavaScript中使用数字运算(使用fortran)。

Javascript是否已从上述定义演变为更强大的功能,我们使用它的方式已更改,或者我只是错误的

JavaScript的编写历时2周,只是为了将次要的脚本功能添加到HTML中。从那以后,它发展迅速。自ES3(1999)起,它已成为一种功能强大的通用编程语言。


我也是这么想的 现在,我只需要弄清楚如何将其传达给我的朋友。
艾略特·邦纳维尔

@ElliotBonneville我可以建议一个大泡沫线索吗?

哈哈哈,可以。:) 那真好笑。
艾略特·邦纳维尔

“强大的通用编程语言”,也就是充满陷阱,将永远呆在那里,因为向后兼容的:codeproject.com/Articles/182416/...
书斋

@Den是的,它有些陷阱,但是C,C ++,PHP和Java也是如此。
雷诺斯

9

您朋友的视野实际上已经过时,并且错过了自Google发布GMail以来发生的一切。

现在,这是否意味着Javascript的开发超出了其最初的设计意图?有点。但是请不要忘记设计会同时更改,并且将来会根据开发人员的新需求进行更改。这对于其他流行语言也有效。例如,当发布C#的第一个版本时,没有人期望在设计中允许动态代码。现在DLR可用了几年。


2

语言总是超越我们一开始的想法。与C(或C ++)开头的任何人交谈,是否有人认为这种语言现在几乎随处可见。我不这么认为。

每种语言都会赢得更多学习/进一步发展。

我同意Javascript是/仍然是一种不太懂的语言,您的朋友不是唯一的一种。问题不在于语言X或Y不好/没用,而是要永远保留这个想法。在计算机科学/ IT中,一切都会快速改变,并且在将来仍然会发生很大变化。

这就是为什么在框外保持学习/思考很重要的原因...


我认为许多人都无法合理地说JavaScript 仍然是一种不受欢迎的语言。实际上,我认为这是世界上最受欢迎的语言。
Jim G.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.