做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语言的码农专业发展方向的更多相关文章
- 做为一个.net码农,打开公司的一个项目,大叔我哭了
先说下背景,楼主在上海,之前一直是做BS互联网开发的,今年进入这家公司,是做软件产品的小外企. 然后,啥也不说了,直接上图吧: 因为一个屏幕没有办法显示出来,所以我截了3张图,然后拼成一张,这还是我花 ...
- 大学?做码农?做project师?
近期看到一个知乎里非常热闹的讨论.当中讨论到科研能力与project能力,我有非常多感想. 想说说大学CS方向的一些东西. 我不是计算机专业的,如今大二本科工科在读. 我接触编 ...
- 码农,就要做有范儿的geek【网摘】
摘要: “我是个geek,圈子里都称呼我为xx,我周一到周五亲自写写代码,指导指导新人,周末参加圈子的活动,跟别人分享一下我的经验.至于未来嘛,还没想过,反正自己技术水平在这了,呵呵,扎克伯格当年不也 ...
- Python码农福音,GitHub增加Python语言安全漏洞告警
在 2017 年 GitHub 开始对托管在其网站的代码仓库和依赖库开始提供安全漏洞检查和告警,开始时候只支持 Ruby 和 JavaScript 语言的项目.根据 GitHub 官方数据显示截止目前 ...
- 老码农冒死揭开行业黑幕:如何编写无法维护的代码[ZZ]
下面是一篇有意思的"代码大全",可谓 逆软件工程. 老码农冒死揭开行业黑幕:如何编写无法维护的代码 原文如下 让自己稳拿铁饭碗 ;-) – Roedy Green(翻译版略有删节) ...
- 管理与技术未必不可兼得,一个20年IT老兵的码农生涯
作者|康德胜 我是一个喜欢写代码但几乎不太有机会写代码的CTO,也是一个看得懂财务报表.通过所有CFA(金融特许分析师)考试并获得FRM(金融风险经理)认证的拿到金融MBA的CTO,如果我有幸被称作码 ...
- [2013 eoe移动开发者大会]靳岩:从码农到极客的升级之路
(国内知名Android开发论坛 eoe开发者社区推荐:http://www.eoeandroid.com/) 前天,2013 eoe 移动开发者大会在国家会议中心召开,eoe 开发者社区创始人靳岩在 ...
- Android码农如何一个星期转为iOS码农(不忽悠)
WeTest 导读 作为一个android客户端开发,如果你不懂点ios开发,怎么好意思说自己是客户端开发呢,本文讲解如何让android开发码农在一个星期上手IOS开发 --<记录自己IOS开 ...
- 一名Java架构师分享自己的从业心得,从码农到架构师我用了八年
工作了挺久,发现有个挺有意思的现象,从程序员.高级程序员,到现在挂着架构师.专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了. 这些疑问有些来自于跟小伙伴的交流,有些是我的自问自答 ...
随机推荐
- [原创]Scala学习:Tuple,Array,Map ,文件操作
1.Tuple:元祖.是一个有用的容器对象. 1)特点: ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变: ② 元祖可以包含不同类型的数据,对象: ③ 索引是从 '_1 ...
- 【LeetCode】删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...
- 表达式语句(EL)
EL的基本语法 ${expression} Expression:制定要输出的变了或字符串.或EL运算符组成的表达式. 禁用EL表达式: 1. 使用“\”符号禁用. \${expression} 2. ...
- Hadoop- 集群启动详解
NameNode启动过程详解 第一次启动:HDFS格式化后,生成fsimage文件 hdf
- 数据分析第二篇:matplotlib 常用的几个绘图方法
Matplotlib matplotlib是python的绘图库,使用它可以很方便的绘制出版质量级别的图形 matplotlib的基本功能 1.基本绘图 1.1 绘制坐标系中连续的线,设置线型/线宽/ ...
- SpringMVC 文件上传及下载
首先需要导入jar包 创建一个jsp页面 package cn.happy.Controller; import java.io.File; import javax.servlet.http.Htt ...
- 循环递归+返回值(TreeView示例)
示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List public ...
- Java微信开发_03_使用测试号进行开发
今天进行自定义菜单的开发时,发现公众号没有自定义菜单的权限.于是想到用测试号,但微信服务器如何区分你要请求的是公众号还是测试号呢. 我们可以发现不同公众号的appID和appsecre是不同的,一对a ...
- jQuery插件--图片文字向上向左循环滚动
需要引用jquery 调用非常简单: 一. 向上滚动 $(".scroll_two").jScroll({vertical: true}); <div class=" ...
- Java 集合常用特点
1:集合:1) Collection(单列集合) --------------------------------------------------------------------- ...