世界上最流行的编程语言,被Oracle锁在牢笼里......

程序员十年成长手记:从CRUD到抽象思维的认知跃迁 软件开发本质上是问题求解与系统建模的过程,其核心能力不在于掌握某项框架语法,而在于理解技术背后的原理约束与工程权衡。当开发者从‘能跑就行’的增删改查阶段,逐步深入到资源生命周期管理、表达式树驱动的抽象设计、跨栈协同的架构决策,便自然触及性能瓶颈、一致性保障、可观测性治理等高阶工程命题。这一过程高度依赖真实场景驱动的学习闭环——如通过一次支付超时故障溯源 Kestrel 内存模型,或借开源项目被用户反馈倒逼重构 ORM 表达式引擎。技术成长不是知识堆砌,而是将零散经验焊接为可复用的接口契约与场景化决策框架,最 阅读详情

10多年前,国内著名的技术网站JavaEye发表了一个声明:由于Oracle的强硬要求,只能被迫放弃已经运营了7年的JavaEye域名和JavaEye品牌,更名为ItEye。

这件事在当时震动挺大的,很多人是第一次意识到:Java这个名字真是不能随随便便使用的啊!

自己玩玩儿没问题,但是一旦做大,有了商业利益,Oracle的法务团队立刻就把你盯上了。

这也没办法,Oracle拥有Java的注册商标,当它挥舞起法律大棒的时候,几乎无人可以抵挡。

很少有人知道,JavaScript也是Oracle的注册商标!

也就是说,使用JavaScript这个名称也存在当被告的风险。

01

遗产

1995年,Netscape公司的布兰登开发了一个用于浏览器的脚本语言:LiveScript。

同一时期,Sun的 Java 语言正在大火,为了蹭Java的热度,Netscape和 Sun 达成了品牌授权协议,把 LiveScript 改名为 JavaScript,以强调它是Java的“小兄弟”,能和 Java 一起使用。

“Java” 是 Sun 的注册商标,“JavaScript” 这个名字中含有 Java,因此商标必须由 Sun控制。

2009年,Sun被Oracle收购,JavaScript商标也被转入Oracle怀抱。

但是,和Java不同,Oracle虽然持有JavaScript商标,从未认真推出过一款名为 JavaScript 的产品。

它没有推出自己的浏览器,也没有参与JavaScript引擎(V8、JavaScriptCore、SpiderMonkey)的开发。

它虽然也是ECMAScript技术委员会的成员,但不主导标准制定,也没有主要提案。

这件事儿听起来挺魔幻的,Oracle似乎是为了持有而持有。

但是,Oracle却时不时地挥舞法律大棒,维护下自己的权利。

2017年,AppStore的某位开发者收到通知,说其 App的名称(HTML, CSS,JavaScript Snippet Editor)未经授权使用了 “JavaScript” 字样,必须下架。

开发者很无奈,只好把JavaScript改成了JS。

2023年,Oracle又给Cloudflare的首席系统工程师Sid Chatterjee发了一封律师函,要求Sid把“Rust for JavaScript Developers”这个公司的名称改掉,因为它使用了“JavaScript”,侵犯了Oracle的权益。

正是因为如此,一些公司和组织不得不避嫌了,不得不使用一些奇怪的名称:

1.ECMAScript

很多新程序员看到这个名字都很惊讶,明明是JavaScript,为什么起个这么古怪的名字?还有什么ES5、ES6的......

这就是因为当年Netscape想标准化JavaScript的时候,没法用JavaScript这个名字,只好临时以标准化组织ECMA的名字作为占位符,后来干脆转正,变成了ECMAScript。

这个名字实在糟透了,即使是WebScript、DOMScript、HTMLScript都比它好,怪不得JavaScript创始人布兰登说听起来像一种皮肤病。

2.JSConf

使用JavaScript的程序员创建了无数的社区组织,他们想开个会都得避嫌JavaScript,只能叫JSConf。

世界上最受欢迎的编程语言,甚至连一个以其命名的会议都做不到,可悲啊。

02

抗争

2022年9月3号,Node.js的作者Ryan Dahl写了一篇博文,希望Oracle能体面地放弃JavaScript商标,让大家可以自由地使用这个名称。

后来他干脆给Oracle写了一封公开信,再次请求Oracle释放JavaScript商标。

这封信获得了27785名支持者的签署,也包括了各路大牛:

许多人得知 Oracle 竟然宣称拥有 JavaScript 的所有权后都感到震惊,但 Oracle 仍然保持沉默。

2024年11月,Ryan Dahl所在的Deno公司启动了法律程序,正式向美国专利商标局提交申请,要求撤销 Oracle 对“JavaScript”的商标权。

这次申请的理由非常充分:

1.通用性:JavaScript已经成为通用的名称,被全球数百万开发者使用,它不是一个品牌,已经是现代编程的基石。

2.放弃使用:Oracle 多年来未曾以“JavaScript”为名提供任何重要的产品或服务,Oracle 不控制、维护或执行该商标。

3.欺诈:Oracle 在续展商标的申请中提交了误导性证据,居然将将 Node.js 作为 Oracle“商业使用”的证据。

这一次,Oracle强大的法律团队开始发力了。

他们首先时拖延到了最后期限才开始回应,并且很巧妙底对第三项(“欺诈”)发起攻击,说Oracle在续展商标申请时,不但提交了Node.js作为证据,而且也提交了自家产品Oracle JET作为证据。

Oracle JET是啥? 

这是个UI相关的包,使用量极小。

网友@threecheese说,它的 npm 包每周下载量约为 1000 次,有四个包在依赖它,如果你沿着依赖树往下看,几乎全是其他Oracle 包或早已失效的演示/一次性程序。每周 1000 次下载可能全部来自其他 Oracle 项目的 CI 流水线。

经过一系列来回的交锋后,今年6月份,商标审判和上诉委员会驳回了第三项的指控。

但是欺诈并不是案件的核心,“通用性”和“放弃使用”才是,目前这个案件还在进行中。

03

结语

Ryan Dahl在公开信中所说,Oracle能从JavaScript商标中获得的最大价值,就是将其授予公众以后获得的良好声誉。

Oracle为什么不这么干呢?

因为这是Oracle的一种防御性资产,它不需要花钱开发,只要按期续展,并且能在必要时阻止别人滥用或混淆 “Java/JavaScript” 品牌。

一句话总结:放弃无利可图但有风险,保留没成本却有控制力。这也是很多大公司处理“遗产型知识产权”的典型策略。

未来如何,让我们拭目以待吧。

Agent开发学习路径:从Python到K8s的五步扎实进阶 Agent并非黑箱魔法,而是融合业务逻辑、工具编排与基础设施协同的软件系统。其底层依赖Python环境确定性、Linux进程与资源管理、容器化封装规范、Kubernetes声明式调度能力,最终才支撑起感知-决策-执行的智能体闭环。掌握Agent开发,本质是构建端到端的可观测性与可验证性——从pip版本锁、ulimit调优、非root容器启动,到K8s事件驱动调试,每一步都需扎根真实系统行为。本文聚焦零基础学习者如何避开‘速成陷阱’,以Ubuntu 24.04为实验场,通过Python→Linux→容器→K8 阅读详情

相关推荐

编译原理:高级程序语言的定义

高级程序语言是计算机科学与人类思维之间的桥梁。从1957年FORTRAN的诞生,到今天Python、Java、Rust等数百种编程语言百花齐放,高级语言的发展深刻改变了软件工程的面貌。但什么是"高级程序语言"?如何精确定义一门语言?语言的语法、语义、语用如何描述?不同语言范式有何本质区别?本文将系统介绍高级程序语言的定义要素、描述方法和分类体系,帮助您深入理解编程语言设计的核心概念。高级程序语言(High-Level Programming Language)

梁辰兴的博客 541

程序员如何突破技术栈思维牢笼:构建数据-计算-协同三层抽象模型

在分布式系统与多模数据场景日益普及的今天,开发者常因过度绑定特定数据库或编程语言而陷入认知僵化——如用Oracle事务思维约束Flink流处理,或以MongoDB文档灵活性掩盖Schema治理缺失。本质问题并非技术广度不足,而是缺乏对‘数据持久化策略’‘计算意图表达’‘组件协同语义’等基础概念的抽象理解。本文围绕数据一致性模型(CP/AP)、运行时计算范式(JVM/Actor/协程)、通信语义(请求-响应/事件驱动)三大行业高频搜索关键词展开,揭示从PostgreSQL到Kafka、从Java到Rust的技

chuji3953的博客 393

【python】epub的电子书繁体字与简体字转换

中文繁体与简体转换

xiexianyou666的博客 3090

国内软件工程书籍一览

国内软件工程书籍一览(按推荐强烈程度排序)OO/UML《UML 参考手册》,Ivar Jacobson,James Rumbaugh,Grady Booch。姚淑兰,唐发根译。机械工业出版社,2001。《设计模式 可复用面向对象软件的基础》,机械工业出版社,2000。“Software Reuse”,Ivar Jacobson 等著,1997 年出版,世界图书出版公司原版引进。《Oracle 8

无烟会议室的专栏 产品|编程|软件工程|管理|游戏|电子书 6075

SAP-MM-采购申请字段解析

采购申请抬头以及行项目字段解析

yanzibing99的博客 7307

大模型-internvl高通qnn运行源码解读

模型链接:https://huggingface.co/OpenGVLab/InternVL2-2B论文官方简要说明 https://internvl.github.io/blog/2024-07-02-InternVL-2.0中文解读 https://zhuanlan.zhihu.com/p/702946079在线demo https://internvl.opengvlab.com/

点滴的岁月 1833

程序员成长感想

//===============================心与行=================================== 幻想美好的未来是可笑的,大多数人将近90%的概率是平庸的度过一生,他们的未来和现在的处境毫无差别,或者逐渐递减下去,进取的路只有一条,那就是坚持自己的心,坚持自己的心与行... //======================================================================== //================

LHY19950211的博客 281

X书x-mini-sig_x-mini-mua

X书的tiny风控代码,成功运行x-mini-sig|x-mini-mua

Codeooo 博客 1万+

计算机书目

1 统一软件开发过程 机械工业出版社 2 个体软件过程 人民邮电出版社 3 C程序设计(第二版) 清华大学出版社 4 小组软件开发过程 人民邮电出版社 5 程序员大本营2001——Java 2CD+程序员杂志《Java专刊》 程序员杂志社 6 Effective C++中文版 2nd Edition 华中科技大学出版社 7 Essential C++中文版 华中科技大学出版社 8 UML用户指南

sunxysong的专栏 5323

电商数据采集实战——多平台价格监控、比价分析与智能告警系统

在电商竞争日益激烈的今天,价格监控与比价分析已成为品牌商、渠道商和消费者的核心需求。对于品牌商而言,需要监控各渠道售价是否低于指导价(破价监控);对于消费者而言,希望在最佳时机以最低价购入心仪商品;对于数据分析师而言,价格波动数据是洞察市场趋势的金矿。然而,电商数据采集面临三大核心挑战:本文将基于 Python + Scrapy + Playwright + Redis + ClickHouse 技术栈,构建一套完整的电商价格监控与比价系统。架构分层说明:电商平台的反爬手段层出不穷,采集系统必须具备多层次的

从事移动开发八年,csdn博客专家,阿里云特邀专家,华为云云享专家,高级网络信息安全工程师,大数据工程师(高级),python技术开发(高级),HarmonyOS 应用开发者高级认证,现在某学校任教。 136

《AI 时代FPGA的全栈开发实战・从入门到精通》专栏启动说明

《智驱FPGA》专栏面向初学者,聚焦AI时代FPGA开发新范式,以ChatGPT、ICCoder2.0等工具全程辅助,覆盖纯逻辑、Zynq软硬协同、端侧AI加速、高速接口等核心方向。通过126节图文+14个实战项目,传授AI生成代码、Prompt工程、时序优化等能力,助力学员从零成长为具备工程竞争力的FPGA工程师,结业可独立完成完整项目并写入简历。

现任某外企的算法工程师!专注于人工智能、嵌入式、FPGA、论文写作四大主题的教程和经验分享!辅导请➕v :sci666888999 175

程序员如何突破技术栈绑定,建立多范式思维

在现代分布式系统中,单一编程语言与数据库的绑定已成性能瓶颈与扩展障碍。理解数据模型本质(关系/文档/时序)、掌握计算语义与存储选型权,是构建高可用架构的前提。多范式思维强调以业务问题为起点,通过数据契约定义访问模式与一致性要求,再匹配Redis Streams、ClickHouse、Kafka等技术的底层语义,而非经验式堆叠工具。这种能力直接提升系统吞吐、降低延迟、缩短故障定位时间,并支撑千万级用户场景下的弹性演进——本文聚焦中级工程师从功能开发转向系统设计的关键跃迁路径。

xiang_fu的博客 345

OFDM调制解调系统信道估计和均衡算法的MATLAB仿真

然后,从接收到的信号中提取导频序列,并使用LS算法进行信道估计。OFDM(正交频分复用)是一种常用于高速数据传输的调制技术,它将高速数据流分割成多个低速子载波,通过在不同的子载波上传输数据,实现了频域上的正交性。因此,信道估计和均衡算法在OFDM系统中起着至关重要的作用,用于减小信道衰落引起的影响。通过运行上述代码,可以进行基于LS算法的OFDM调制解调系统信道估计和均衡的MATLAB仿真。本文将介绍一种基于LS(最小二乘)算法的OFDM调制解调系统信道估计和均衡算法,并提供相应的MATLAB仿真代码。

uote_e的博客 230

MySQL系统篇,库的操作(三):建库、字符集校验规则与备份恢复

本文系统讲解MySQL数据库创建与管理,聚焦字符集(CHARACTER SET)与校验规则(COLLATE)的核心作用:前者决定字符存储范围,后者影响比较与排序逻辑。通过对比utf8_general_ci(不区分大小写)与utf8_bin(二进制比较)的实测差异,揭示其对查询结果和排序顺序的显著影响。文章还详解CREATE DATABASE语法、IF NOT EXISTS防错机制、命名规范及跨版本兼容性问题,并强调新项目应优先使用utf8mb4以支持完整Unicode。最后提供SHOW CREATE DAT

dasdasfv的博客 315

【100%通过率】华为OD机试真题 Python 实现【最多组合直角三角形个数】【2023 Q1 | 100分】

有N条线段,长度分别为a[1]-a[n]。 现要求你计算这N条线段最多可以组合成几个直角三角形。 每条线段只能使用一次,每个三角形包含三条线段。

MISAYAONE的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选

从订单与库存写入出发,拆解 @Transactional 的代理调用链、默认回滚规则与自调用问题;通过 Spring Boot + H2 的五个验证用例比较 REQUIRED、REQUIRES_NEW、NESTED,并说明数据库事务与 Redis、消息和远程接口的边界。

qq_74421990的博客 332

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Oracle多租户集群PDB异机恢复至单机部署数据库

本文详细演示了将Oracle RAC集群中的PDB(RMAN_PDB)通过RMAN备份恢复至单机CDB的全过程。首先在源库创建测试PDB并插入数据,随后配置RMAN备份路径,备份该PDB及其元数据文件。接着将备份文件传输至单机环境,启动实例并恢复控制文件与数据文件,最后利用DBMS_PDB.EXPOSE_PDB_FROM_RMAN生成PDB描述文件,将其插入新单机CDB中,实现PDB的独立使用。整个流程涵盖数据准备、备份、恢复及插入,完整验证了跨环境PDB迁移的可行性。

qq_57492774的博客 200

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IvorySQL 是怎么把 Oracle 兼容塞进 PostgreSQL 内核的

IvorySQL 以“不重写内核、紧跟 PG 上游”为路径,通过会话级 compatible_mode 实现 Oracle 与 PostgreSQL 方言共存,依托独立解析器和 PL/iSQL 支持存储过程、包、隐式转换等核心特性,兼容性覆盖语法、数据类型、系统视图及扩展生态。其双测试框架保障与上游同步,避免兼容层拖累原生功能。相比 openGauss 等深度改造方案,IvorySQL 更适合存量 PL/SQL 多、欲保生态、追求开源与可迁移性的场景,是 Oracle 迁移中兼具可行性与前瞻性的选择。

u011436548的专栏 243

Oracle日志体系分层结构与故障定位路径

Oracle日志不止是告警日志,实例层、会话层与存储层各司其职。本文按ADR目录结构梳理告警日志、跟踪文件、重做与归档、监听与审计记录的分工,给出挂起转储、会话跟踪、日志挖掘等取证手段的触发条件与代价,并用实例终止、连接风暴、批量作业变慢三个场景推演完整排查路径,附日志治理与常见误区清单。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 233

业务不停服,Oracle 到 PolarDB-O 数据同步落地经验

本文详细介绍通过NineData实现Oracle到PolarDB-O的全量与增量数据同步,涵盖结构复制、全量初始化及持续增量同步全流程。基于可视化向导,无需手动编写脚本,自动推导表结构与键映射,支持一键配置并预检查归档日志、补充日志、权限等前置条件。演示从创建任务、选择对象、配置映射到启动后监控延迟与事件计数的完整操作,助力企业平滑完成国产化迁移。

A1373712651的博客 197

用校园小助手生成ER图:从建表语句到可调布局

从建表语句或自然语言生成,到关系识别、主外键颜色区分,再到布局切换和折叠,校园小助手的ER图功能把画图过程中最耗时的部分交给了工具。它适合大学生论文、研究人员科研、教师教学及企业数据分析等场景,所有功能都在校园小助手平台内实现。下次作业要用ER图时,不妨先从手里的SQL开始。

weixin_74789176的博客 207

Oracle EBS Form 开发:高效设置字段可编辑性的通用写法

这种「遍历块内所有项 + 白名单过滤 + 状态统一控制」的写法,把字段可编辑性的控制逻辑集中到一个过程中,新增或删除受控字段只需修改IN列表,极大提升了 EBS Form 开发的可维护性,值得在项目中沉淀为公共程序单元。

longtimetoc的博客 175

SQLServer常用指令手册

覆盖数据库创建、表与约束、增删改查、查询进阶、索引、视图/存储过程/函数/触发器、事务、权限、运维排查。适用版本:SQL Server 2012 及以上(标注的条目为对应版本起可用)。

lzcbaba的博客 248

ABAP 入门(八):数据库访问基础——SELECT、INSERT、UPDATE、MODIFY、DELETE 与 SY-SUBRC/SY-DBCNT 实测详解

ABAP 技能树系列第 8 篇:Open SQL 新语法下的 SELECT SINGLE、SELECT 到内表、WHERE 条件、排序与聚合,INSERT/UPDATE/MODIFY/DELETE 的行为差异与危险点,SY-SUBRC 与 SY-DBCNT、提交回滚、客户端处理和常见性能错误,所有输出均为 7.57 系统实测结果。

缘起缘灭皆为因果,看到就是缘分,点赞收藏一键三连吧! 164

MySQL数据库和表的操作

本文系统介绍了MySQL数据库与表的基本操作。包括创建、查看、修改和删除数据库,重点讲解字符集与校验规则对大小写敏感性的影响;通过SHOW、ALTER、DROP等命令实现数据库管理;介绍数据备份(mysqldump)与恢复(SOURCE)方法;并详细阐述表的创建、结构查看(DESC)、字段增删改(ALTER TABLE)及表删除操作,涵盖字段类型、注释、索引等关键要素,为数据库开发与维护提供完整指导。

2201_75570391的博客 376
上一篇: 世界首富马斯克,一位写烂代码的高手
下一篇: 程序员们坚守的阵地,又被AI攻陷了一块儿......
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值