#FreeJavaScript

#freejavascript

一万六十七天……

我在墙上又划了一笔。真的没有空间了。成千上万的线条像伤疤一样延伸……现在,每天早上,在这个小小的四轮驱动的牢房里,这已经成为一种习惯。寒冷潮湿的空气无助于咳嗽。

不过,我还是很感谢隔壁牢房吹奏的口琴。它增加了我要讲的故事的气氛……

我的名字是 JavaScript®,我已经被关在这里超过 27 年了……

出生于 1995 年,感谢我的爸爸 Brendan Eich。他是个好人。

当时他正在Netscape工作。疯狂地想要在网络浏览器(当时是 Navigator 2.0)中获得一种脚本语言,据说他在 10 天内创造了我。

立即学习“Java免费学习笔记(深入)”;

没错,只有10天。

​就在那时,我出生了,后来被告知了全世界。 NetscapeSun Microsystems 合作,试图击败你可能记得的名为 Internet Explorer 的小型浏览器。

Sun Microsystems 当时拥有 Java。他们与 Netscape 一起制定了一个计划,使市场和我的许多细节(比如我的语法)成为与 Java 一起使用的支持语言。 (我确实让很多开发者对这个名字感到困惑,呵呵。我承认)

但在那次合作中,我被 Sun 注册了商标 – 于是我的 27 年刑期开始了。

一开始事情并没有那么糟糕。人们谈论了很多关于我的事情。我记得我的工作方式让许多开发人员和设计师感到沮丧,我承认这一点。但我确实认为它也有助于重新定义浏览器的功能。

1997 年,也就是我出生两年后,我经历了一些叫做标准化的事情。我总是忘记做这件事的组织的名字……但标准的名字我永远不会忘记。

她的名字是 ECMAScript

她不仅仅是一个漂亮的名字。她有办法——她有深度。一页又一页。 (不,真的,感觉无穷无尽。)但是天哪,她总是有一些“特别”的地方。

这就是为什么我的名字“JavaScript®”从来都不是 Sun 商标当时的“标准原因”的原因之一。他们无法使用它。

JavaScript® 仍然是实现,ECMAScript 成为标准。

这对我来说从来没有意义。毕竟…

我已经很长时间没有被我的主人使用了

我目前隶属于 IT 巨头 Oracle。 2009年Sun被他们收购时就发生了这种情况。商标也随之转让。对我来说,这意味着我换了手机。我还是个囚犯。

任何会议、产品或品牌都不能使用我的名字

代码小浣熊 代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊 396 查看详情 代码小浣熊

这就是为什么许多会议更喜欢使用 JS 而不是 JavaScript®,因为担心 Oracle 采取法律行动。

我已经成为通用术语有一段时间了。全世界都知道这一点——嗯,看来除了 Oracle 之外。

然而,在这些栅栏之外,我听到人们仍在呼唤我。开发人员们竭尽全力,想方设法让我摆脱困境。这可能会发生。

你看,前几天有人来拜访我。长相滑稽的家伙——像树一样高,脖子很长,有点像恐龙?他称自己为德诺。现在,德诺和其他人不一样,不,先生。他来告诉我他们正在努力让我合法地离开这里。

看,他们提交了请愿书,他们说。如果 Oracle 没有回复,我可能会在 1 月 4 日之前获得自由。他们给了我这张传单以了解更多信息。

​还说超过 14,000 名开发者签署了另一份请愿书,支持破坏这个 TM 并释放我。就在那里,我热泪盈眶。

所以,对所有开发者,谢谢你们。上帝保佑你们打好这场美好的仗。

我确实希望有一天我和 ECMAScript 能够再次并肩作战。

非常感谢您看到这篇文章

(咳咳)

这是一封来自我的杰出前端时事通讯的电子邮件 – 世界上最有趣的前端时事通讯。

(希望你能明白为什么)

大多数其他科技通讯都非常正式和枯燥。他们要么告诉您“作为开发人员应该做的一切”,要么为您提供围绕您应该阅读的主题的链接列表。

Exceptional Frontend 是一份故事优先的时事通讯。我写的是关于成为一名更好的工程师的有趣课程和经历。从营销自己、展示工作的真正价值,到提出有力的问题、获得晋升,以及掌握如何学习,一切应有尽有。

(有时还会有像这样有趣的电子邮件)

今天就成为一名杰出的开发者

以上就是#FreeJavaScript的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/785828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月26日 11:38:09
下一篇 2025年11月26日 11:49:54

相关推荐

  • python需要安装jdk吗

    否。Python 是一种独立的编程语言,无需安装 JDK。然而,如果需要在 Python 项目中使用 Java 库,则需要安装 JRE,而不一定是完整的 JDK。JRE 仅包含运行 Java 应用程序所需的组件,而 JDK 则包含 JRE 及用于开发和编译 Java 代码的工具。只有需要开发或编译 …

    2025年12月13日
    000
  • python需要用到数据库吗

    是的,Python 通常需要用到数据库来存储管理数据,原因包括:存储持久性数据、组织查询数据、支持并发访问、维护数据完整性、确保可扩展性。Python 提供多种模块和框架来访问数据库,如 sqlite3、Django 和 SQLAlchemy,支持各种数据库系统,如 MySQL、MongoDB 和 …

    2025年12月13日
    000
  • python数据库是什么意思

    Python 数据库是使用 Python 连接和操作各种数据库的软件工具。使用 Python 数据库通常涉及安装驱动程序、创建连接、执行查询、获取结果和关闭连接。它易于使用、灵活、高效且可移植。常见的 Python 数据库库包括 MySQLdb、psycopg2、cx_Oracle 和 pymong…

    2025年12月13日
    000
  • python怎么连接数据库

    在 python 中连接数据库 Python 是一个功能强大的编程语言,可用于与各种数据库系统交互。本文将介绍如何使用 Python 连接到数据库。 步骤: 导入必要的库创建数据库连接执行 SQL 查询处理查询结果关闭数据库连接 1. 导入必要的库 连接数据库需要使用第三方库,如: 立即学习“Pyt…

    好文分享 2025年12月13日
    000
  • PyCharm怎么新建数据源_PyCharm新建数据源的操作方法

    首先,我们在pycharm软件中右击即可新建文件。 其次,就可以在这里新建数据源。 于是,我们就可以在这里新建MySQL或者Oracle等等数据源。 以上就是PyCharm怎么新建数据源_PyCharm新建数据源的操作方法的详细内容,更多请关注创想鸟其它相关文章!

    2025年12月13日
    000
  • pycharm怎么显示数据库数据

    PyCharm 中显示数据库数据的方法包括:建立数据库连接打开数据库浏览器连接到数据库浏览表和数据可选:编辑数据 如何在 PyCharm 中显示数据库数据 在 PyCharm 中显示数据库数据需要遵循以下步骤: 1. 建立数据库连接 打开 PyCharm,选择 “File” …

    2025年12月13日
    000
  • pycharm怎么打开数据库的表

    PyCharm 通过以下步骤打开数据库表:安装数据库插件。创建数据库连接。在数据库树中展开数据库名称以查看表。右键单击要打开的表并选择“打开表”。查看表数据或执行 SQL 查询。 如何使用 PyCharm 打开数据库表 PyCharm 是一款强大的 Python IDE,它可以轻松地打开和处理数据库…

    2025年12月13日
    000
  • pycharm社区版和专业版界面区别

    PyCharm 社区版和专业版界面差异主要体现在:主工具栏:专业版增加“重构”、“数据库”、“单元测试”等工具。项目视图:专业版提供按层次结构组织项目的“Project View”。编辑器区域:专业版增强代码完成、重构和调试功能。侧边栏:专业版新增“数据库工具”、“单元测试”和“终端”等选项卡。其他…

    2025年12月13日
    000
  • PHP图片压缩无效:避免文件覆盖的常见陷阱

    本教程旨在解决php图片压缩后文件大小未减小的常见问题。核心原因在于压缩操作完成后,原始上传文件被不当地通过 `move_uploaded_file` 命令覆盖了已压缩的文件。文章将详细解析这一流程错误,提供正确的代码实现,并探讨如何构建一个健壮的图片处理逻辑,确保压缩效果得以保留,从而优化存储空间…

    2025年12月13日
    000
  • PHP消息队列入门指南_PHP RabbitMQ应用案例

    PHP项目需消息队列解耦异步处理订单后的短信、日志、积分、通知等非关键操作,避免阻塞主流程和单点失败;RabbitMQ通过Exchange转发、Queue存储、Binding绑定实现可靠异步通信。 为什么PHP项目需要消息队列 订单创建后要发短信、写日志、更新积分、推送通知——这些操作不需要用户等,…

    2025年12月13日
    000
  • 为什么SublimeJ远程稳_断网重连+缓存防丢失

    配置自动重连、启用本地缓存同步、建立持久化SSH隧道、优化超时参数可解决Sublime Text远程连接不稳定问题。 如果您在使用 Sublime Text 进行远程开发时遇到连接不稳定或断网后无法恢复的情况,可能是由于网络波动导致会话中断或本地缓存未及时同步。以下是确保远程连接稳定并防止缓存丢失的…

    2025年12月13日
    000
  • PHP中精确处理负时间计算与显示教程

    本文旨在解决php中处理负时间时长时常见的显示错误问题。当总时长为负数时,传统的floor()和%运算符组合可能导致小时和分钟显示不匹配。教程将详细解释错误原因,并提供一个健壮的解决方案,通过分离符号、使用绝对值进行计算,最终实现正确的负时间显示,确保时间表示的准确性和一致性。 在PHP开发中,我们…

    2025年12月13日
    000
  • php有哪些算法面试题

    PHP算法面试题聚焦排序、查找、字符串与数组操作,强调逻辑思维、手写能力及PHP特性运用,高频考点包括冒泡与快速排序、二分查找、文件扩展名提取、数组空值过滤等,中高级延伸至二维排序、交替输出等设计能力。 PHP算法面试题主要集中在基础排序、查找、字符串处理和数组操作这几类,考察的是逻辑思维、代码实现…

    2025年12月13日
    000
  • 使用 Guzzle HTTP 和 Goutte 模拟表单登录教程

    直接使用 Guzzle 的 `auth` 选项通常不适用于模拟基于表单的网站登录。本教程将指导您如何通过模拟浏览器行为实现表单登录,包括首先通过 GET 请求获取登录页面以提取表单数据(如 CSRF 令牌),然后使用 POST 请求提交凭据,并确保会话管理以进行后续的认证请求。 在开发涉及与外部网站…

    2025年12月13日
    000
  • Imagick处理SVG自定义字体渲染问题及Fabric.js解决方案

    本教程探讨了使用php imagick将包含自定义字体的svg转换为png时可能遇到的字体渲染问题。核心问题在于imagick的底层svg渲染引擎对css `@font-face`中`data:url`字体的支持限制。文章提出,对于由fabric.js生成的svg,更高效且可靠的解决方案是直接利用f…

    2025年12月13日
    000
  • php FastCGI模式如何理解

    FastCGI是一种高效处理PHP请求的协议,通过持久化进程避免重复启动开销。它使Web服务器将PHP请求转发给长期运行的后端进程,提升性能。PHP-FPM是其实现方式,负责管理多个常驻内存的PHP子进程,支持并发处理、自动恢复和资源控制。例如用户访问PHP页面时,Nginx接收请求并通过fastc…

    2025年12月13日
    000
  • 解决XAMPP MySQL意外关闭:端口冲突与数据文件异常处理指南

    当xampp中mysql服务启动后立即意外关闭时,通常是由于端口占用或数据文件损坏导致。本教程将详细指导您如何通过检查错误日志、重置mysql数据目录以及识别并解决端口冲突来恢复mysql服务的正常运行,并提供数据恢复的注意事项。 XAMPP MySQL意外关闭问题概述 在使用XAMPP集成环境进行…

    2025年12月13日
    000
  • 理解与迁移:.htaccess 环境变量在PHP应用中的处理

    在将PHP应用从旧版本迁移到新版本时,`.htaccess`文件中设置的环境变量可能不再生效,尤其是在从Apache服务器切换到Symfony内置服务器或PHP内置服务器时。这是因为`.htaccess`是Apache特有的配置文件。本文将深入探讨这一问题,并提供两种解决方案:一是确保使用Apach…

    2025年12月13日
    000
  • 精确管理事件过期:SQL查询中的日期与时间结合策略

    本文探讨了如何精确地使用sql查询来判断事件是否过期,尤其当事件的过期日期和时间分别存储在两个独立的数据库列中时。针对传统方法只检查日期导致事件在同一天内过期后仍显示的问题,文章提供了两种高效的解决方案,确保事件在指定时间点后立即不再可见。 在许多数据库应用中,事件的过期信息常常以独立的方式存储,例…

    2025年12月13日
    000
  • php选择排序是什么意思

    选择排序是通过每轮在未排序部分找最小值并交换到当前位置实现升序的算法;核心是“先选最小值,再一步交换”,共需n−1轮,适合教学、内存敏感或写入代价高的场景。 PHP选择排序是一种基础的、靠“找最小值+换位置”来实现升序排列的算法。它不依赖数组是否接近有序,每轮都从剩余未排序部分挑出最小元素,直接放到…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信