【问题标题】:What is the easiest C++ IDE for students, non-programmers? [closed]对于学生和非程序员来说,最简单的 C++ IDE 是什么? [关闭]
【发布时间】:2011-06-16 09:19:51
【问题描述】:

我在中学教编程:这是我们目前的状态,如果有任何建议,我将不胜感激:

  • 我们为高级学生提供程序员俱乐部。我们使用 MSVC#(甚至商业版)和 NetBeans 进行开发,一切正常
  • 但是,三分之二的班级不是开发人员:他们是其他方向的,他们的工作可能不是 IT 领域
  • 根据我们学校的议程,我们必须教他们一些基础知识
  • 因此,在他们学习的第一年,我们教他们“傻瓜编程”之类的东西,让他们有时间决定自己真正想做什么(程序员俱乐部需要做很多功课)
  • 语言必须是 C++(有很多原因)。目前他们使用 C++ Builder 6.0 进行开发,这在我们的学校网络中运行缓慢且有问题。

那么对于这些​​学生来说,最好的解决方案是什么?要求是快速、可靠且非常容易理解的 IDE。控制台输出就足够了,例如“编辑器和播放按钮”。不需要可视化编程和调试工具。 IDE 应该是免费的,最好在 Windows 上运行。

我最喜欢的是 MSVC 2008 Express - 它非常快速且非常简单。但是 C++/CLI 不是 C++(托管代码不是基础),所以这不是一个选项。还有其他建议吗?

【问题讨论】:

  • 不管怎样,我很确定 Visual C++ 2010 Express 允许您创建本机应用程序。据我所知,您不仅限于 C++/CLI。 msdn.microsoft.com/en-us/library/hs24szh9.aspx
  • “三分之二的班级不是开发人员:他们是其他方向的,他们的工作可能不在 IT”/“语言必须是 C++(出于多种原因)”:有一个这两个陈述之间的逻辑和理智差异
  • “我最喜欢的是 MSVC 2008 Express - 它真的很快而且非常简单。但是 C++/CLI 不是 C++(托管代码不是基础),所以这不是一个选项”你不需要t 必须在其中编写 C++/CLI。
  • @Tomalak Geret'kal:这些陈述很容易协调。我们真的非常希望未来的管理者明白编程是非常非常困难的,程序员应该得到微薄的报酬。
  • @Jan:没有“C/C++”这样的东西。 :)

标签: c++


【解决方案1】:

您说得对:使用 Visual C++ Express。

仅仅因为您可以使用它来编写 C++/CLI 项目并不意味着您必须这样做。只需创建普通的 Win32 控制台应用程序,您将使用普通的旧 C++,没有任何管理。

澄清一下:C++/CLI 是您在创建 Windows 窗体、Windows Presentation Foundation 或其他类型的基于 .Net 的应用程序时获得的。如果您创建 Win32 控制台应用程序,您将使用没有任何托管 Microsoft 扩展的普通 C++。

【讨论】:

  • +1 与 Windows 上的其他 IDE 相比,VS 更胜一筹——对于学生来说,仅调试器就值得。
  • 我想知道为什么我没有意识到这个简单的事实 :-) 谢谢。
【解决方案2】:

Visual C++ Express 确实支持原生 C++ 开发。我强烈敦促您升级到 2010 版本以获得一些 C++0x 支持; C++0x 使得在 C++ 中编程变得更加容易,而无需触及那些讨厌的部分。

但是,C++ 作为第一语言听起来令人生畏。特别是对于那些没有任何进一步编程愿望的人;它很复杂,容易误用,而且在初学者手中会因错误处理能力差而崩溃。

对于一些随意的编程介绍,我推荐 JsFiddle 之类的东西:他们可以在任何地方进行,无需特殊工具,而且无论他们学到什么,他们甚至可以作为非 IT 人员实际使用。在学习某些东西时获得即时反馈也更有趣,这是对 C++ 的另一个标志。

因此,如果您必须使用 C++,请使用 C++0x 使用 lambda 使 stl 算法“正常工作”,并使用基于范围的 for(以及其他改进)避免迭代器复杂性。

【讨论】:

  • “在学习某些东西时获得即时反馈也更有趣,这是反对 C++ 的另一个标志。”怎么样?
  • 因为存在编译循环,并且因为在 C++ 中编译异常棘手。在解释型语言中,他们通常会看到它一直在工作,直到遇到第一个错误,即一个穷人调试器,甚至不需要理解这意味着什么。这不是一个致命的缺陷,只是不是最容易开始的地方。
  • @Eamon:“编译循环”? “在 C++ 中编译异常棘手”?你到底在说什么?当您在 C++ 中出现语法错误并编译代码时,您会得到立即反馈。 (实际上它比解释代码直接,因为您不必等待程序的工作部分首先执行。)
  • 你在向合唱团讲道:我更喜欢尽可能使用静态检查的语言。但是 C++,部分是因为它太老了,有很多特性使得编译器很难提出适当的错误信息。如果您已经编写 C++ 很长时间,也许您甚至都不会注意到,但是小错误通常会导致错误消息,如果没有经验,这些错误消息根本无法解释。例如。在类定义后忘记分号,或者在类型中犯了错误,导致模板类型推断根本不选择类型。
  • @Eamon:哦,编译器错误消息肯定是分散的;这并不意味着您不会立即得到反馈。而且我仍然不知道什么是“编译循环”。
【解决方案3】:

我曾合作过:

  • 面向 C/C++ 开发人员的 Eclipse(工作和家庭)
  • QtCreator(在我工作时正在做的一个业余项目中)
  • Microsoft VS(工作中)
  • Code::Blocks(在我的家用笔记本电脑上,带有 Eclipse,为了好玩)
  • vi(工作和在家)
  • 记事本++(在家)
  • KDevelop(在家)

我认为对于初学者来说,当然,在我个人看来,Eclipse、MSVS 和 Code::Blocks 同样很棒。当事情开始变得越来越复杂时,您需要根据方向进行选择。如果您正在为 Windows 开发 - 坚持使用 MS。如果您正在使用 GCC 进行开发 - 坚持使用 Eclipse(它有点重但功能强大)或 Code::Blocks(它更轻但不那么复杂)。如果您使用 Qt 为任何东西做 GUI,请使用 QtCreator,否则我不会保留它。

【讨论】:

  • 哦,我忘了提...我绝对讨厌 vi.我不是vi人。但我确实不时使用它来进行非常简单和本地化的代码编辑(我在 Linux 工作站上进行开发,在我的家用 Windows 笔记本电脑上我使用 Notepad++)。
  • 我发现 Eclipse 最适合任何非 Microsoft 代码!在 Windows 和 .NET 上,我也使用 VS2010。向学生展示这两种 IDE 是一件好事,因为它们易于使用并且现在已作为行业标准存在。
【解决方案4】:

Code::Blocks 是我通常推荐给初学者的一种。我不是 Eclipse CDT 的忠实粉丝,因为我一直觉得它在 Windows 下过于复杂。

由于它在幕后使用gcc,因此您不会发现 Microsoft 对该语言所做的任何“有用”更改,例如它们所谓的安全功能,它们根本不是那种类型,并且会呈现您的代码不可移植。

【讨论】:

  • QtCreator 可能是 C++ 的更好选择,但是是的,它没有任何大问题。
  • 相反,您会发现 GNU 对使您的代码无法移植的语言所做的“有用”更改,但 -pedantic 解决了这个问题:-)
  • -1:我不确定你在抱怨哪些有用的变化,但我会定期为 gcc+MSC 交叉编译东西,而且一点也不坏。这种推理分散了 OP 的问题。
  • @Eamon:stackoverflow.com/questions/906599/why-cant-i-use-fopen/… 之类的东西 - 你必须强行通知 MSVC 你知道你在做什么,它应该闭嘴 :-) 我不相信减损用户的问题。如果您想学习 C++,请按照 ISO 的规定进行学习。不要学习微软的怪异变化。
  • 微软的警告对初学者来说还不错。他们应该使用 C++ 类; Microsoft 警告是针对 C 函数的。例如。他们警告strcpy,但不反对std::string,这对目标受众来说是可以的。
【解决方案5】:

如果您不想用 IDE 的丑陋或笨重的外观吓到学生。选择 qt-creator。它看起来不错。看起来很简单,但同时功能非常强大。

【讨论】:

    【解决方案6】:

    我不得不推荐QtCreator,教他们使用跨平台的GUI工具包是件好事。

    【讨论】:

      【解决方案7】:

      听起来你想要Eclipse for C/C++ Developers

      【讨论】:

      • 不,绝对不是。也许在 Unix 上,但需要大量时间来支持。在 Windows 上绝对不是(它被彻底破坏了)。
      猜你喜欢
      • 1970-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多