为什么学完了 C 语言觉得自己什么都干不了?

news2024/11/29 18:20:11

其他方向不了解哈,我2013年大一开始自学C语言,然后就开始做嵌入式,大学四年,到现在毕业又六年,C语言已经陪我十年了,可以说是一直坚持且养家糊口的工具。

所以,别的也许不行,但是嵌入式开发C语言是绝对可以的!

你说的什么都做不了应该是对比Java或者Python之类的语言,这种在学习之初就有很多好玩的例子,尤其是Python,有很多好玩且厉害的库,而且开源的小项目代码也很多。

图1 Python实现俄罗斯方块

图2 Python实现贪吃蛇

类似的这样的项目我理解就是你期许的能做的事情吧,实现上述这些例子基本只要会百度就可以,虽然你不一定搞明白了,但是你就是可以运行代码实现这些,这其实就是高级语言的魅力,你不用太在意底层的细节就可以实现炫酷且实用的项目。

而大多数初学C语言,在学校学习C语言使用的还是上个世纪的软件,没错就是Visual c++ 6.0,就这个老古董的软件还经常有初学的同学找我问安装包,实在是不敢恭维。

图3 Visual c++ 6.0

而C语言编译输出的界面则是经典的黑色控制台,甚至我现在已经使用C语言十年了,还是经常面对的是一个这个黑框框。

图4 C语言编译输出

但是你学过C语言应该知道,C语言其实算是一门中级语言,它比汇编要更容易理解,而比Java,Python之类的面向对象语言要高效,且C语言的诞生之初就是为了改进Unix系统,这个历史非常悠久且说来话长。具体可以看看我之前写的一篇C语言的历史变迁。

由上可以,C语言是为了开发操作系统而生,所以目前已知的几乎所有操作系统的底层都是C语言和汇编搭建的,而操作系统又是IT行业的灵魂,不管是火爆的互联网,还是大家几乎不可见的海量服务器,当然还有日常生活中你接触的种种智能电子产品,其核心都是依赖操作系统,所以最起码C语言离你很近,只是你没注意到。

然后再说回来,对于学习C语言的同学可以做什么,根据上述的描述你应该已经知道了,有海量的企业是在维护操作系统,数据库还有很多你经常调用的算法库,其大部分代码都是C语言在运行,这些企业都可以提供大量的岗位,这也解释了为什么很多人觉得C语言毫无用处,但是编程排行榜上C语言却一直坚挺。

当然上述事实也暴露一个问题,不管是操作系统,还是数据库,哪怕是一些独立的算法库,这都不是你一个初学C语言的同学能搞定的,所以这也就是是导致你觉得没什么能做的。

不过还有一个领域是你初学C语言就能实际接触且开始开发的,那就是嵌入式,简单的C语言加上基础的硬件知识你就可以开始制作属于你自己的电子DIY产品。

从可以送女生的简单的心形流水灯,炫酷的广州塔(都是基于IO控制的LED应用)

图5 心形流水灯

图6 DIY广州塔

当然如果是学生,还可以做可以参加比赛的智能车

图7 飞思卡尔智能车比赛

自制小四轴,2015年电赛就是靠它拿的奖

图8 四轴无人机

还有各种各样的需求就不一一列举了,虽然看着都是电子产品,但是C语言却是作品的灵魂。

原文链接:为什么学完了 C 语言觉得自己什么都干不了? - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/152592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用.htaccess设置图片防盗链的详细方法

对于虚拟主机用户来说,最方便的莫过于利用.htaccess设置图片防盗链了。上网搜了一下,.htaccess规则写法很多,但是大部分的区别在于最后一行,下面我们先看看正确的.htaccess防盗链写法,稍后我再详细解释一下最后一行的重…

JAVA实现代码热更新

JAVA实现代码热更新引言类加载器实现热更新思路多种多样的加载来源SPI服务发现机制完整代码引言 本文将带领大家利用Java的类加载器加SPI服务发现机制实现一个简易的代码热更新工具。 类加载相关知识可以参考: 深入理解JVM虚拟机第三版, 深入理解JVM虚拟机(第二版)—国外的,自…

从零开始搭建一个vue demo工程

查询了不少文章,有知乎、CSDN、简书、思否等,发现如下操作性比较好,特此记录 目录 使用vue-cli创建 使用vite创建 Vue2和Vue3的代表作 参考文章 使用vue-cli创建 Vue3-使用vue/cli搭建项目 - 个人文章 - SegmentFault 思否 此处使用了v…

一文看懂基站无源交调

众所周知,有源器件会在系统中产生非线性效应。虽然已开发出多种技术来改善此类器件在设计和运行阶段的性能,但容易忽视的是,无源器件也可能引入非线性效应;虽然有时相对较小,但若不加以校正,这些非线性效应…

将vue项目打包成电脑端应用.exe

目录 第一步:下载模板electron-quick-start 第二步:进入到下载好的模板文件当中(electron-quick-start) 第三步:打包自己的项目(npm run build) 第四步:删掉官方demo下的index.html文件 …

Framework入门

一入门简介Android系统建构分为四层由上到下依次是应用层,应用框架层,依赖库层,内核层,framework处于第二层,它为应用层的开发者提供基本功能,帮助开发快速构建应用程序。FrameWork框架采用c/s架构&#xf…

Java之反射爆破操作

一些方法 首先说一下-getField/Method什么的这种不带Declared只能获取到对应public的属性/方法 只有带Declared可以获取到非public的属性/方法 再看不带s和带s区别 不带s只获取对应的构造器/方法 比如说构造器 getDeclaredConstructor(int.class,String class) 就会获取不管什么…

【数据分析】【Pandas】(一)如何制作频率分布直方图

文章目录概述1. 直方图2. 密度图概述 计算一组数据的分布有助于我们更好的了解数据构成,我们可以通过直方图或密度图,将离散的数据通过连续的方式展现出来。 数据分布(频数分布):在各组按顺序排列的基础上&#xff0c…

小伍说,商业发展均是顺势而为,【字节跳动】之所以成功是因为顺应趋势,成功是必然结果!

昨天看完2021年 刘润【进化的力量】年终演讲,让我深刻感受到两点: 1、所有商业的变化,都是顺势而为! 2、所有理所当然的现在,都是曾经不可思议的未来,所有现在不可思议的未来,可能都是明天理所…

JavaSE笔记——函数式编程(高级集合类和收集器)

文章目录前言一、方法引用二、元素顺序三、使用收集器1.转换成其他集合2.转换成值3.数据分块4.数据分组5.字符串6.组合收集器总结前言 前面介绍了集合类的部分变化,事实上,Java 8 对集合类的改进不止这些。现在是时候介绍一些高级主题了,包括…

LInkedList的模拟实现

在之前的文章笔者介绍了链表的实现:无头单向非循环链表的实现!感兴趣的各位老铁可以点进来看看:https://blog.csdn.net/weixin_64308540/article/details/128397961?spm1001.2014.3001.5502对于此篇博客,在一写出来,便…

java学习day72(乐友商城)微信支付实现

今日目标: 会调用订单系统接口 实现订单结算功能 实现微信支付功能 1.订单系统接口 我们不做开发,只讲解 1.1.导入订单服务 把课前资料提供的leyou-order复制到D:\heima\code\leyou目录。 然后在工程内导入: 然后导入module&#xff1a…

java:责任链设计模式配合Spring@Order注解使用场景

java:责任链设计模式配合SpringOrder注解使用场景 1 前言 java的责任链模式,经典使用的场景为SpringMVC的doDispatch下,针对请求的过滤链式行为。实际开发场景中,可配合Spring的Order注解,定义1个有顺序的链式Compon…

我在深圳的三次工厂旅程 (一)

2019年末加入一家人工智能AI创业公司,由于公司涉及到智能硬件产品,所以有机会参与到硬件产品的整个研发测试端、产品迭代流、工厂生产序等方面的这些事情。相对于研发测试、产品迭代这些在过往的工作中经历中相对比较熟悉和接触频繁,在软件产…

鉴定完毕!来看看跨年晚会谁假唱了…欧莱雅智能画眉设备;首个AI律师下月出庭;推特又裁员;GitHub今日热榜 | ShowMeAI资讯日报

👀日报合辑 | 🎡AI应用与工具大全 | 🔔公众号资料下载 | 🍩韩信子 🎡 『谁在假唱』技术手段分析跨年演唱会上的歌手们 各大卫视的跨年演唱会,你追了几场?看出来了谁在对口型?B站Up主…

【北京理工大学-Python 数据分析-2.2Matplotlib绘制饼图、直方图、极坐标、散点图】

pyplot的基础图标函数 函数说明plt.plot(x,y,fmt,…)绘制一个坐标图plt.boxplot(data,notch,position)绘制一个箱型图plt.bar(left,height,width,bottom)绘制一个条形图plt.barh(width,bottom,left,height)绘制一个横向条形图plt.polar(theta,r)绘制极坐标图plt.psd(x,NFFT256…

Dokcer14_5:Docker Compose volumes解析、Docker Compose volumes目录路径生成规则

Dokcer14_5:Docker Compose volumes解析、Docker Compose volumes目录路径生成规则docker-compose volumes语法语法格式及其三种变体1.无来源 :匿名挂载主机系统上的目录路径2.非路径源:具名挂载(常用)主机系统上的目录…

mysql idb,frm文件复制恢复

idb是innodb数据文件frm是innodb表结构文件在数据库的data目录下可以看到 data下的目录名就是数据库名,打开该数据库文件夹对于一个表有2个文件,一个以idb结尾,一个以frm结尾直接复制粘贴是不识别的,提示找不到该表解决方法&#…

在线实习项目|Python爬虫助力疫情数据追踪在线实习项目

项目介绍 项目背景:2019-NCOV新型冠状病毒引发的肺炎牵动全国人民的心,本项目希望通过大数据技术为抗击新冠肺炎贡献一份力量。 项目目标:使用PYTHON爬虫技术爬取疫情数据,从不同维度分析数据,并用 MATPLOT…

ubuntu18.04部署DXSLAM,CNN+VSLAM,CPU实时运行

一、下载源代码 打开终端,输入命令克隆仓库 git clone https://github.com/raulmur/DXSLAM.git DXSLAM二、配置环境 We have tested the library in Ubuntu 16.04 and Ubuntu 18.04, but it should be easy to compile in other platforms. C11 or C0x CompilerPa…