IDE or Editor?

IDE(集成开发环境)介绍

     IDE(IDE,Integrated Development Environment )集成开发环境:是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。(来自百度百科)

  每一种语言都有很多对应的IDE,比如C++开发的Code Blocks、Dev C++,Visual Studio;python的pycharm; php的phpstorm、zend studio;Golang有Liteide、goland;java有eclipse、myeclipse、InteliJ....很多很多,其实上面对于IDE的解释,结合工作中最常用的几个功能,也就下面这几个了:

  1. 自动缩进、代码格式化、语法高亮
  2. 智能感知、自动补全
  3. 代码片段
  4. 运行、单元测试、调试
  5. lint
  6. 项目结构管理(包、模块管理)
  7. 定时自动保存

  可以看到IDE的功能的确是挺强大的,这也就导致一个问题:臃肿。直观感受就是:

  1. 安装时间太长、启动慢
  2. 运行占用内存太大,卡
  3. 响应时间比较慢

  

代码编辑器(文本开发编辑器)

   代码编辑器,也可以说是文本编辑器,重点是:编辑器。

  常见的编辑器有:Notepad++、EditPlus、Sublime text、vs code、Vim..

  几乎所有编辑器都有自动缩进的功能,几乎所有编辑器都没有上面列出的IDE的其他功能。可以说,编辑器很纯粹,就是用来编辑文本的。同时,几乎每一种编辑器都支持插件,你可以下载自己需要的、喜欢的地插件。拥有插件的编辑器不一定比IDE差。

我的经历

  最初学习C++,使用codeblocks,当时就知道将代码写好之后,按一下F9就可运行代码,至于为什么可以运行代码,也是之后在大三的时候才知道。

  期间学习一些脚本,用的最多的就是sublime text,因为他可以切换主题,也可以安装插件,另外打开文件速度也很快(秒杀IDE)。

  之后工作期间,按照规定,都登录到堡垒机中进行开发,于是开始使用Vim,虽然快捷键有点多,但是用熟练之后,开发效率真的特别高,从此,我的所有编辑器,都装了vim插件。

  最近接触到VS code,他的特点就是:sublime text有的,他都有。关键是免费,别给我说搜sublime text的序列号,在公司,呵呵。

个人推荐

  我不会推荐哪一个IDE或者哪一个编辑器,我只要想说的是:如果你想稳扎稳打,那么在学习的时候,不要使用IDE;在真正的开发任务中,推荐使用IDE。

  为什么呢?其实大家都很清楚,IDE有那么多优点,可以省去很多手动编写代码的时间,在开发任务进行中,利用IDE来生成代码(甚至生成一个成型项目也是可以的),无疑可以加快开发进度,因为有各种检测和提示功能,也可以减少出错;

  但是,在学习过程中,最好不要使用IDE,除非你知道你的某个快捷键或者某个按钮在底层为你做了什么,为什么按一下快捷键就能运行,为什么点一下按钮就能导入包?底层执行了什么命令?

  另外,即使你学会了一个IDE的快捷键,如果换一个IDE,咋办呢?快捷键不一定通用呀!

  举个我学习Java过程中的一个例子:

  我一直用的是vs code,平时运行java程序,都是写的一个脚本(几十行的shell脚本),用这个脚本来执行java程序。学到Java连接数据库的时候,需要导入一个mysql的驱动,但是,惊奇的发现,书上、网上的博客、教程,全部都是使用eclipse来完成的(在eclipse项目右击“构建路径”--“配置构建路径”--“库”--“添加外部jar”--找到数据库的驱动jar包--点击确定。会在左侧包资源管理器中出现“引用的库”,在里面就能找到我们刚才导入的jar包)。

  为了学个Java连数据库,我还要去安装一个eclipse?真是搞笑,如果开发环境是纯命令行的Linux系统,那你就呵呵哒。

  当然,我不是说,用IDE就不好,IDE有他的优点,但在学习阶段,如果真的想要走的更远,那就别用IDE,虽然每一种语言有很多的API,并不需要你去记住API的每一个字母(最好能,但是不现实),但是真的需要你去 完整地、手动地敲几遍,即使日后使用IDE,那也是莫问题的;想想以后面试的时候,手写代码的时候,你好意思叫面试官给你准备电脑吗?别傻了!

  最后在说一句:学习是严谨的、需要脚踏实地。

猜你喜欢

转载自www.cnblogs.com/-beyond/p/9902750.html
IDE