前几天刚看到<Oracle 起诉 Google Android 操作系统侵犯了其 Java 知识产权>的新闻时,我就在猜想:如果 google 要摆脱 Oracle 的诉讼纠缠,那么只有一条路:就是用 go 取代 java 成为 android 的主要开发语言。这步迟早是要走的,也许谷歌已经在暗自部署了。我一直觉得手机应用开发采用VM语言或者JS是一种短视的行为,在前期也许会因为门槛低而吸引大量程序员涌入这个市场,但是很多高级应用(对速度响应要求很高)最终都难免要回到C/C++原生函数调用上来。别对我说什么C/C++门槛太高,两年前谁知道ObjectiveC,现在排行榜都到第九位了。苹果的ObjectiveC,诺基亚的C++/QT都选对了开发语言,相信Google很快会采用Go回到正轨,手机领域最终是C系语言的天下。至于微软,语言不是关键,不摆脱PC思维和SB(斯蒂夫.巴尔默),就很难真正进入该领域。
但是周末我稍微看了一下 go 语言,感觉 Google 如果真打算将 go 作为 android 主流开发语言的话,难度相当大。
1:这门语言还不够完善,处在试验阶段,支持的库也不多。
2:go 虽说支持 x86 32 , 64 和 arm , 但是 arm 分支的开发不活跃,而且问题很多。
3:go 的改革比较激进,没有继承,没有泛型,没有异常,大小写是语法,程序员要接受它的确会有点难度。实际上语法很简单,相对传统OOP语言的改进很激烈,比如既然继承不如合成,那么干脆把继承整个从面向对象中去掉。
不过我仍然觉得用 go 取代 java 是 google 必须走的一步。谷歌三大语言 c++, java , python 中,只有 java 是被一家公司控制着,以前的 Sun 还比较温和,现在的 Oracle 很顽强,如果大规模使用它,将来会很被动。
与其现在看 android 开发还不如稍微学习和了解一下 go
有疑问加站长微信联系(非本文作者)