Back

总有语言想一统江湖 (history of cross-platform languages )

发布时间: 2014-10-01 15:16:00

程序世界就好比一个江湖。 

每个语言都是一个门派。

C/C++ 就是 少林派。 Java是武当派。 .NET是峨眉派。 还有PHP, RUBY, ERLANG, GO, NODEJS..。。python....

每个门派的人,都希望自己的武功能到哪里都是老大。

程序世界也是如此。 做JAVA的人,希望IOS,BLACKBERRY 也用JAVA开发。

做C/C++的人,希望网页也用C、C++开发。  

C刚出现的时候, 就宣称自己是跨平台的。LINUX上也可以用C写, WINDOWS上也可以用C写。

当初JAVA 出现的时候也是这样, J2EE —— 针对企业, J2SE —— 标准版, J2ME —— 针对移动设备(这些年也看不到了)

而WEB刚出现的时候,还有很多 JAVA GUI的技术,希望能被移植到web上。比如有个项目就是希望把swing做到web 页面中。达到在web端显示的目的。

现在,在移动互联网越来越火的时代,大家纷纷表示不服。 用java的同学希望 ios也用java (如果他们有余力的从spring, SSH中脱离出来的话),  ruby的同学也希望所有的平台都用ruby来做。

比如 phonegap, titanium, rubymotion, 等等。

实际上不太可能。 web 应用 跟 桌面应用完全是两个东西(想想html, css 跟 GUI的区别)。而 mobile app跟 web app又完全是两个东西(想想web中如何会用到摄像头 )。 phonegap, node-webkit 是 hybrid (混杂型应用), titanium走上了 java 虚拟机的老路—— 快速做出产品原型没问题,但是运行速度堪忧,   rubymotion 可以做出ios应用,但是对于支持安卓,跟 ruboto相比完全没优势,而且 在rubymotion中, 安卓的代码跟 ios的代码完全是独立的。

所以,仍然是: 没有银弹! !想要用锤子拧螺丝是不行的。 螺丝刀这个工具就是需要学习使用的。 想开发IOS 原生程序,就要用 object-c/swift/rubymotion, 想开发 安卓原生程序就要用 c/java/ruboto, 想开发web就要学习 HTML/CSS。 

Back