编程的第五个十年:J也适用于JavaScript

第五章,非常个人化的编程历史。 在此处阅读第1部分

不,另一个左

在上一篇文章中,我可能疏远和激怒了Java祭坛上的数百万虔诚的信徒。 这周,我还应该继续激怒另外几百万狂热的JavaScript爱好者,他们比生活本身更爱JavaScript。

Netscape无疑在Java的成功中起了很大的作用,但是在采用Java的同时,Netscape正在同时开发自己的竞争性语言,这有一天会威胁到Java的统治地位。 它最初是以LiveScript的名称开发的,但随后,营销人员相当混乱地选择从Sun获得许可,以便他们可以将其命名为JavaScript语言。

这是令人困惑的,因为尽管从理论上讲JavaScript具有与Java类似的继承性(它是C,SmallTalk和Self的ALGOL子代,以及Scheme¹的风格),但实际上,除了名称之外,两者几乎没有什么共同点。 我不会涉及无聊的技术细节。 足以对程序员说:JavaScript与Java几乎没有共同之处。

尽管越来越多地使用Java编写浏览器将下载的“服务器端”代码和“小应用程序”,然后将它们作为单独的应用程序运行在沙盒中² ,但由于它是唯一的事实,JavaScript缓慢但必不可少, 浏览器 语言。 程序员可以使用JavaScript编写代码,以在HTML页面运行时对其进行更改。

最初,它用于执行验证之类的工作:确保以正确的格式输入数据,例如,确保人们没有在数字字段³中输入字母。 但是,它最终变得更加重要。 在2005年,Jesse James Garrett出版了Ajax:Web应用程序的新方法 ,为程序员提供了一个使小程序下载过时的方法。

Ajax代表: 异步JavaScript和XML ,并且在Garrett的论文使之流行之前,该基本技术已经使用了几年。 它使用JavaScript来动态更改网页,而无需重新加载HTML。

在本系列的第三篇文章中,我将解释:

“当您与网页进行交互时,您至少要处理十几个抽象层。 您单击的“按钮”实际上是操作系统捕获的屏幕区域,并传递到Web浏览器,然后将其与内存中的映射进行比较,该映射是由“文档对象模型”生成的解释HTML(以及CSS和JavaScript)”

Ajax的工作方式是修改内存中的文档对象模型(DOM),这将导致像素渲染在屏幕上发生更改,而无需重新加载整个页面。

DOM规范对Java和JavaScript都具有“吸引力”,但是因为JavaScript 内置在浏览器中,所以JavaScript具有明显的优势,并且Ajax模式几乎被普遍用作创建动态网页的技术。 在一年之内,AJAX的几种“框架”实现得以发布,您可能听说过(如果您从事IT工作)其名字叫jQuery

这就是JavaScript受欢迎的起源。 从那时起,已经有了许多用JavaScript编写的公共领域软件。 与Java以及之前的Objective-C一样:丰富的预编写应用程序组件类库似乎是编程语言成功的关键。

尽管它广受欢迎,但我认为JavaScript也不具有革命性。 在我眼中,这只是添加了新功能(当然有些怪异的功能)的Another SmallTalk克隆,这使得编写不良程序变得非常容易。

在千年初期,像Salesforce.com这样的公司已经向IT部门证明,不仅可以通过Web交付应用程序,而且与必须通过软盘或CD安装的胖应用程序相比,用户更喜欢它们。 随着IT部门采用这种技术,形成了两个阵营:用Java编写的“开发团队”和用HTML,CSS和JavaScript编写的“前端”团队(或Web集成商)。

Netscape开发了一种称为LiveWire Pro Web的服务器端Java脚本实现,但是它从未实现Java的普及。 但是,Ryan Dahl在2009年创建了一个名为Node.js的新服务器端JavaScript实现。

自从Node.js可用以来,许多具有硅谷或创业文化的公司一直在前端和后端(服务器端)使用JavaScript。 这些公司以及为他们工作的程序员与传统部门的大型上市公司的IT部门有着截然不同的文化。

在大多数公司中,这两个阵营在文化,技能,甚至报告结构方面相距甚远,其中Java后端开发人员团队向IT部门报告,而前端团队经常向市场部报告。

尽管如此,使用Node.js的服务器端JavaScript仍在企业IT中立足,公开可用的源代码(出于剪切和粘贴目的)越来越成为JavaScript代码。

这是否足以取代已安装的Java代码库还有待观察。 无论哪种方式,我都预测不会有太大变化。 语言随着每一代程序员的出现而流行。 企业IT项目失败的问题源于手工生产的根本不可扩展性,而不是语言的选择。

“现在不存在,也永远不会存在这样一种编程语言,用它很难编写糟糕的程序。”
〜劳伦斯·弗伦
<-该系列的上一篇文章

[1]一种奇妙的语言,其脚注太小而无法包含。

[2]浏览器外部的数字安全区域。

[3]考虑到JavaScript对数据类型比较宽松的方法,这有点讽刺。

本文是我即将出版的《混沌工厂》一书的节选,该书解释了为什么大多数公司和政府无法编写“有效”的软件,以及如何对其进行修复。

From: https://hackernoon.com/the-fifth-decade-of-programming-j-is-also-for-javascript-dcc3c5d30179

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值