学习C 语言能做什么

小小的太阳ZH · · 664 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

注意:转载于https://blog.51cto.com/12483417/2431551

经常有小伙伴问我,你是做C/C++的,那学C语言可以做什么呢?尤其是还在学校的同学,感觉自己学了很久,什么也做不了,一度怀疑自己是不是不适合程序员这个方向。

开始我都是直接说可以开发嵌入式,做操作系统,开发数据库等等,说到这,其实大家就应该明白了,C语言是接近底层的,他的很多应用都是处在摸不着看不见的后台,这对于初学编程的同学确实太不友好了,大家都喜欢所见即所得的效果,要不python怎么这么火呢!

但是,作为编程排行榜经典不衰的语言,我还是想好好说下,到底学C语言可以做什么?


image.png

在计算机高速发展的最近几十年中,出现了上百种编程语言,有的编程语言是针对某个领域专门设计的,例如:
PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。


image.png

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。
image.png

Objective-C 只能用于苹果产品的开发,包括 iPhone、iPad、Mac、MacBook 等,Swift 改进了Objective-C,是一种新的编程语言,用于编写 iOS 和 OS X 应用。


image.png

Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种可用于微软自家产品开发的语言。
image.png

而大部分的编程语言不是针对某个特定领域设计的,它们能做很多事情,比较通用化。但是在长期的实践过程中,这些编程语言也找到了适合自己的位置,例如:
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java 可以用于网站后台开发、Android 开发、PC软件开发,在大数据领域也有应用。
image.png

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。主要用于系统运维、网站后台开发、数据分析、人工智能、云计算等领域。
image.png

Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近。Go语言除了用于服务器、通讯等较底层的开发,还能用于网站后台开发。
image.png

C语言也是一门通用性的语言,历史很悠久,就目前而言,C语言主要用于较底层的开发。


image.png

除了Windows、Linux、Mac、Unix等大型操作系统,还有freertos,ucos等嵌入式系统的内核都使用C语言开发;
开发硬件驱动;
开发系统组件或服务,用于支撑上层应用;
开发lua脚本,可以做到无缝衔接;
很多高级语言使用的库,底层也是C语言编写的,主要是考虑运行效率的部分。

当然,C语言也能用于PC软件开发,做出类似 QQ、迅雷、Chrome 等带界面的程序,但是由于C语言开发效率低,第三方库较少,实际项目中已经没有程序员这么做了,大家已经转向了 C++。

初学者的疑问

既然C语言能做这么多事情,为什么很多初学者学完C语言以后仍然非常迷茫,只能编写没有界面的控制台程序呢?


image.png

这是因为,C语言仅仅是一个工具,它的标准库也很简单,只提供了最基本的功能,如果希望开发出实用的程序,往往还需要学习其他方面的知识。例如:
开发硬件驱动要学习数字电路,了解 Windows 或 Linux 内核,阅读硬件厂商的接口说明书;
从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等;
开发PC软件要学习Windows编程,了解 GTK。

可以这么说,如果只会C语言,基本上是找不到工作的,读者要选定一个方向,继续学习其他知识。后面你会发现,C语言不过是冰山一角,是一项基本技能而已,程序员要学习的东西还很多。

另外,学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。

此外,C语言能够让你更加深刻的认识内存和编译原理,了解程序的每一个细节,夯实基本功,站得“低”才能望的远,所以优秀的程序员都会学习C语言。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:小小的太阳ZH

查看原文:学习C 语言能做什么

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

664 次点击  
加入收藏 微博
上一篇:go 开发小结
下一篇:5-2
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传