C语言探索之旅 | 第一部分第二课:工欲善其事,必先利其器

上一课是 [C语言探索之旅 | 第一部分第一课:什么是编程?(https://www.jianshu.com/p/e5a138921861)
) ,这一课我们就正式进入 C语言编程的正题了。

这一课我们将回答以下问题:

我们需要什么软件来编程呢?

这一课大家可以轻松地度过,因为没有什么难点(不过也有不少知识点)。我们会花点时间来认识一些常用的编程软件。

应该好好享受这一课,因为下一课开始我们就要一起写程序了,所以该喝咖啡的喝咖啡,该吃烤鸡的吃烤鸡,休息好了,才能上阵。

2. 编程的必要工具

依你看,什么软件对编程来说是必要的呢?如果你认真学了上一课,那你至少可以说出一种吧。

对了,就是编译器。这个重要的程序可以把你的源代码(用高级语言(比如 C语言)写的指令)转换成电脑可以理解的二进制码(只包含 0 和 1 的,例如 01100110001111011101010)。

上一课我们也提了一下,每种高级语言都有对应的编译器(当然对于 Python 这样的解释性语言,就不需要编译了),光是 C语言的编译器就有很多。

比较常用的有 GCC(GNU C Compiler。GNU 是国际著名的自由软件基金会,GNU 是“GNU is Not Unix”(GNU 不是 Unix)的递归缩写法。

老外总是那么顽皮,起名字也喜欢整一些编程的知识,比如 Linux 就是“Linux Is Not Unix”(Linux 不是 Unix)的递归。要不就用很多动物的名字或图标,特别有意思)。

除了编译器,我们还需要什么工具呢?

就不卖关子了吧,下面列出编程的基本工具:

  • 文本编辑器:Text Editor。用来写源代码的工具。理论上 Windows 操作系统的记事本或者 Linux 下的 Nano 编辑器都可以作为文本编辑器来使用。但是,最好还是用一些更高级一点的文本编辑器,比如可以支持代码高亮显示,方便你在代码间跳转,等。个人推荐的文本编辑器是 VS Code 、 Vim 或 Emacs 。这几个文本编辑器真的非常强,跨平台(Windows、Linux、macOS,等),可以自由定制,各种快捷键组合,有的还可以收发邮件,看视频,浏览网页,浏览 PDF,没有做不到,只有想不到(略有夸张...),可以让你编辑代码非常高效。Vim 和 Emacs 是老牌的文本编辑器,粉丝很多。VS Code 是微软在 2015 年发布的一款免费开源的现代化轻量级代码编辑器,现在也非常火。

  • 编译器:Compiler。已经提过了,用来转换(或叫“编译”)你的源代码成为二进制码。

  • 调试器:Debugger。用来跟踪、发现程序里的错误的工具。这里出现一个新名词,调试(debug)。bug 是英语“臭虫,虫子”的意思,de 在英语里是一个表示“分离,除掉”的前缀,所以 debug 的意思就是“除臭虫”。一般把程序里的错误或者缺陷叫做 bug,据说是因为传奇女程序员 Grace Hopper(格莱斯.霍普)有一次在 MARK II 计算机(就是那种早期的比较庞大的电脑)中发现了一只飞蛾,这只飞蛾导致了这台电脑死机(夹在电脑的继电器之间),霍普用镊子把飞蛾夹出来,用透明胶布贴到笔记本上,并注明“第一个发现虫子(bug)的实例”。从此,人们就沿用了这个有趣的称呼,用 debug 来表示排除程序错误的行为。现在霍普的笔记本,连同那只“呆萌”的飞蛾,陈列在美国历史博物馆里。在 Linux 下,常用的调试器是 GDB(GNU Debugger)。

image

当然,如果你有冒险精神,喜欢挑战,也可以不用调试器(通过一些小技巧也是可以自己找到错误所在的)。但是,我想一般来说你是会需要调试器的。

所以,我们就有两个选择了:

  1. 分开使用文本编辑器,编译器和调试器这三种工具。虽然复杂一些,但是也行得通。在 Linux 环境下,不少程序员还是喜欢用这种方式来编程。可能不是“装”,要的就是这个 feel,倍爽儿。

  2. 使用一种软件,这种软件集合了这三种工具的功能。这种软件被称为 IDE(是 Integrated Development Environment 的缩写,表示“集成开发环境”)。

一开始你可能会难以抉择,到底用哪种呢?即使选择了用 IDE,也会纠结到底用哪一个 IDE 好呢。

其实我们可以肯定的是:不论你选择哪种工具,你都可以编写你想要的程序。只是效率,个人习惯和特定平台要求不同罢了。

其实,你也可以用 VS Code、Vim、Emacs 这样的文本编辑器,通过安装一些插件,使其能够编译运行 C语言的程序。网上有不少图文教程,请大家自行搜索。

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群1075673198,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

3. 选择你的 IDE

我觉得有必要向大家展示几个最著名的 IDE:

  • Clion :跨平台的 IDE。目前我个人认为最棒的 C语言或 C++语言的 IDE,由著名的 JetBrains 公司开发。JetBrains 的明星 IDE 还有 PyCharm(适用于 Python 语言),WebStorm(适用于 JavaScript 语言),IntelliJ IDEA(适用于 Java 和 Kotlin 语言),GoLand(适用于 Go语言),等等。JetBrains 公司还开发了 Kotlin 语言,还和 Google 公司合作发行了 Android 的最强开发 IDE:Android Studio。JetBrains 的 Clion 这款 IDE 非常强大,用户体验非常好。 缺点 :基础版本是收费的。不过,如果你是学生或教师,或者目的是课堂教学,或者你有不错的开源项目,或者如果你是,可以享受 JetBrains 的免费或减免优惠,请见 www.jetbrains.com/idea/buy/#d… 。

  • Eclipse :免费,开源,跨平台的 IDE。老牌的 IDE 了,Eclipse 也是一个开源基金会,旗下有不少优秀的开源项目。如果要用 Eclipse 来开发 C语言或 C++语言的程序,需要下载安装 Eclipse CDT 这款 IDE。 缺点 :近几年感觉被 JetBrains 公司的 IDE 抢了风头。我早年编程或开发 Android 应用的时候使用过 Eclipse,但现在我已经完全投向 JetBrains 的怀抱(Python 编程我用 PyCharm,C/C++ 编程我用 CLion,Java/Kotlin 编程我用 IntelliJ IDEA,Android 开发我用 Android Studio,等等),因为 JetBrains 的 IDE 真的都太好用了。不过目前还是有不少人使用 Eclipse 来进行开发的。

  • Code::Blocks :免费,开源,跨平台的 IDE。Code::Blocks 的开发环境搭建起来非常快,几乎不需要什么配置。 缺点 :近几年 Code::Blocks 更新有点缓慢,只有 Linux 和 Windows 的版本有陆陆续续的更新。感觉这款开源社区维护的 IDE 可能人手和资金有不足的趋势。

  • Visual Studio :简称 VS。VS 功能很完备,而且调试器很强大。 缺点 :只能运行在 Windows 操作系统上,安装体积大。基础版本是收费的。有一个 Visual Studio Community 的社区版本是免费的。

  • Xcode :作为苹果的编程当家 IDE,不得不说 Xcode 做得相当不错。可以用来开发基本的小程序,也可以编写 iPhone、iPad 和 macOS 的 app(模拟器速度超快),和智能手表应用,还可以和其他如 Unity 3D 引擎配合来编写游戏。 缺点 :只能运行在苹果 macOS 操作系统上,安装体积大。

对于各个平台的学习 C语言的用户,我个人的一些建议是:

  • Windows 用户:可以安装 Code::Blocks,或者 Visual Studio,或者 Eclipse CDT,等等。

  • Linux 用户:可以安装 Code::Blocks,或者 Eclipse CDT,等等。当然了,如果你是 C语言的初学者,Linux 下其实我比较推荐用文本编辑器来写 C语言的源代码,然后用 GCC 来编译,用 GDB 来调试 C 语言的程序。要入门并提高 Linux,可以看我在慕课网的实战课程《 Linux核心技能与应用 》,或者专栏《 Linux命令行与Shell脚本编程大全 》。

  • macOS 用户:可以安装 Xcode,或者 Eclipse CDT,或者 Visual Studio for Mac,等等。

学习这门 C语言的课程,大家可以随意选用自己最喜欢和使用最顺手的 IDE,网上也有各种 IDE 的下载安装的图文教程,我就不一一演示了。我希望大家能够下载安装自己最喜欢和用起来最顺手的 IDE,通过 IDE 官网的教程或者网上的图文教程来安装配置好 IDE,并学会如何创建一个 C语言的项目,并运行。 当然,我前面提过,你也可以用 VS Code、Vim、Emacs 这样的文本编辑器,通过安装一些插件,使其能够编译运行 C语言的程序。 本课程中我会提供 C语言的代码。IDE 的选择我会使用个人喜欢的 IDE 来做演示。

你可能感兴趣的:(C语言探索之旅 | 第一部分第二课:工欲善其事,必先利其器)