有没有敢说精通 C 的?

2018-07-30 15:55:40 +08:00
 shijingshijing

现在虽然每次看到 TIOBE 的排名中 C 的排名都是很靠前的,但事实上现在发现写 C 的工程师不多。

首先,可能是应用场景有限,最多的就是 Linux 底层应用编程,写驱动,嵌入式编程,网络相关的编程;

其次,可能就投入和产出效率来说,Java,Python, C#这类语言的产出效率要比 C 高,而 C 追求的是高性能对商业公司来说有时候可以用堆硬件上集群的方式来解决。

最后,坚持写 C 且能把 C 写好的工程师不多,以前也说过公司如果真的不得不要用 C 和 C++来解决问题,那么一般都是花大价钱请个厉害的然后当几个人用,绝对不会请几个菜鸡 C 码农,效率低容易出错浪费时间浪费钱。

我还有个问题,像 C++和 Java 都有 Think in 系列,有 Effective 系列,更不谈各种设计模式的。但是 C 的书好像就 C Traps and Pit 那本书,Pointers on c 那本书,想问问还有其他进阶的读物么?特别是关于系统设计和编程技巧这方面的,设计模式什么的好像基本没有看到用 C 写的。还有就是想了解一下除了嵌入式这个行业的发展路线以外,其他写 C 的行业发展路线图和技能树都是什么?

长期写 C 的都出来冒个泡。

13665 次点击
所在节点    程序员
115 条回复
sixm
2018-07-31 08:40:40 +08:00
@frqk 敢问 T 恤哪里有卖的,好想买一件
wkl17
2018-07-31 08:48:42 +08:00
借个楼吧:乃们都用什么工具开发 C、C++?
geying
2018-07-31 08:57:33 +08:00
我精通各种语言和框架...

的 hello world
Clarencep
2018-07-31 09:03:08 +08:00
精通 C 语言本身并不困难,困难的是精通你的业务用到的所有的 C 库
macha
2018-07-31 09:07:54 +08:00
写 C++但不精通的路过。C++好歹还有一个 STL 可以用用,C 语言只能一起从头撸起了。
harry890829
2018-07-31 09:08:53 +08:00
@frqk #72 !!!!这个衣服哪里买啊


我写了 4 年 c/c++,我知道我只是一个渣渣
ytmsdy
2018-07-31 09:14:33 +08:00
现在越来越觉得,写 C/C++的才是真正的程序员啊。
一般人 C++的指针就能喝一壶的了,但是我见过有人写出指针+指针+指针的程序!
C++领域是大牛横行的地方,一般都是三四十岁的大叔,而且都很低调。
AngryLi
2018-07-31 09:15:49 +08:00
前不久面一个“精通 C++”,问了下平时用的多吼?“没,也就是一部分 SDK 会用到一点”。这就是简历上的精通
dosmlp
2018-07-31 09:22:55 +08:00
这么简单的语言,我敢说我精通
zhzer
2018-07-31 09:27:47 +08:00
@frqk 那么,那里可以买到呢???
firejoke
2018-07-31 09:37:41 +08:00
@frqk 求 python T 恤的链接!!!
karllynn
2018-07-31 09:52:47 +08:00
这个标题看了想 block 楼主…
fyxtc
2018-07-31 09:54:02 +08:00
精通语言真的很无聊。。。精通某个领域知识才算比较有价值吧
silencefent
2018-07-31 09:56:21 +08:00
你敢说你精通 C ?
是啊(便乘)
那你说说这个技术用 C 解决的思路要点
说不出呀
那你说精通 C ?
你只问我敢不敢嘛
yingtl
2018-07-31 10:07:25 +08:00
常年用 C 的路过
Yoock
2018-07-31 10:07:34 +08:00
精通 c,写 c 的时候脑子里就会出现编译后的汇编。
wuweidong0107
2018-07-31 10:18:51 +08:00
你们对精通某种语言是不是有误解,我理解的精通是你能用这种语言去阅读优秀的代码并且写出优秀的代码,这些不是基于单纯某个语言的,而是基于你对软件的理解。
Commencal
2018-07-31 10:56:59 +08:00
@silencefent 好臭哦,C 艹我超勇的(一 转 攻 势)
glfpes
2018-07-31 11:05:23 +08:00
上一次真正写 C 还是嵌入式课程的大作业,好像是在一个什么板上调用忘记了什么东西,写 1 个能打电话发短信有电话本能拍照录像有相册还能用 opencv 人脸识别外加 gps 定位和惯性导航,界面还是 QT 写的,这辈子就用过这一次 QT。

我估计为了买那个带超大触摸屏的板子,学校花的钱能买好几个诺基亚 5800
coderluan
2018-07-31 11:35:21 +08:00
“首先,可能是应用场景有限,最多的就是 Linux 底层应用编程,写驱动,嵌入式编程,网络相关的编程;”

最开始就说错了,凡是性能相关的库,很大部分都是(嵌着 SIMD 和汇编的) C 实现的,计算机视觉,机器学习,异构计算等等,只不过封装完之后你就认不出来而已。

所以说精通 C,其实是精通性能优化,毕竟语言只是工具,这就涉及到各种专业课程了,数据结构,算法,机组,编译原理,操作系统,不同方向还有相应方向的知识,图形学,GPU 编程啥的。

然后 C++(尤其是 11 之后)和 C 是两码事,应用场景也不同,性能优化一般也就用个封装和 STL,别的特性反而会拖慢性能。

最后有兴趣推荐看看 ffmpeg 源码,C 语言实现的非常牛逼。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/475377

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX