写点什么

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:212931
用户头像

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

关注

评论

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

Mybatis缓存机制详解

北游学Java

Java mybatis

阿里云,让「服务」成为一种先进生产力

ToB行业头条

云计算 阿里云

AI缘起——达特茅斯会议

行者AI

人工智能

【译】JavaScript 代码整洁之道-重构篇

KooFE

JavaScript 大前端 代码重构 6月日更 整洁代码

Linux Shell 自动交互人机交互的 3 种方法

学神来啦

Linux 运维 Shell 虚拟机 linux运维

智能家居弱电布线设计注意事项

不脱发的程序猿

智能家居 弱点布线

为什么开发5年的同事,还在学习23种设计模式?是他太菜?

Java架构师迁哥

数仓发生数据倾斜不要慌,教你轻松获取表倾斜率

华为云开发者联盟

GaussDB MPP GaussDB(DWS) 数据倾斜 并行架构

京东T8Java架构师呕心沥血总结整理的《15w字的Java面试手册》免费开放分享给大家复习。

Java架构之路

Java 程序员 架构 面试 编程语言

从零开始学习3D可视化之坐标系

ThingJS数字孪生引擎

物联网 可视化 数字时代 3D模型 3D可视化

5.7w字?GitHub标星120K的Java面试知识点总结,真就物超所值了

Java 编程 程序员 面试 计算机

网络攻防学习笔记 Day39

穿过生命散发芬芳

网络攻防 6月日更

java中的NIO和IO到底是什么区别?20个问题告诉你答案

华为云开发者联盟

Java io nio buffer channel

学历不够,技术来凑,8年开发经验,逆袭拿到阿里P7岗

Java架构师迁哥

入职美团定级P7,总结2021年最新180道高级岗面试题及答案

Java架构师迁哥

博客

vincentjia

公安警情研判分析系统搭建,警情可视化指挥调度

如何看懂常用原理图符号、如何阅读原理图

不脱发的程序猿

电路设计 原理图符号 阅读原理图

真香!SpringBoot+SpringCloud Alibaba全套脑图+学习笔记+大厂面试题

Java架构追梦

Java 架构 微服务 springboot SpringCloud

花了三个小时把一份GitHub上标星115k的《Java超全进阶教程》整理成了PDF文档。

Java架构之路

Java 程序员 架构 面试 编程语言

解读革命性容器集群CCE Turbo:计算、网络、调度全方位加速

华为云开发者联盟

容器 华为云 CCE Turbo 集群服务器

老同学突然升到了阿里P7,只因偷偷掌握了JVM的奥秘?

Java架构师迁哥

视频监控系统供电方式及选择方法

不脱发的程序猿

视频监控系统 供电方式 智能监控

Hanoi 塔问题(Java实现)

若尘

数据结构 java编程 6月日更

带你遨游银河系的十种分布式数据库

悟空聊架构

数据库 分布式 分布式数据库 6月日更

普通二本,吃透这份阿里高级专家的《Java面试手册21版》成功拿下腾讯offer

Java架构师迁哥

2021版最新!字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java架构之路

Java 程序员 架构 面试 编程语言

云图说|OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

华为云开发者联盟

Clickhouse MRS 华为云 云图说 OLAP开源引擎

深度分享丨如何使用微细分仪打造金融场景下的战术级客户分群

索信达控股

大数据 金融科技 用户细分 客户数据平台 客户画像

每日优鲜:AI 技术驱动下的社区新零售

蚂蚁集团移动开发平台 mPaaS

人工智能 算法 图像识别 codehub

揭秘Spring家族之——AOP和IOC

Java架构师迁哥

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