只会炒一个拿手菜,算不算厨师?应该不算吧。那如果把C语言类比成一盘菜,精通C语言,可能也不算程序员。那我们换个问法:只精通川菜的人,算不算厨师?那所有都会回答:当然算厨师了。

我的看法是:C语言不像一盘菜,C语言博大精深,它更像是一个菜系。

所以这个问题的答案也就清楚了:只精通一门C语言的人,算不算程序员?当然算程序员了。具体有这么几个原因:

一、C语言是菜系,能力强大,变化多端,是人类可以接受的最低层级语言。

再往下,就是汇编语言了,那是给机器看的编程语言,对人类完全不友好,只能干点迷你型的活儿。C语言为人类设计,因为出来的太早,很多地方麻烦、晦涩、易出错,是人类可以接受的写大规模应用的最低层级语言。C语言胜在全面性,适应性,效率也非常高。所以很多其他编程语言,甚至操作系统,都是用C语言编写的。

一旦精通C语言,你就有了“徒手制造一台跑车”的能力,你说这算不算程序员?

二、精通C语言,已经是很难的事情了,已经是高级程序员。

因为时代久远的关系,C语言很多地方有点过时。比如指针之类的设计,带来了效率,也带来了很难排查的Bug。能够达到“精通”这个程度,按我理解,就是那些能够充分利用C语言的优点,又能避开C语言缺点的程序员,已经是高级程序员了。

三、只精通C语言,又是不足的,可能会让人止步于高级程序员。

前面说了,C语言本身设计上有点过时,为了效率,牺牲掉很多方便性。比如,C语言要额外花费很多的力气,才能支持基本的数据结构。如果习惯了现在流行的Java、Python、Ruby,再回去写C代码,会有一种极大的不适应——太不方便了。

在语言这个层级上花费过多精力,就会让人陷入“管窥效应”,忽略表现层和业务层的因素。换句话说,只精通C语言的高级程序员,可能当不了产品经理,也更做不了市场销售,将来靠C语言创业,也是一件难度很高的事情。

那要怎么做才能打破这种限制呢?就是要做编程语言上的T型人才,“一专多强”。

几个小建议:1、每年了解一种新语言。主要是体会不同的编程思路,打开思维。2、用新语言做一些“宠物小项目”。上手才学得快,学习新语言带来的“整体解决方案”。3、把其他语言中优秀的思想“移植”到C语言中。

每个语言中都有特别优秀的思想,即便不能直接“移植”到C语言中,也会帮助我们发现C语言本身存在的局限性,调整今后的工作方式。

比如,我用惯了Ruby后,再看C代码,就感觉自己每天一半的工作都是在写数组、写列表、写语言本该天然支持的基本元素,就感觉很生气,感觉C语言偷了我太多时间。那我这种观察,可能就会帮助我调整对C语言的看法,在今后的项目上做出更合理的选择。

再比如,我最早当程序员,是用C语言做电子玩具。当时我的组长,很痴迷面向对象编程,生生用C语言做出了一套OO框架,让我们可以直接用OO的方式去编程,大大提高了我们的工作效率。

说了这么多,小结一下吧:

只精通一门C语言的人,算程序员,甚至可以算高级程序员。但再往上,需要的就是“通才”了。所以,在精通C语言的基础上,博采众长,了解其他各种编程语言,很有必要。

合格的程序员精通c语言吗,只精通一门C语言的人算不算程序员?相关推荐

  1. 程序员是吃青春饭的,为啥还有这么多人想转行当程序员?

    作者:到处挖坑蒋玉成 因为化学生物吃的是青春屎 做人吧,学什么专业其实是次要的,关键是心中得有B数,贵21世纪学科的某些人,自己吃着青春屎,嘲笑别人吃青春饭,可以说是一点B数都没有了 而且啊,贵专业不 ...

  2. 社群微群人脉系统小程序版本源码下载

    这是一款小编自营的一款人脉小程序系统 小编自营大概有三个多月了吧一直没有给大家公开 现在因为小编在实现新版本的功能添加与更新 所以小编就把这一款开源分享给大家吧! 分享出来考虑到大家服务器等等效益所以 ...

  3. 成为程序员之前,这些“梗”得精通,并学会调用

    世界好梗千千万,程序员占了一大半,一般来说,如果你不是计算机相关专业.不是程序员,这些程序员梗,不要说没听过,就算有幸听到,也会不明所以,什么意思根本看不懂. 因此,假如你未来想成为一名程序员,这些梗 ...

  4. 黑马程序员:从零基础到精通的前端学习路线

    黑马程序员:从零基础到精通的前端学习路线 随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上 ...

  5. c语言为什么有这么多的编程环境?_为什么98%的程序员学编程都会从C语言开始?...

    在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢? 就让我来跟大家分享分享: 壹 第一:相比较其他的编 ...

  6. c语言程序流程图绘制软件,程序员都是用什么画图工具绘制C语言程序流程图?这个方法你需要知道...

    对于编程初学者来说,很多人都以为程序设计就是单纯的写代码,其实并不是,程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分,往往以某种程序语言为工具,给出这种语言下的程序,很多人在接到 ...

  7. 黑马程序员:PHP为何能成最抢手后端语言?

    2016(第十五届)中国互联网大会于6.21-23日在北京国际会议中心召开. 作为聚焦热点趋势的深度权威大会,此届互联网大会公布了下面一组数据:在刚刚过去的2015年,随着智能手机大力发展,移动互联网 ...

  8. 学了go语言再学java容易吗_年纪大了还想转行当程序员,现在学java还来得及吗-Go语言中文社区...

    现在流行这样一种论调:说程序员就是吃青春饭的,年纪大了就不要再转行当java程序员了.可是仍然还有许多人前赴后继的想来学java当程序员,但是心里面有隐约担心:年纪也不小的,快30了还能学java吗? ...

  9. 程序员入门c语言还是java,先学java还是c语言?入门学哪种语言?

    很多刚接触编程语言的小伙伴都会有一个疑问先学 Java 还是 C 语言?今天 W3Cschool 小编就来和大家简单介绍一些,做个对比相信小伙伴们能够自行作出适合自己的判断. 在探讨先学 Java 还 ...

  10. 导航编程用c语言还是c加加,C语言/C加加大神程序员老司机带你玩转C语言指针详解...

    很多初学编程的小伙伴都会选择C语言作为第一门学习的编程语言,因为C语言作为一门底层基础语言相对于其他的高层语言来说更加容易学习.可以来帮助正在学习编程的小伙伴更加快速的了解计算机原理. 但是初学C语言 ...

最新文章

  1. 目标定位--Deep Self-Taught Learning for Weakly Supervised Object Localization
  2. 关于ref 和 out 关键字【整理】
  3. mysql的联合索引_mysql联合索引
  4. Springbooot集成Shiro简单使用
  5. C语言编译器有哪些?
  6. unbuntu使用经典界面
  7. 蓝桥杯真题训练 2019.2题
  8. qpython 使用教程_python中spy++的使用超详细教程
  9. 以下不是python内置函数的是_Python内置函数
  10. SVN下载及语言包安装
  11. 使用hightopo完成基本图元旋转和闪烁
  12. 增量式PID公式的4点疑问和理解
  13. 透过 AI 技术解读人的行为 研究开发回声定位
  14. ubuntu激活pycharm
  15. 模型误差、观测误差、截断误差(或称方法误差)、舍入误差
  16. 计算机如何调音乐模式,均衡器如何调,音乐更好听
  17. pyspark.sql.functions.lit(col)
  18. HTML标签检查工具
  19. 在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制
  20. PDFBox学习总结

热门文章

  1. 三天搞定射频识别技术(一)1.3
  2. Linux日本云服务器安全设置的基本步骤
  3. 测试路由器丢包的软件,如何判断路由是否丢包以及丢包的原因和解决方法
  4. 2021年中国键合对准系统市场趋势报告、技术动态创新及2027年市场预测
  5. Scrapy 抓取 当当图书2018畅销榜的所有图书
  6. 为什么手机打电话的时候不能同时上网?
  7. 十年前与十年后的我们,流着泪看完的经典语录!
  8. 10_clickhouse,SummingMergeTree,AggregatingMergeTree(基于表,物化视图的使用)
  9. matlab 系统找不到指定路径
  10. Web3创始人和建设者必备指南:如何构建适合的社区?