C++编程工具

3

我的老师建议我们使用Notepad++和Cygwin来满足我们的编程需求。有没有更好的解决方案可以推荐,用于编写和编译代码?

11个回答

8

众多不同的IDE......Eclipse CDT、Visual Studio Express、Code::Blocks、DevCPP等等。

如果你只需要为作业编译单个文件,那么Notepad++和带有gcc的Cygwin也是一个非常可行的选择。


我想这些日子里我可能会尝试一下Visual Studio。 - soniccool
1
我强烈建议不要使用 DevCpp,除非你想调试 IDE。 :P 它现在不受支持应该被禁止;我不知道为什么它还这么受欢迎,当已经有 Code::Blocks 了。 - Archie

6

6

在我看来,对于初学者来说,非常重要的工具就是调试器。如果你使用调试器,很多问题都可以自己解决。虽然可以使用gdb,但对于初学者来说,它很难使用和理解。因此,我建议使用Visual C++ 2010 Express,它拥有出色且易于使用的调试器。


1
很多老师希望他们的学生先学习基础知识。但是今天的基础知识是什么?数组,指针,<cstring>,g++命令行使用?像std::string、std::vector和现代C++概念一样,调试器是新的C++程序员应该从一开始就学会使用的第一个工具之一。 - hansmaad

3

免责声明:

以下是个人意见,与我个人对该主题的喜好有关。程序员社区中的任何人都有自己的口味和偏好,可以同意或不同意。在这里,我只想告诉你一些理性。将产品及相关名称视为“示例”。

我的答案主要有三种编写代码的方式:

  • 手动输入
  • 使用辅助工具
  • 自动化编写。

将它们视为:

  • 独自驾车
  • 使用导航器驾车
  • 使用自动驾驶驾车。

这里,“独自驾车”意味着“使用通用文本编辑器、基于命令行的编译器和基于命令行的调试器。编辑器可能最终了解语言语法(因此区分不同的语言结构元素,如关键字、文字、运算符等),但实际上不知道您正在编写的内容。 这就是Notepad ++所做的。它使编码更加困难,但对于非常简单的事情,它会让您真正学习如何“驾驶”。

“导航器”是一个基本的IDE,如Devc++或CodeBlocks:它们具有“项目”的概念,管理文件之间的关系并管理调用编译器和调试器,管理其输出相对于您的源的映射。 您编写自己的代码,但必须信任“导航器”告诉您的“编译道路”。

“自动驾驶”是一个更复杂的IDE(如VisualStudio、Netbeans、Eclipse…),它还可以“管理代码”,提供语法和语义的代码分析、上下文敏感的自动完成、常见任务的代码生成。 它们可以为您提供一些代码,您需要完成并连接在一起。 它们使您更快地生成代码、测试代码、调试代码,但您必须更加信任它们或了解它们的“建议”。 它们可以提高生产力,但您必须“配置”它们以适应您的需求。

现在:由于一切都是“信任”的问题,而您不可能信任您尚未了解的内容,并且这是“了解您的需求”的问题(但学习者可能尚未对此有任何想法)

  • 从“野兽”VisualStudio开始(它会混乱您计算机注册表的约50%,让您假装从互联网下载GIGABYTES并安装大量MS库),这是不明智的:在您开始使用所有这些之前,需要花费数年时间,而VS本身将更改2或3次。Eclipse(具有更强大的语法和语义分析器,但需要很多“神秘配置”,您甚至不知道因为您没有迈出编程的第一步)也许是过度的。至少在您的程序仅有几页的情况下。
  • 从notepad++和GCC(或Mingw)开始只是下载几兆字节,设置路径,就可以启动了。最快的打开方式。
  • 当事情变得更加复杂,并且需要一些组织帮助时,像CodeBloks或Codelite这样的简单IDE非常有效。我会避免Dev-C ++:它已经过时,不支持“现代C ++语言”。您可以在整个学校期间与它们共存。
  • 当涉及更专业的项目,并且您在“使用工具”的经验更好时,像Eclipse或NetBeans这样的工具可能会更“有效”。无论如何,我都会避免VisualStudio:它并不是那么“有效”。但是它是在Microsoft环境中开发生产面向MS应用程序的最佳工具,特别是在“.Net”世界中。这需要2/3年的经验才能看到。

在我看来(也许自此回答发布以来有所更新),您需要一个完整的开发环境,如Visual Studio,才能准备好导入软件包、部署内容和进行开发运维等工具。 - real_yggdrasil
@real_yggdrasil:在专业水平上可能有意义。但我怀疑一个以“我的老师”开头的问题提问者是否与这些东西有任何关系。 - Emilio Garavaglia

1

如果你正在学习编程,可以下载 VStudio Express。我相信它是免费的。使用起来比记事本和Cygwin更容易。这不是一个有偏见的观点。大多数时候我是一名Linux C++开发人员,但承认使用VStudio可能更容易学习。


1

如果你使用的是Linux,你可以使用Kate和g++来编辑和编译C++文件。

如果你使用的是Windows,我认为你老师的建议很好。虽然有各种各样的C++集成开发环境(IDE),但在第一次学习编程语言时最好使用一个没有代码补全和编译功能的简单编辑器。我认为IDE很好,但不适合初学者。


1

跟随老师的建议可能是个好主意,因为将来你可能需要他或同事的帮助。另一个优点是在学校,你可能会使用多种编程语言进行开发。Notepad++ 支持几乎所有你能想到的东西,所以你不仅可以在这门课程中使用它。这样你就会有优势,因为你将学习快捷键等技巧...


1
如果你计划未来进行大量的编程工作,我强烈推荐花时间学习VIM。在速度和功能方面,没有其他编辑器可以与之匹敌。它具有内置的 shell 访问权限,并且可编程。就像在文本编辑器中拥有上帝一样。主要的缺点是陡峭的学习曲线。
另外,你还需要使用Git,以防出现错误并想回到以前的某个点。它让你定期检查你的代码,这样你就可以随时返回。例如,也许你删除了某些内容,然后后来又决定要使用那段代码。如果你一直在使用 Git 进行检查点,你就可以找回它。 图形化差异工具有时也很有用。

0

我开始使用Turbo C++(大学电脑上默认的程序,我告诉他们它是史前时代的),用C++编写代码,但后来我发现了Visual Studio Express,从那天起就再也没有回头过。

由于我无法在大学电脑上安装Visual Studio,所以我把DevC++的便携式版本放在U盘上,在那里使用。

最终,我说服了学校将Visual Studio Express版安装在所有实验室电脑上(一旦我让他们相信这是免费的,没有许可问题)。


0

对于初学者来说,建议使用文本编辑器和编译器。这有助于你理解实际发生的事情。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接