一个人应该具备对事物的思考能力,否则容易被忽悠。对大部分未入门或刚入门的菜鸟来说,很难搞明白C语言能做什么和C程序员在做什么这两个问题。
如果你打算种菜,必须先了解行情(包括销量和价钱),如果你打算学习C语言,也应该先了解C程序员的行情。
了解青菜的行情要去菜市场,了解C程序员的行情要去人才市场。
我们先来查一些资料。
C/C++与JAVA职位分析
![](https://img.haomeiwen.com/i20408604/3cde6ffe4c533335.png)
![](https://img.haomeiwen.com/i20408604/acd056a198764a27.png)
登录前程无忧的官网,分别输入java和C++关键字,城市选择北京、上海、广州和深圳,查询到的招聘职位分别是3w个和2w个。
数据显示企业的JAVA和C++职位比例约6:4,培训机构的主流课程是JAVA或根本没有C/C++课程,进一步导致了C/C++程序员的稀缺,薪水较高。
编程语言的选择是人生大事,要慎重。JAVA和C/C++是程序员可选的两个方向(其它编程语言根本不在考虑范围),无所谓哪一种更好,我个人偏向C/C++,因为JAVA程序员的工作太累了。
更多的人选择学习JAVA,在较短的时间内就可以上手,做一些简单的web页面,所见即所得,容易有成就感,但是C/C++不一样,学生在学完基础知识后还是不知道它能做什么,离企业需求仍然差得很远,坚持下去的人很少,“从入门到放弃”是多数人的无奈的选择。
![](https://img.haomeiwen.com/i20408604/319db3c1120f51f6.jpg)
企业对C程序员的技能要求
从前程无忧的招聘数据看,中国企业对C/C++的应用需求主要有网络通信、硬件驱动(嵌入式)、数据处理、音频视频、网络游戏、桌面图形、机器学习、大数据、物联网,以上数据可以从前程无忧的官网查询,分别输入“C++ 网络”、“C++ 嵌入式”、“C++ 数据库”、“C++ 游戏”等关键字,范围选北京、上海、广州和深圳。值得注意的是,近年来被媒体反复炒作的人工智能、大数据、物联网、区块链等高大上的概念,企业需求其实很少,现在股票也不抄这个概念了。
数据无处不在
在我们的生活中,数据无处不在,只是普通人对它不敏感。
人口户藉数据在公安局。
驾照数据和车辆数据也在公安局的交警支队。
医院保存了每个病人的基本资料和就诊数据。每个产妇在医院生了小孩子,计划生育部门也会知道,它们与公安局和医院有联网交换数据。
我们在银行有开户数据,交易日志。
证券公司有行情数据、股东基本数据、持股数据和交易日志。
移动公司有我们的开户数据、通话清单、月帐单。
电力局有居民的基本数据和用电帐单。
火车票、机票都是数据。
腾讯公司有QQ帐户数据、微信帐户数据、聊天日志、转帐日志等。
阿里公司有淘宝帐户数据,商户数据,商品数据、交易日志等。
煤气公司、自来水公司……
![](https://img.haomeiwen.com/i20408604/9b8f4364da7000c6.jpg)
我想不出哪个行业没有数据。
一个人的身高、体重、学历、年龄是数据。
图片、视频、音频、文章也是数据。
C程序员在做什么
用C/C++做桌面程序的比例约11%,其它的C/C++程序都运行在后台Linux服务器上,普通用户没有感知。在很多培训机构的教程中,把贪吃蛇、打地鼠、球球大作战等程序当成项目实战,太过儿戏,这些程序的源代码网上到处都是,真正的程序员不玩这个。
真正的C程序员在工作,掌握的是谋生的技能,不是在玩过家家。
![](https://img.haomeiwen.com/i20408604/86ffe3aec36c5060.png)
我们每天都在用微信软件聊天、付款、转帐等,对普通用户来说,只看到微信软件的操作界面,不清楚有后台系统的存在,以转帐功能为例。
1)付款人在手机微信中输入转帐金额和支付密码;
2)手机微信软件把转帐金额和密码发送给腾讯公司的微信服务器;
3)微信服务器核对用户的密码和转帐金额,向中国银联发起转帐请求,中国银联把转帐请求转发给付款方的开户行银行,开户银行从付款人的帐户中扣除金额。
4)微信服务器把扣款成功信息返回给手机微信软件,显示转帐成功。
5)微信服务器向收款人的手机微信软件发送收钱提醒,收款人点击收款后,微信服务器把金额存入收款人的微信帐户中。
在上述转帐流程中,苹果手机的微信软件采用C++语言开发,其它品牌手机的微信软件采用JAVA开发;微信服务器、中国银联和开户银行都是非常庞大的系统,系统之间进行了多次数据传输,对数据库进行了查询、修改和插入操作,都是采用C/C++语言开发,系统运行在UNIX系统上,效率极高、稳定性极强,工程量巨大,是精英程序员们的心血之作。
![](https://img.haomeiwen.com/i20408604/e743d757ed1b5f14.jpg)
小结
1、 数据通信和数据处理以C语言为主,数据输入、数据展示以java为主。
2、作为服务器的操作系统,必选Linux,Windows已被淘汰,以VC、QT等作为C程序的开发环境极不明智。
3、数据通信是C程序员的必备技能。
4、数据处理是C程序员的必备技能。
5、嵌入式开发的职位比较多,但是,在硬件产品中,嵌入式软件是硬件产品的附属模块,技术含量低,程序员工资不高。
6、放弃幻想,不要追逐那些高大上的潮流(区块链、大数据、人工智能等),也不要听那些从入门到精通的鬼话,踏实一点,先成为一个普通程序员,这个世界上从来就没有捷径。
7、要学会自己查资料,前程无忧上的信息量非常大,不要视而不见,不能被别人随便忽悠。
学习的难度大、需要注意的点也多久注定c/c++程序员在工作中的待遇相对会好很多,也是最不可缺少的一个份子,当然高难度也是越来越多的人从入门到入土,市面上的学习书籍繁多儿杂乱,很多其实不适合初学或者基础不好同学,这里也是帮助大家整理看了一些资料,项目实战的讲解,希望能够帮助大家,感兴趣的可以私聊分享。
新的一年希望大家能够坚持学习,在这个寒假也能有所收获,加油,梦想需要一步一个脚印才能成功。
![](https://img.haomeiwen.com/i20408604/42474d478066b3f8.jpg)
网友评论