《C程序员从校园到职场》第1章 概述

本章介绍C语言的发展历史和主要特点,以及实际项目工作中软件开发工程师常用到的工具软件。

C语言是1972年由美国贝尔实验室的计算机科学家Dennis Ritchie(丹尼斯·里奇)设计发明的。因此,Dennis Ritchie被誉为“C语言之父”(他已于2011年10月9日去世,享年70岁)。图1.1所示的人物就是Dennis Ritchie。

1

图1.1 “C语言之父”Dennis Ritchie

Dennis Ritchie曾在哈佛大学学习物理学和应用数学,1967年进入贝尔实验室工作。作为计算机科学家,在他身上有很多可贵的、值得我们学习的品格,例如:第一,他对所做的事十分有兴趣;第二,跳出舒适区工作,不断挑战自己;第三,有创新思维,不拘泥于条条框框;第四,喜欢分享,不藏匿自己的核心技术。

Dennis Ritchie对计算机科学的贡献主要有以下几个方面:第一,作为“C语言之父”,他最大的贡献当然是发明了C语言;第二,1973年他与Ken Thompson合作,把UNIX 90%以上的内容用C语言改写,因此也被誉为“UNIX之父”;第三,1978年他与Brian W. Kernighan一起出版了名著The C Programming Language(《C程序设计语言》),此书已被翻译成多种语言,成为C语言方面最权威的教材之一。

基于Dennis Ritchie的杰出成就,1983年他与Ken Thompson一起获得了图灵奖。1999年,Dennis Ritchie和Ken Thompson因为在发展C语言和UNIX操作系统方面所做出的贡献一起荣获了美国国家技术奖章。

作为在国际上广泛使用的计算机编程语言,C语言的发展简史如图1.2所示。

C语言到底有多少人在用?C语言的受欢迎程度如何?如图1.3所示为CodeForge网站公布的2014年11月“我最喜爱的编程语言”排行榜。

这个排行榜来自2014年11月对56000多名软件工程师的问卷调查。该排行榜非常清楚地反映了在世界不同国家和地区各种编程语言的流行程度,可供软件工程师及IT相关行业人士参考。

从图1.3可以看出,在全球范围内,C语言的受欢迎程度位居排行榜的榜首。因此,C语言使用得非常广泛。

2

图1.2 C语言的发展简史

3

图1.3 2014年11月“我最喜爱的编程语言”排行榜

C语言是一种功能强大的、被广泛应用的面向过程的编程语言,可用于编写系统软件和应用软件。

C语言的主要特点如图1.4所示。

如图1.4所示,C语言的诸多特点使其越来越受到广大软件开发人员的青睐,也使其成为了使用人数最多的计算机编程语言之一。学习好C语言,对于深入学习计算机科学的其他课程都是很有好处的。

4

图1.4 C语言的主要特点

有一次,我打开电视机准备随便看看,无意中被一部战争片吸引住了。成千上万的战士搭起云梯,想攻破一座城池。但是城楼上面的敌人负隅顽抗,拼了命地阻击进攻。双方的伤亡都很惨重,但城就是攻不下来。眼看剩下的人不多了,突然不知从什么地方开出一辆坦克,两炮就把城门轰开了。战士们趁势攻入城中,将敌人全部歼灭了。

这类电视剧比较常见,相信大家看了不止一次。但是,我看完之后,那个场景还一直留在我的脑海里。成千上万的人不如一辆坦克来得直接,说明了什么问题呢?我立马想到了一句俗语:工欲善其事,必先利其器。

的确,工具对于软件开发工程师来说,真的是很重要。好的工具能够提高开发的效率,进而缩短产品的研发周期。那么,在实际的软件研发项目中,软件开发工程师常用的工具软件有哪些呢?

Microsoft Visual Studio(VS)是美国微软公司的开发工具包系列产品。它是一个较为完整的开发工具集,包括了整个软件生命周期中所需要的大部分工具,如集成开发环境(IDE)等。

Microsoft Visual C++ 6.0(VC或者VC6.0),是微软推出的一款C++编译器,将“高级语言”(如C、C++等)翻译为“机器语言”的程序。它是一个功能强大的可视化软件开发工具,已成为大多数专业程序员进行软件开发的首选工具之一。现在的最新版C++编译器集成在Microsoft Visual Studio 2015软件里面。

用Microsoft Visual C++ 6.0软件打开的代码如图1.5所示。

5

图1.5 用Microsoft Visual C++ 6.0软件打开的代码

鉴于使用Microsoft Visual Studio/Microsoft Visual C++ 6.0进行软件开发的人员很多,有热心人士为其开发了一款叫做Visual Assist X的插件。Visual Assist X是一款非常好的Microsoft Visual Studio/Microsoft Visual C++ 6.0插件,支持C、C++、Java等语言,能够自动识别各种关键字、系统函数、成员变量,同时能够自动给出输入提示、标示错误、更正大小写错误等,有助于提高开发效率。

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C、C++、Java等程序的分析。它能够分析你的源代码,并自动为你显示有用的上下文信息。

Source Insight不仅是一个强大的程序编辑器,还提供了最快速的对源代码的导航信息。该工具被视为如今最好用的语言编辑器之一。

用Source Insight软件打开的代码如图1.6所示。

6

图1.6 用Source Insight软件打开的代码

Notepad++是一款很有特色的Windows环境下免费开源的代码编辑器。除了可以用来制作一般的纯文字说明文件之外,也十分适合用作代码程序的编辑器。

Notepad++极具特色的一个功能就是语法的高亮度显示,方便了对关键词语的阅读。它支持的语言包括C、C++、Java等。

用Notepad++软件打开的代码如图1.7所示。

7

图1.7 用Notepad++软件打开的代码

1.Araxis Merge

当程序代码比较多(成千上万行)的时候,我们想要了解最新代码与之前某个时期的代码的不同之处,并不是一件容易的事情。这样,代码比较工具就应运而生了。Araxis Merge和Beyond Compare是两款用得较多的代码比较工具。

Araxis Merge是一个可视化的文件比较、合并和同步的软件,能够方便地被软件工程师用于快速精确地比较不同版本的源文件。此外,它还能被用于进行版本和质量控制。

用Araxis Merge软件进行代码比较如图1.8所示。

2.Beyond Compare

Beyond Compare是一套由Scooter Software推出的软件,主要用于文件之间的比较。对于软件开发工程师来说,它可以用来发现不同版本代码或文档的不同,使用起来非常方便。

8

图1.8 用Araxis Merge软件进行代码比较

用Beyond Compare软件进行代码比较如图1.9所示。

9

图1.9 用Beyond Compare软件进行代码比较

Evernote(印象笔记)是2012年5月10日由Evernote公司推出的一款产品,具有储存重要资料、剪辑网页、图片搜索等功能。

对于软件开发工程师来说,Evernote可用于记录阅读过的重要技术书籍的笔记、在工作过程中的一些想法,以及软件实践或论文等。

Evernote软件的界面如图1.10所示。

10

图1.10 Evernote软件的界面

在工作过程中,我们会不时地需要用FTP工具来上传或下载一些东西。FileZilla是软件开发工程师用得较多的FTP工具之一。

FileZilla是一款免费的、开源的FTP软件,分为客户端版本和服务器版本两种。它具备所有的FTP软件功能,使用起来非常方便、快捷,曾在2002年11月获选为当月最佳推荐专案。

FileZilla软件的操作界面如图1.11所示(在使用的时候,需要输入正确的主机IP地址、用户名和密码,端口号一般使用默认的21)。

11

图1.11 FileZilla软件的操作界面

在实际的软件开发过程中,UltraEdit也是一款经常会使用到的工具软件。它是一款功能十分强大的文本编辑器,可以用于编辑文本、十六进制、ASCII码等。当然,用它来编写C/C++代码也是十分方便的。

用UltraEdit软件打开代码之后的界面如图1.12所示。

好的工具对于软件开发工程师来说,就像优良的战斗武器对于战士一样重要。善于利用优秀的工具,可节省开发时间、提高我们办事的效率,进而提高软件产品的质量。因此,掌握一些常用软件的使用方法是非常重要的。

12

图1.12 用UltraEdit软件打开代码

本章对C语言的发展历史、C语言的主要特点,以及软件开发工程师常用到的工具软件进行了详细的介绍。本章对后续章节起到了一个抛砖引玉的作用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人民邮电出版社有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值