C/C++语言能做什么?C/C++程序员在做什么?企业需要什么样的C/C++程序员?对初学者来说,要搞清楚这些问题并不容易。

一个农民种菜之前,会考虑菜的行情(包括销量和价钱),如果您打算学习C/C++语言,也应该先了解C/C++程序员的行情。

了解菜的行情要去菜市场,了解C/C++程序员的行情去人才市场,中国最大的IT人才市是前程无忧。

我们先来查一些资料。

一、中国编程语言的排名情况

登录前程无忧的官网,分别输入java、C++、python、javascript、.net、C#、PHP、SQL、IOS关键字,城市选择北京、上海、广州和深圳,查询到的招聘职位分别是31032、22842、19274、14091、6956、8018、5284、21302、6014个。(这是2022年3月查到的数据,不同时期的查询结果略有不同)

数据显示企业的JAVA和C++职位比例约6:4,培训机构的主流课程是JAVA和Python等,进一步导致了C/C++程序员的缺乏。

培训机构不愿意开设C/C++课程,C/C++语言的教学对老师的能力要求非常高。

编程语言的选择是人生大事,必须慎重,谁都不希望在工作几年后被迫从一种编程语言转向另一种编程语言。

JAVA和C/C++是程序员可选的两个方向(其它编程语言根本不在考虑范围),无所谓哪一种更好,我个人偏向C/C++,因为JAVA程序员的工作太累了。

更多的人选择学习JAVA,在较短的时间内就可以上手,从简单的WEB页面做起,所见即所得,容易有成就感,但是C/C++不一样,学生在学完基础知识后还是不知道它能做什么,离企业需求仍然差得很远,坚持下去的人很少,“从入门到放弃”是多数人的无奈的选择。

二、企业对C/C++程序员的技能要求

从前程无忧的招聘数据看,中国企业对C/C++的技能要求主要有网络通信、硬件驱动(嵌入式)、数据库、视频音频、网络游戏、桌面图形、机器学习、大数据、物联网,如下图。

以上数据可以从前程无忧的官网查询,分别输入“C++ 网络”、“C++ 嵌入式”、“C++ 数据库”、“C++ 游戏”等关键字,范围选北京、上海、广州和深圳。

值得注意的是,近年来被媒体反复炒作的人工智能、大数据、物联网、区块链等高大上的概念,企业需求其实很少,现在股票也不抄这个概念了。

输入“ C++ Linux”关键字搜索,结果有9767条记录,输入“C++ Windows”关键字搜索,只有2500条记录。这说明windows作为服务器的操作系统,正在被淘汰中。

目前,大部分的学校和培训机构让学生windows平台下学习C/C++语言,而企业要求的却是linux。

我们应该学习主流技术,不能成为非主流,否则有被淘汰的风险。

三、数据比石油更珍贵

在我们的生活中,数据无处不在,但是,常人对它不敏感。

人口户藉数据在公安局。

驾照数据和车辆数据也在公安局的交警支队。

医院保存了每个病人的基本资料和就诊数据。每个产妇在医院生了小孩子,计划生育部门也会知道,它们与公安局和医院有联网交换数据。

银行有开户数据,转帐记录。

证券公司有行情数据、股东基本数据、持股数据和交易日志。

电信公司有开户数据、通话清单、帐单。

电力局有居民的基本数据和用电帐单。

火车票、机票都是数据。

腾讯公司有QQ帐户数据、微信帐户数据、聊天日志、转帐日志等。

阿里公司有淘宝帐户数据,商户数据,商品数据、交易日志等。

煤气公司、自来水公司……

一个人的身高、体重、学历、年龄是数据。

图片、视频、音频、文章也是数据。

……

四、C/C++程序员在做什么

用C/C++做桌面程序的比例约11%,其它的C/C++程序都运行在后台Linux服务器上,普通用户看不见。

在很多培训机构的教程中,把贪吃蛇、俄罗斯方块、打地鼠、球球大作战等程序当成项目实战,太过儿戏,这些程序的源代码网上到处都是,真正的程序员不玩这个。

真正的C/C++程序员在工作,掌握的是谋生的技能,不是在玩过家家。

我们每天都在用微信软件聊天、付款、转帐等,对普通用户来说,只看到微信软件的操作界面,不清楚有后台系统的存在,以转帐功能为例。

1)付款人在手机微信中输入转帐金额和支付密码;

2)手机微信软件把转帐金额和密码发送给腾讯公司的微信服务器;

3)微信服务器核对用户的密码和转帐金额,向中国银联发起转帐请求,中国银联把转帐请求转发给付款方的开户行银行,开户银行从付款人的帐户中扣除金额。

4)微信服务器把扣款成功信息返回给手机微信软件,显示转帐成功。

5)微信服务器向收款人的手机微信软件发送收钱提醒,收款人点击收款后,微信服务器把金额存入收款人的微信帐户中。

在上述转帐流程中,苹果手机的微信软件采用Objective-C语言开发,其它品牌手机的微信软件采用JAVA开发;微信服务器、中国银联和开户银行都是非常庞大的系统,系统之间进行了多次数据传输,对数据库进行了查询、修改和插入操作,都是采用C/C++语言开发,系统运行在UNIX系统上,效率极高、稳定性极强,工程量巨大,是精英程序员们的心血之作。

对腾讯的开发团队来说,手机上安装的微信APP软件,开发的工作量不会超过整个微信项目的5%。

五、总结一下

1)网络通信和数据处理以C/C++语言为主,数据输入、数据展示以java为主。

2)作为服务器的操作系统,必选Linux,Windows已被淘汰,以VC、QT等作为C程序的开发环境极不明智。

3)网络通信是C/C++程序员的必备技能。

4)数据处理是C/C++程序员的必备技能。

5)嵌入式开发的职位比较多,技术上偏硬件(通信、电子等专业),软件为辅,无硬件基础者要慎重考虑。

6)放弃幻想,不要追逐那些高大上的潮流(区块链、大数据、人工智能等),也不要听那些从入门到精通的鬼话,踏实一点,先成为一个普通程序员,这个世界上从来就没有捷径。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

___________

写在最后:对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

C语言C++编程学习交流圈子,QQ群:739386924点击进入】微信公众号:C语言编程学习基地

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习书籍分享:

编程学习视频分享:

编程须知:C/C++语言能做什么?企业需要什么样的C/C++程序员?相关推荐

  1. 宝刀未老?VB语言迎来春天,低代码绝地逢生,程序员能淡定吗?

    一.VB语言迎来春天 "VB语言过时了,早就淘汰了",不少程序员认为,如今VB上不了台面. 有人说:VB是被微软砍掉的优秀产品之一,当年还和Delphi打对台来着, 那时候真的是如 ...

  2. 我的Go+语言初体验——Demo游戏体验篇(直男程序员的真实体验)

    目录 前言 环境说明 项目实测 Weather Dragon Clone Bullet Animation 总结 前言 接着我的上一篇:我的Go+语言初体验--语法验证/性能测试篇(直男程序员的真实体 ...

  3. C/C++语言能做什么?C/C++程序员在做什么?企业需要什么样的C/C++程序员

    数据显示企业的JAVA和C++职位比例约6:4,培训机构的主流课程是JAVA和Python等,进一步导致了C/C++程序员的缺乏. 培训机构不愿意开设C/C++课程,C/C++语言的教学对老师的能力要 ...

  4. Go语言大神亲述:历七劫方可成为程序员!

    "历劫1":你坚信你可以用Go来做面向对象编程? 在经历了一次Go应用之旅之后,你可能就会开始思考:"怎么样才能让这种语言更像面向对象的编程语言?"因为你已经习 ...

  5. 3dmax和python做3d动画_maya三维动画师和程序员(python)哪个前景好一些?

    我是个做游戏开发的前端程序员,回答这个问题再适合不过.因为我的工作,既需要做动画,又需要写代码. Python只是动态语言(脚本语言),它根本不适合搞开发,只适合当成辅助语言使用.要想当程序员,光靠P ...

  6. c语言代码表白_用微信表情翻译表白,程序员的小浪漫,赶紧Get起来

    "也许你不会发现,但我提及了,你肯定知道!" 微信作为一个社交的APP,被很多人使用,已经是人们离不开的软件. 它里面的很多功能在都在日常生活给了我们很多帮助,如手机话费支付,水电 ...

  7. “编程能力差,90%输在了数学上!”CTO:多数程序员都是瞎努力!

    01 从未得到过重视的问题 一流程序员学数学,二流程序员学算法,低端看高端就是黑魔法. 可能有人以为这就是个段子,但有过工作经验的都知道,这其实就是程序员的真实写照! 想一想,我们学习.求职.工作的场 ...

  8. “编程能力差,90%输在了选择上!”CTO:多数程序员都是瞎努力!

    在编程的世界里,编程语言就像橱窗里的衣服,琳琅满目. 编程语言实在是太多啦,如C.C++.Java.Python.Objective-C和PHP等. 这让不少的小白程序员产生选择困难症,到底应该学哪一 ...

  9. “编程能力差,90% 输在了数学上!”CTO:多数程序员都是瞎努力!

    01 从未得到过重视的问题 一流程序员学数学,二流程序员学算法,低端看高端就是黑魔法. 可能有人以为这就是个段子,但有过工作经验的都知道,这其实就是程序员的真实写照! 想一想,我们学习.求职.工作的场 ...

最新文章

  1. 请问Pycharm如何实现变量的批量重命名?
  2. 洛谷P4513 小白逛公园
  3. Linux里设置环境变量的方法(export PATH)
  4. java 性能调优_Java性能调优调查结果(第四部分)
  5. maven依赖关系中Scope的作用
  6. Java IO的一些列子
  7. gdb 命令_gdb实用的调试技巧:启动方式、堆栈信息、单步调试
  8. java----JUnit
  9. 【IoT】产品三问:什么是产品?什么是产品管理?产品经理职责是什么?
  10. 安装SSMS报错:0x80070643
  11. sudo apt-get update 出现Reading package lists… Error!
  12. 常用排序:冒泡排序与快速排序详解,看完这篇就够了!风马博客
  13. PDF转成Word或PPT后不能修改的原因和解决方法
  14. 统计学基于matlab,MATPLOT:一款基于MATLAB的地球化学数据分析成图软件
  15. 用SSH工具XShell连接云服务器 root用户 (谷歌云 甲骨文通用)
  16. 全国地图省份联动效果
  17. Pytorch的model.train() model.eval() torch.no_grad() 为什么测试的时候不调用loss.backward()计算梯度还要关闭梯度
  18. PNG图片生成CSS图标字体
  19. 清华EMBA课程系列思考之八 -- 营销管理
  20. 苹果微信分身版ios_微信正式支持暗黑模式:iOS版已上线 安卓版随后就来

热门文章

  1. MySQL5.7-第九章语言结构
  2. 【笔记】游戏制作技巧——3
  3. Spark一路火花带闪电——Spark底层原理介绍
  4. 《Building Efficient ConvNets using Redundant Feature Pruning》论文笔记
  5. bowtie 加mn标签_Bowtie2使用方法与参数详细介绍
  6. 初识Matlab2012a的神经网络工具箱(1)
  7. 基于Gmap的箭头随路径方向旋转
  8. 个人信息管理系统c语言作业,个人物品信息管理系统 C语言.doc
  9. 基于Django和vue的微博用户情感分析系统
  10. MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录