您的位置:首页 > 移动开发 > Android开发

从Android开发谈谈对编程语言的看法

2016-04-17 23:01 246 查看

引言

学生时代学习编程总喜欢讨论哪种编程语言最好,各抒己见,有时候争得面红耳赤,常见的语言都有它忠实的粉丝,语言之争一旦开始就再未停止过。。。


尤记得自己当时力挺c++,认为它是极好的语言,在性能与对象模型做了一个平衡。中国历来推崇中庸之道,所以c++的优点可以被提升到一个很高的层次。到现在我依然认为c++即使它有很复杂的语法,而且不支持动态特性,却是我用过最优雅的语言,没有之一。

但是,在工作之后却对编程语言有了更多的认识,甚至觉得编程语言没有什么可比性,就如同医生、教师和司机之间,不能直接评价孰好孰差,实质他们都是挣钱生活,只是分工不同罢了。当然挣钱多少肯定是有差别的,但如果纯粹为了这个目的去选择职业,或许有些片面。

对于用收入(python,object-c,c,c++)和使用量(java,C#,c,c++)去衡量编程语言,现实会给你一记耳光,如果再刻意的放弃已有,去选使用量最多的语言或收入最高的语言,说不定许久之后,你自己会给自己一记耳光。当然不能完全否定参考这些数据去选择某种语言开始自己的编程身涯,就像当初大学填报专业时,也参考了就业较好的,较热门的专业数据。

这样感觉就有些复杂了,编程语言实际情况并非如此。简单的说不同的项目,选择最契合的语言。这里的最契合意义非凡,一般来说,会根据客观环境和自已对某语言的掌握程度,其次要符合主流开发。如驱动开发,最早汇编是第一选择,而现在c成为主流语言。即使你非常熟悉汇编,可能最终也会选择c。又例如,在web开发时,可能你认为php非常适合,而且你又很熟悉,但项目组大多数人却用asp。这时你有三个选择:

- 1. 改用asp开发;

- 2. 劝说其他人用php开发;

- 3. 放弃该项目。

最后怎么做不得而知,只能说1的概率稍大。

对Android系统,对开发语言的选择最好是这样:驱动大部分用c,少量用汇编;内核用c;HAL层用c,native层大部分用c++,少量用c,少量内嵌shell脚本,少量python;framework、apk用java,编译主要用Android.mk语法,少部分用makefile语法;build脚本主要用shell,其次为python。

从Android系统使用的编程语言来说,可谓是物尽其用,充分发挥每种语言的优势。只要能实现自己层功能就行,当然没bug就是更好不过了。有了这样的说明,就不会再去争论不同语言的优势与劣势,也不会纠结到底该学什么语言,因为所用到的语言,你都要会。

当更多的关注从语言本身转移到业务逻辑,系统架构上时,或许就会进入另一深层,再进一步会认识到,工具只是为你的思想服务,这就偏离了本文的话题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息