写点什么

JavaScript 成为 GNOME 的首选语言

  • 2013-02-28
  • 本文字数:1515 字

    阅读完需:约 5 分钟

GNOME 项目在其最近结束的 Developer Experience Hackfest 上做出了一个备受争议的决定,它们宣布 JavaScript 将作为 GNOME 桌面环境下用于开发应用程序的首选语言。据称,之所以做出这一决定,是为了简化开发流程,从而(使开发者)能够专注于标准的文档、最佳实践和开发者工具。

这个推选 JavaScript 成为主要语言的决定立刻激发了争论,评论者们对 JavaScript 进行了明确的批评,或是感叹他们选择的语言遭到忽视。GNOME 基金会成员及 Hackfest 参与者 Travis Reitter ,列举了做出此决定的若干理由:

  • 我们应选择动态的、高级的语言。
  • 在 GNOME Project 中,JavaScript 已经占据一席之地——它被用于 GNOME Shell 和 GNOME 文档中。
  • 要使一门语言变得非常快速、可嵌入并且与框架无关,需要大量的工作。
  • JavaScript 越来越被视作一门顶级桌面编程语言——它广泛出现在 Windows 8、移动平台和本地 Web 应用中。
  • JavaScript 是独立的——它不带有独有的核心类库,这使得我们更容易将其与平台进行整合。

Reitter 同时提醒到,即使针对应用开发领域做出了这项决定,C 依旧是 GNOME 系统类库的推荐语言。GNOME 选择 JavaScript 并不意味着对其他语言的支持会被忽视,但文档和开发者工具将优先支持 JavaScript。

该公告引来了大量的评论。以下是 Sriram Ramkrishna 的部分评论:

“我认为人们最关心的,是一门语言可能会落后于其他语言的问题。这也正是我们今天所处的境地。所以如果你决定使用另一门语言,将要面临的风险在于,你所使用的语言将无法获得一些重要的升级。对那些使用 JavaScript 之外的其他语言的开发者来说,应该有某种方式来保证他们能够及时看到适合他们所选择语言的升级。

Tristan Van Berkom 向 GNOME 发出了希望能有一门“本土语言”的呼声:

GNOME 需要一门自己的语言,就如同属于苹果的 NextStep Objective-C 实现一样。我之所以这么说,是因为这样一门高级语言的实用性;是因为这门语言是我们平台的一扇窗户,并能够利用平台独有的特性(我在此处所说的平台,是指 GObject/GIO/Clutter/GTK+/ 等等的组合)。

Vala 是非常明显的选择,因为它允许我们对语法进行扩展,并能够利用那些我们平台独有的特性。与使用 Objective-C 利用 NextStep 环境相类似,使用 Vala 能够使我们更容易利用 GtkBuilder 的特性,而且我们应该对 Vala 能够带给我们的未来抱有期望。

Vala 是专为 GNOME 应用开发者们开发的,用于替代 C#和 Java 的选择。然而(GNOME)没有选择它,却选择了 JavaScript。Reitter 这样评论道:

“选择 JavaScript 而不是 Vala 的一个重要原因,是 JavaScript 有着巨大的用户群,人们已经热衷于使用 JavaScript(即,它是 Windows 8、Firefox OS 和其他移动平台的推荐语言),同时人们为了使它更快速和稳定所做的工作也是非常重要的财富。

Keith Curtis 通过一篇独立的博客文章发表了他的评论:

“他们试图使用一门带有垃圾回收机制的语言来编写尽可能多的代码的做法是很棒的。对于一个基于组件的 shell 界面,毫无疑问 JavaScript 要比 C、C++ 或 Java 更好。我注意到,若干年前他们就开始着手于 JavaScript 并向这个目标前进,但我认为他们值得重新考虑一下是否处在正确的道路上。

对于那些重大决定,最好能有书面记录。除了在公布该决定后发表一篇博客文章,我找不到任何支持这个决策的文档, 而那篇文章页没能提供非常详尽的信息。”

与之相对的,KDE 项目的参与者们使用的是 C++。应用开发者们可以从 C++、Python、Ruby、C#和 Perl 中选择。使用 C++、JavaScript、Python、Ruby 和 QML (基本上是对 JavaScript 和 CSS 的融合) 为 KDE 编写的轻量级应用被称为 Plasmoids

查看英文原文: JavaScript Now First Among Equals on GNOME


感谢杨赛对本文的审校。

2013-02-28 22:212826
用户头像

发布了 256 篇内容, 共 75.0 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

鸿蒙网络编程系列32-基于拦截器的性能监控示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙网络编程系列33-TLS回声服务器示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

2024最新1200道互联网大厂Java面试题附答案详解

采菊东篱下

编程 java面试

荣耀 MagicOS 9.0 发布会及开发者大会,现正直播中

荣耀开发者服务平台

人工智能 AI 开发者大会 荣耀

淘宝详情API接口有什么应用?

科普小能手

API 接口 API 测试 淘宝API接口

京东商品详情API全攻略:返回值字段一网打尽

技术冰糖葫芦

API 接口 API 文档 API 测试

鸿蒙网络编程系列31-使用RCP调用OpenAI接口实现智能助手

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

天润融通知识库赋能一线客户运营,不是宝妈也可以成为育儿专家

天润融通

鸿蒙网络编程系列29-RCP下载到文件和流示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

去中心化衍生品入门:模型、挑战与机遇

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 钱包开发 代币开发

天润融通引领知识库革命,大模型技术实现自动知识采集

天润融通

人工智能

天润融通推出智能语音导航,自动识别客户意图实现高效分流

天润融通

系统数据安全解决方案(医疗行业Word原件)

金陵老街

信息安全 数据安全 数据互联互通

鸿蒙网络编程系列30-断点续传下载文件示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

2025北京国际自动驾驶技术展览会

AIOTE智博会

自动驾驶展 自动驾驶展会

【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit(3)

HarmonyOS SDK

HarmonyOS

单月30k+ Downloads!一款头部Embedding开源模型

合合技术团队

开源 工具 科技

和鲸科技亮相重庆市医学会临床流行病学和循证医学分会 2024 学术年会,探索临床研究标准化新路径

ModelWhale

人工智能 大数据 大模型 临床医学

百度智能云千帆 AppBuilder 大模型应用开发解读

Baidu AICLOUD

应用开发 AI原生应用 大模型应用

智能合约开发中的LP分红系统

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

k8s 中的 Gateway API 的背景和简介【k8s 系列之四】

快乐非自愿限量之名

Kubernetes 容器

天润融通大模型文本机器人,让客服迈入“无人化”的第一步

天润融通

软件测试学习笔记丨Selenium学习笔记:三种等待方式

测试人

软件测试

C#线性查找算法

EquatorCoco

C# 算法

QCN9274-QCN6274: How Does 320MHz Bandwidth in the 6GHz Band Improve Data Transfer Speeds Compared to Previous WiFi Generations?

wallyslilly

qcn9274

最新测评,6款好用的在线代码编辑器推荐

Tp_jh

云计算 云原生 高效工具 云 IDE 敏捷开发工具

修复一个kubernetes集群

不在线第一只蜗牛

Kubernetes 容器 云原生

IEPL专线:企业网络的高速保障

Ogcloud

企业组网 企业网络 IEPL 企业网络专线 网络专线

科技是把双刃剑,巧用技术改变财务预测

智达方通

企业管理 数字化 科技 全面预算管理

数据结构 - 树,三探之代码实现

EquatorCoco

Java 数据结构

深入理解 JavaScript 中的剩余参数和扩展运算符

秃头小帅oi

JavaScript成为GNOME的首选语言_JavaScript_Jeff Martin_InfoQ精选文章