做c语言的码农专业发展方向
2015-11-02 11:10
309 查看
写了几年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的功底,了解目前基本的编程范式,基本上去玩别的都只是差手熟。
搜索了一下,发现几个答案:
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语言设计模式
- C++ 初始化列表
- 外部exe程序启动CAD并且自动加载CAD的ARX程序的过程
- OC语言中BOOL 和 bool 区别
- 《C++ primer》英文第五版阅读笔记(七)——定义自己的数据类型
- C语言第四章
- C语言程序如何优化
- 某国内知名自主研发游戏公司C++笔试题
- 数码视讯2015秋季校园招聘C++笔试题
- C++中int、double、float。string等常见类型转换
- C++语言基础内容
- C++中int 转string
- C++-IO库---istringtream(包含大小端测试)
- C++之旅<怎样让函数返回数组>
- 读u-boot深入学C语言框架 [2]
- 读u-boot深入学C语言框架 [1]
- [c]C语言小练习题
- 判断1000年---2000年之间的闰年
- 输出乘法口诀表
- 打印100~200 之间的素数,两种方法