前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Python完全自学教程》免费在线连载1.8

《Python完全自学教程》免费在线连载1.8

作者头像
老齐
发布2022-04-01 09:53:51
7550
发布2022-04-01 09:53:51
举报
文章被收录于专栏:老齐教室

1.8 IDE 简介

所谓 IDE ,全称是 Integrated Development Environment ,或者 Integration Design Environment、Integration Debugging Environment ,中文全称是“集成开发环境”。一般来讲,它跟开发语言无关。参考“维基百科”的“集成开发环境”词条,对 IDE 如此解释:集成开发环境( IDE )是一种软件应用程序,为开发者提供软件开发所需的代码编写、自动化构建和调试等功能。

很早的程序是不需要用 IDE 开发的,因为那时是通过打孔卡给计算机编程(如图1-8-1所示)。

图1-8-1 IBM 的80列标准打孔卡 图片源自“维基百科”的“打孔卡”词条

1964年发明的 BASIC 编程语言是第一个有 IDE 的编程语言,只是那时的 IDE 是命令行界面( Command-Line Interface,CLI ),类似的 IDE 现在仍然存在,比如 Vim 和 Emacs 。如今流行的 IDE 多是图形用户界面( Graphical User Interface,GUI ),比如 Visual Studio Code、Eclipse 等。

一款适合的 IDE 能够提升开发者的生产力,将开发工作的各个环节密切地整合起来,例如编辑代码同时检查语法错误、代码自动补全;将源码管理工具(比如 Git )融入到 IDE 等。

不同的开发者有不同的偏好,不同的项目有不同的需要,因此,一般而言没有哪一个 IDE 能够“一统江湖”,尽管有的 IDE 号称“普遍适用于”各种场景,也只能是在某个领域或者文化范围中的应用比例相对较高罢了。

即使是维基百科对 IDE 的描述也并非是严格定义,或者说现在很难用一个严谨的标准来判定某款编辑代码的软件程序是或者不是 IDE,也没有必要为此而争论——除非要做一个名词概念的“科研课题”。所以,接下来所介绍的几种可以用来编写代码的应用程序,并不是所有人都认为是 IDE ,但作者没有兴趣对此进行严格的辨析,读者如果认为将它们放在“ IDE ”之下不适合,就权当是介绍几个与编程有关的工具软件吧。

1.8.1 Vim

Vim 是一个很先进的文本编辑器,它是从另外一个名为 vi( visual 的不正规缩写)的文本编辑器发展而来,最初的作者是布拉姆·米勒( Bram Moolenaar )。1991年11月份发布了初始版本——此时 Vim 是 Vi IMitation 的简称。后来,Vim 被移植到 UNIX 和 MS-DOS 上——其全称又变成了 Vi IMproved 。自此之后,Vim 就跟 UNIX 形影不离,乃至于此后发展出来的 Linux 上,Vim 也是标配的文本编辑器。

随着时代的发展,Vim 也在不断增加新的功能,比如 Vim 4.0 开始实现 GUI ,Vim 5.0 实现了语法高亮,Vim 6.0 增加了代码折叠、分割视窗等,Vim 7.0 有了拼写检查、代码自动补全,编写本书时的最新版 Vim 8.2 ,有了更丰富的插件,在依然保持“小巧”的情况下,越来越向 Emacs 靠近(参阅1.8.2节),可以说 Vim 8.x 已经“现代化”了(如图1-8-2所示)。

图1-8-2 Vim 8.0 界面

Vim 很受 Python 开发者欢迎——更准确地说是早期的 Python 开发者,此间原因未加探讨,有兴趣者可以分析。

如果使用 Vim ,可以到其官方网站 vim.org 下载与操作系统匹配的安装程序(如图1-8-3所示)。

图1-8-3 Vim 下载界面部分截图

在 Vim 官方网站的首页,有一幅有意思的漫画,此处摘抄下来(如图1-8-4所示)。

图1-8-4 关于 Vim 漫画

漫画中,第一幅图就指出 Emacs 虽然功能强悍,但是“太重了”;第二幅图则指出 Vi 是一个奇怪的家伙——不符合人体工学的要求;最好的就是 Vim :短小精悍,还免费。

在开发者中,也流传着很多关于 Vim 和 Emacs 逸闻趣事。

1.8.2 Emacs

严格地说,Emacs 不是一个编辑器,而是一个编辑器家族。它自诞生以来,演化出了众多分支,比如 GNU Emacs、XEmacs ,而且在这两个分支基础上还有更多变种。

Emacs 的拥趸常说它“像个操作系统”,这是因为 Emacs 除了具有文本编辑和其他编程常用的功能之外,还有(以下所列仅仅是部分,内容参考“维基百科”的“ Emacs ”词条):

  • 收发电子邮件、新闻组
  • 登录远程主机
  • 访问 Twitter
  • 编辑电子表格
  • 模拟其他编辑器,如 vi、WordStar、EDT、TPU 等
  • 编辑维基百科
  • 计算器
  • 记笔记、日记
  • 管理日程
  • 浏览网站

等等。当然,每个功能都由插件实现。通过此列表,就可以理解图1-8-4中第一幅的含义了。Emacs “像个操作系统”,的确“太重了”。但是,这并不能挡住拥趸们的狂热,冒昧揣测,或许是出身高贵——1970年诞生于 MIT 人工智能实验室。若要体验 Emacs 的强悍,可以到官方网站 https://www.gnu.org/software/emacs/ 下载最新版本(如图1-8-5所示)

图1-8-5 Emacs 下载页面部分截图

已经了解 Vim 和 Emacs ,应该如何选用?不要着急做出决策,再看一个令人不寒而栗的“学习曲线图”。图1-8-6是网络上流传的这两款编辑器的学习曲线图对比:

  • Vim ,起步就是山顶,但是后面一马平川。这意味着只要入门,以后轻松——但入门的门槛高。
  • Emacs ,可以“零基础”起步,但要不停地“自我内卷”——用到老,学到老。

图1-8-6 学习曲线对比

所以,江湖上流传着这样说法:Vim 是“编辑器之神”——精悍、高效,Linux 必备;Emacs 是“神的编辑器”——只有“神”才能熟练应用所有功能。

对于这两款编辑器,如果读者望而生畏,也不为过。是否尝试,请自己决断。

自学建议 此处抄录王安石的散文《游褒禅山记》的部分内容: 夫夷以近,则游者众;险以远,则至者少。而世之奇伟、瑰怪,非常之观,常在于险远,而人之所罕至焉,故非有志者不能至也。有志矣,不随以止也,然力不足者,亦不能至也。有志与力,而又不随以怠,至于幽暗昏惑而无物以相之,亦不能至也。然力足以至焉,于人为可讥,而在己为有悔;尽吾志也而不能至者,可以无悔矣,其孰能讥之乎?此余之所得也!

1.8.3 其他

除了 Vim 和 Emacs 之外的代码编辑器,都归类到本节,也有的资料把它们才归类为真正的或狭义的 IDE 。这类 IDE 都是 GUI 类型,并且基本操作方法雷同——通常“鼠标+菜单”能完成所有操作。

1. Visual Studio Code

Visual Studio Code(简称:VS Code )是微软出品的免费代码编辑器,默认支持 JavaScript、TypeScript、CSS 和 HTML,通过下载扩展插件支持 Python、C/C++、Java 等多种编程语言,还具有语法高亮、代码自动补全、代码折叠等常用功能。

VS Code 的官方网站是:https://code.visualstudio.com/ ,可以根据自己的操作系统下载相应的安装程序,图1-8-7所示的是其编辑界面。

图1-8-7 VS Code 界面

VS Code 的诱人之处在于任何人都可以开发扩展,并且背靠微软的大树,颇受开发者欢迎(2019年 Stack Overflow 调查显示,在87317的受访者中有50.7%的声称正在使用 VS Code ),如果读者在安装了 VS Code 之后,可以在 https://marketplace.visualstudio.com/VSCode 查看所需扩展,或者在 VS Code 内部进行搜索,如图1-8-8所示,确认本地计算机已经连接到国际互联网后,根据自己的需要,点击“ Install ”按钮即可安装该项。

图1-8-8 搜索 Python 语言的扩展

2. PyCharm

在介绍 PyCharm 之前,要先了解 JetBrains 公司,这是一家捷克软件公司(特别声明:本书作者和出版社与此公司无任何利益关系),它生产了很多面向开发者的工具:

  • IntelliJ IDEA:Java 语言的 IDE;
  • GoLand:Go 语言的 IDE;
  • AppCode:Swfit 和 Objective-C 的 IDE;
  • RubyMine:Ruby 的 IDE;
  • PyCharm:Python 的 IDE;
  • ……

PyCharm 是 JetBrains 公司开发的主要用于 Python 语言开发的 IDE,它具有 Windows、macOS 和Linux 版本,并且发行有社区版和专业版。除了具有常规 IDE 的功能,如:代码分析、程序调试等之外, PyCharm 还特别对 Django、Flask 等常用的 Python 网络开发框架给予支持。

PyCharm 官方网站是 https://www.jetbrains.com/pycharm/ ,读者可以根据自己的需要至此下载。

3. Jupyter

很多人并不将 Jupyter 视为 IDE,特别是做软件开发工作的程序员,他们往往依据 Eclipse(一款 IDE 软件) 或 VS Code 等来判断别人家的是不是 IDE,未免狭隘。须知,当今如火如荼的数据科学领域,Jupyter 是最受欢迎的代码编辑工具——从狭义的角度讲,可以加上“之一”。

Jupyter 是一个基于 Web 的交互式计算环境,当创建一个 Jupyter Notebook 文档(简称:Notebook,以.ipynb为扩展名)后,即可在其中编写程序代码,并基于浏览器运行和返回运行结果。

目前,Jupyter 官方网站 https://jupyter.org/ 提供针对各种常用操作系统的安装程序,以及对应的安装方法、使用文档等。图1-8-9所示为已经运行并创建了Jupyter Notebook 文档后的效果。

图1-8-9 Jupyter Notebook 截图

如果读者想深入了解 Jupyter 在数据科学中应用,可以参阅第12章12.4节示例内容,更完整的学习内容则请阅读拙作《跟老齐学Python:数据分析》(电子工业出版社出版)。

4. Anaconda

Anaconda 是另外一款在数据科学中常用的软件程序,其官方网站是 https://www.anaconda.com/ ,关于它的详细内容,读者可以自行浏览网页,此处不进行介绍,因为后面本书不使用它。

自学建议 阅读了本节内容之后,读者对 IDE 有了初步了解,就要至少选择并安装一种代码编辑软件。 有的学习者喜欢在这方面花费较大的精力,追求“大而全”、“完全自动化”、“最先进”、“更多绚烂技法”等听起来令人振奋的描述。看到或听到某种新奇的功能,也总想在 IDE 上实现。 至少对于初学者,我不赞成如上追求和做法。要认识到,IDE 终究只是写代码的工具,不能代替代码本身。在本书中,我不会使用任何 IDE 的花样技法演示代码的编写和调试——甚至于使用最笨拙的方法——而是要聚焦于编程语言本身。 至于应该选择哪种 IDE ,此处也不替读者决策,仅建议读者不要在 IDE 上花费太多精力。”

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老齐教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.8 IDE 简介
    • 1.8.1 Vim
      • 1.8.2 Emacs
        • 1.8.3 其他
        相关产品与服务
        腾讯云代码分析
        腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档