阿里巴巴|学习C语言,对我的工作到底有没有帮助


阿里巴巴|学习C语言,对我的工作到底有没有帮助
文章图片
阿里巴巴|学习C语言,对我的工作到底有没有帮助
文章图片
如果您只想成为团队中的一员 , 而不是团队中最高级的成员 , 不负责高性能或大型系统 , 不进行任何重型服务器开发 , 并且可以将工作范围限制在频谱的子集(比如Visual Studio中的GUI开发) , 那么您可能会相处得很好 , 并且在不了解或学习C的情况下也能取得成功 。
但是 , 我上面提到的所有这些都是对您职业的限制 。 对于某些人来说 , 这些限制很好 , 您仍然会觉得开心 , 并且可以在这些范围内成功 。 但是 , 它们是界限 , 它们将限制您可以做的工作种类或可以解决某些问题的深度 。 因此 , 不了解C之类的东西可能会在某些方面妨碍您 , 并且在某些时候 , 您将不得不向团队中的其他人寻求帮助 。
【阿里巴巴|学习C语言,对我的工作到底有没有帮助】让我给你举一个上周刚刚发生的例子 。 我朋友他正在后端使用node.js / handlebars开发一个Web应用程序 。 一端是节点 , 另一端是浏览器 , 它应该全部是Javascript 。 但是 , 应用程序的一部分需要读取服务器上的一些温度传感器 。 有一个节点库 , 可以通过Javascript与传感器交互 , 但是该库缺少他需要的功能 , 而另一个功能似乎对他的使用方式有问题 。 由于它是开源的 , 因此我朋友研究了该库的源代码 。 它具有javascript接口(这就是他一直在调用的接口) , 但是在下面(由于无法避免的原因) , 它调用了一些直接的C代码 。 因为我朋友了解C , 所以他可以对该库的C部分进行较小的更改 。
也就是说 , 这些天他几乎不会选择C作为项目的主要语言 。 他更有可能选择一种高级语言 , 然后根据需要仅使用C语言中的某些部分进行编码 , 以与硬件或OS交互 , 而这是他从其它语言中无法实现的 , 或者无法优化代码某些部分的性能(例如加密算法) 。
最后 , 并不是C语法才是了解C的最重要方面 。 重要的是了解它与指针 , 内存结构 , 内存管理 , 堆栈 , 线程同步等配合使用的下层方式 。 这可以帮助您了解代码(无论是什么语言)在实际中如何运行和工作 。 而且 , 知道这可以帮助您即使使用高级语言也可以成为更好的程序员 , 因为您可以了解它在幕后的实际工作方式 。 当然不是必需的 , 但是可以使您成为更好的整体软件开发人员 。