QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Swift 和其他语言的开源故事

  • 2015-06-15
  • 本文字数:2199 字

    阅读完需:约 7 分钟

首先我要认个错,其实严格来说,编程语言是不存在开源一说的,语言是一种规范,是一个标准,任何人都可以实现这种规范,我们通常说的开源语言,其实指的是它的官方基础类库、开发工具、编译器、解释器、运行时环境等等,所以咱就不深究措辞了哈。

最近苹果的 WWDC 大会上爆出的一条消息让我被强制刷屏,感受到了“视觉疲劳”——Swift 2.0 开源,据说当时现场响起了最热烈的掌声。“最”这个字用地很好很微妙,也从某种程度上反映出开发者们在苹果长期以来相对封闭的生态圈里看到了一丝开放的苗头。索性咱们就聊聊几个语言的开源故事。

Swift

先说说风口上的飞猪——Swift,刚刚一周岁的小家伙,由于出身苹果的正统名门,一出生就受到了移动开发者的强烈关注,学习的人很多,实践的例子也有,但是由于 Object-C 多年积累的成熟生态圈的固守,所以生产环境中的应用比例一直不是很高(之前看过一个报告,貌似在 10-20% 左右)。这一年苹果为了推广 Swift 也是拼了,各种优先规则都用上了,开源也是最新的大招。为啥,简单解释下:

  • 开源本身就是一种营销策略。铺天盖地的新闻报道已经是明证,特别是对于苹果这样的企业来说,一点广告费不用花,Swift 已经名声在外了。
  • 开源表明一种开放的态度,有利于吸引开发社区的参与。现在不玩开源的企业都已经 out 了,技术选型的重要标准之一就是是否开源。所以 Swift 的开源让开发者特别是苹果生态圈的其他公司更加放心,虽然我打赌没有多少开发者或者公司会去查阅哪怕一行 Swift 源代码,但是放在那里看着也安心,对吧。
  • 开源有利于生态圈的快速发展。没开源之前,Swift 的各种工具基本都依赖于苹果原创,但是开源之后,社区就可以提供各种开发工具,生态系统可以快速构建起来。

总之,苹果的目的就是让更多的开发者赶紧用 Swift,麻溜的,让你没有不用的理由,就是这么任性,而且还支持 Linux,目的是“成为主流开发语言”,好大的一盘棋,从开源起步~

Rust、Go

插一句,出身真的很重要(如果不是最重要的话),前几天和朋友聊起 Rust 语言的发展现状,是又爱又恨,挺好的一语言,发展的太慢。我们都感叹:唉,出身差了些,如果把后面的金主从 Mozilla 换成 Google,那肯定是另外一番景象了。

说到 Google,它推出的几门语言都是开源的,其中包括著名的 Go 语言,其实对于天生带有互联网基因的公司来说,开源语言是一个非常自然的决定,不需要太多的业务分析,所以也就没有太多的故事可以展开说。

Python、Ruby

除此之外,还有哪些开源的语言是自然之举?想一下(请思考 10 秒钟)。

时间到,还有那些由“个人发明”而不是“公司行为”的编程语言,比如 Python、Ruby,它们均来自于极客们的自我创造,没有过多的商业利益,也就没有束缚,所以开放给社区是自然而然的选择,事实上,这些语言的生命力也非常顽强,在自己的一亩三分地里耕耘地很不错,也体现了开源的强大力量。

Java

说到底,那些“诞生于公司”而后又开源的编程语言的故事更八卦一些。这里面主要就是两家,Java 和.NET(抱歉,我把.NET 家族算作一门泛语言了)。

刚刚过完 20 岁生日的 Java 算是命运多桀。诞生于 1995 年的它赶上了互联网发展的第一波潮流,快速成长为最主流的编程语言之一,并长期保持着大佬地位。可惜,背后的大树 Sun 公司也有日薄西山的时候(说到这里我忍不住插一句,江湖上传言 Sun 对自己的员工太好了,做技术做的太好了,以至于忽视了公司是需要盈利的,唉,做技术做到这份上也真谢谢它了),后来被财大气粗的 Oracle 收购。

收购是发生在 2009 年,不过 Java 在 2007 年的时候就开源了。从时间来看,开源应该是个无奈的选择,当时的 Sun 已经日渐式微,虽然贵为 Java 的领导者,但是始终没有在 Java 身上找到很好的商业模式,说白了,就是不知道如何更好地从 Java 身上赚钱。有读者会问了,做语言哪有图赚钱的?没错,做语言本身可以不赚钱(除了卖企业授权和衍生品之外),但是作为企业生态系统的一部分,一定要在商业模型中体现其价值。

Sun 的问题在于,没有想清楚 Java 的定位和价值,反而成了负担。开源 Java 的目的一方面是减轻自身的负担,另一方面也是为了增强 Java 语言的地位。可以说,Android 系统给了 Java 第二春,在移动开发领域也占据了半壁江上。Oracle 对待 Java 的方式和 Sun 完全不一样,以社区来推动 Java 的发展,自己承担的职责(成本)减少很多。同时,又利用 Java 相关的一些专利牵制了部分对手。所以 Oracle 是想的比较明白的。

就以今年的 20 周年庆祝活动为例,有熟悉的朋友告诉我,Java10 周年(当时 Sun 主办)的庆祝活动在国内当时是全民狂欢的级别,烧钱很多,而今年的 20 周年活动缩水很多,不可同日而语。或许,这就是两者最根本的区别吧。

.NET

说完 Java,当然也要说说它的老冤家对头.NET 了,微软这些年虽然有些坎坷,被互联网巨头冲击不小,但依然是 IT 巨无霸之一,最近又提出了移动和云优先战略,对开源技术也持开放的心态,逐渐把.NET 家族的上上下下开源出来,对社区的震撼不亚于苹果开源 Swift。有关.NET 开源的故事,我在另外一篇文章《.NET 开源,且行且珍惜》中已经做了详细的介绍,这里就不重复了,感兴趣的读者可以回复“.NET 开源”查看。

一句话总结

开源的势头势不可挡了,逆着激流会被吞没,不如顺着激流同化为激流。

作者的微信公众号“技术风向标”,关注 IT 趋势,承载前沿、深入、有温度的内容。感兴趣的读者可以搜索 ID:jishuqushi,或者扫描下方二维码加关注。

2015-06-15 08:441821
用户头像

发布了 501 篇内容, 共 264.6 次阅读, 收获喜欢 61 次。

关注

评论

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

这个Offer开不开门?

王磊

《使用Gin框架构建分布式应用》阅读笔记:p32-p51

codists

gin 编程人

Mac动作冒险游戏:侠盗猎车手:罪恶都市 for Mac 下载

你的猪会飞吗

Mac游戏下载 Mac游戏推荐 mac破解软件下载

MatrixOne助力江铜集团打造炉前智慧作业AIoT大数据系统

MatrixOrigin

大数据 AIOT

ComfyUI现已上线Neolink.AI,AI 绘画从此轻松驾驭!

MatrixOrigin

GPU算力 AI绘画

跨境1688代采案例:探索提供1688代采集运系统的公司

代码忍者

pinduoduo API API 性能测试

第三届OpenHarmony技术大会教育与人才分论坛圆满举办

科技热闻

第三届OpenHarmony技术大会OS原生智能分论坛圆满举办

科技热闻

上海交大开源超逼真声音克隆 TTS;微软探索音生图 AI 模型丨 RTE 开发者日报

声网

程序员失业没offer、空窗期长!掌握Java架构核心宝典就能逆袭!分布式+中间件+大数据与高并发+数据库+设计模式与实践+数据结构与算法!

程序员高级码农

Java 面试 Java’ 程序员‘ Java 面试题 #编程

PIRF 412   – Penny for your thoughts

Echo!!!

English

第三届OpenHarmony技术大会编译器与编程语言分论坛成功

科技热闻

第三届 OpenHarmony 技术大会:创新成果丰硕,共筑开源生态新未来

科技热闻

Sketch快捷键大全 附Sketch最新中文激活安装包

Rose

使用 Rust(替代 C 语言)扩展 NGINX

NGINX开源社区

读书笔记 rust 编程语言

EMQX Platform 旗舰版:面向企业级 AI 和物联网应用的高级 MQTT 消息服务

新消费日报

第三届OpenHarmony技术大会通信互联分论坛圆满举行

科技热闻

拍立淘API返回值中的商品列表与详细信息解析

技术冰糖葫芦

API 接口 API 文档 API 测试 API 性能测试

【MM2024】面向 StableDiffusion 的多目标图像编辑算法 VICTORIA

阿里云大数据AI技术

人工智能 算法 论文 图像编辑 MM2024

淘宝API关键词搜索商品列表:优化商家数据分析与策略制定

代码忍者

pinduoduo API API 性能测试

【IoTDB 线上小课 08】时序数据库融合 AI,带来的效果竟然是?

Apache IoTDB

第二届OpenHarmony竞赛训练营颁奖 ——创新驱动,培育未来科技人才

科技热闻

第三届OpenHarmony技术大会开发框架分论坛成功举行

科技热闻

Swift和其他语言的开源故事_Java_崔康_InfoQ精选文章