做c语言的码农专业发展方向

写了几年C语言代码,最近在思索,何去何从比较好?

搜索了一下,发现几个答案:

2015年10月编程语言排行榜

丢开C语言在教学应用外。在目前C语言的实际应用中。常见的应用的情景有如下: 内核/驱动,bootloader,Android HAL驱动和Linux库。前两者其实跟应层打交道比较多,后两者算Linux C的应用程序,用POSIX接口比较多。所以有在Android 产品这一层,C语言以及Linux相关知识绝对有需求。 所以C语言,特别是嵌入式C语言很难上手的。训练一个人熟练开发C程序,和训练一个编写C++要难得多。工资和竞争人数不在同一个数量级上。所以C语言熟练最好在这几个领域扩展。
另外一种情况C 与面向对象的语言,C++/java/object C 的关健字,语句书法极为类似,但是两者编程思想极为不同,底层C程序大部是直线阻塞式编程。换句话,基本上流程图怎么画,一般C程序就是怎么实现的。而面向对象语言要考虑与UI配合,都可以抽象成事件驱动,可以理解系统通知做什么,你又编程通知别人做什么,不同的模块调来调去。所以C语言编程思想固化的人,初期转型比一开始就习惯事件驱动编程的人要痛苦的多。
所以我建议你想转换应用开发,可以试试开发一下与底层硬件通讯的小应用。找一个现成的demo用eclipse编译运行起来,这个应该有一二天就成了,成功后,再去读其中代码,这里同时包含java,C++,C的代码。再评估一下自己的转型之路。
至于javascript 已经与Android没有太多直接关联吧,是Web编程语言,
在什么平台都通运行,又是另外一个编程思路了。不过最近HTML5开始流行了,象Jquery+phoneCap库可以在iphone 和Android跑,不过后面支持还是C语言和C++。

 

有C基础, 无论如何都该好好学习面向对象编程. C++/Java选其一, Java更适应Web开发, 而且面向对象的概念更彻底, 建议选择Java, 最好顺便把几个基本的数据结构复习一下.

 

其实面向对象只是一种编程思考方式, 基本原则是 "问题空间与解空间同构". 掌握这个原则, 用 C也能写出面向对象的代码。

 

有比较好的web开发的工作(有机会从头构建网站,技术非asp jsp,前后端都玩),会考虑下,android开发自己玩玩就好,两三年嵌入式开发,了解底层,有C的功底,了解目前基本的编程范式,基本上去玩别的都只是差手熟。

你可能感兴趣的:(做c语言的码农专业发展方向)