这些优秀的编辑器和编译器你知道吗?

作为一个程序员每天打交道最多的就是编辑器和编译器,那么这些优秀的编辑器和编译器你都知道吗?

编辑器

  1. Notepad++
    Notepad++是Windows下的一套免费的文本编辑器,同时支持众多计算机程序语言。速度快且占用资源少,但是功能也毫不含糊,Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
  2. vim
    vim(Unix及类Unix系统文本编辑器)是一个功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
  3. Sublime Text
    Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
  4. Eclipse
    Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用,或预计将会推出。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
  5. Emacs
    Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim。 相比 vim,Emacs 的启动时间更长,所需要的内存也更多。但是,它是高度可定制的,并且包括了大量的功能。Emacs是目前世界上最具可移植性的重要软件之一,能够在当前大多数操作系统上运行,包括类Unix系统(GNU/Linux、各种BSD、Solaris、AIX、IRIX 等等)、MS-DOS、Microsoft Window 以及OpenVMS等,还有移动Android平台以及iOS。
  6. Atom
    Atom 是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。常用于web 开发, 也可用于 php 等后端开发。缺点:打开大文件卡死,svn 支持较差,未来可能收费。

编译器

  1. GCC
    GCC也叫GNU编译器套件(GNU Compiler Collection),是由 GNU 开发的编程语言编译器,包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。
    gcc将高级语言编译成机器可以识别的语言一般经过一下四步:
    1.预处理:去掉注释展开代码
    2.编译:语法语义纠错,将C语言解释成为汇编代码
    3.汇编:将汇编代码解释成为机器指令
    4.链接:链接库文件中的代码
  2. Clang
    Clang是由Apple主导编写,基于LLVM的一个C语言、C++、Objective-C语言的轻量级编译器。源代码发布于BSD协议下。Clang将支持其普通lambda表达式、返回类型的简化处理以及更好的处理constexpr关键字。
    特色:
    终端用户特色:
    快速编译和较少内存占用 ;有诊断功能;兼容GCC;
    实用工具和应用:
    基础架构模块库;可满足多样的客户需求(代码重构,动态分析,代码生成,等);允许集成到各种IDE中;使用LLVM’BSD’协议;
    内部设计与实现:
    一个不可移植的代码库;一个为C语言、Objective-C、C++、Objective-C++设计的非通用(Non general-purpose)的语法解析器;与C/C++/Objective-C及它们的衍生语言具有高度一致性;

优秀的编辑器和编译器实在太多了就不一一列举了。写出优秀的代码才是王道!

你可能感兴趣的:(这些优秀的编辑器和编译器你知道吗?)