我对编程比较陌生,希望能够为 Linux 和 Windows 制作原生 C++ 程序。
我只是想知道作为初学者,我应该首先学习低级语言,例如在 vim 中的 C 和汇编,还是应该直接从带有 C++ 的 IDE 开始?
如果你想学 C++,就学 C++。首先学习 C 或汇编语言不仅是浪费时间,而且通常会教给你相对较差的习惯,在你用好 C++ 之前,你需要在不学习的情况下工作。
这并不是说了解 C 或汇编语言就不可能很好地使用 C++——但每种语言都需要截然不同的思维方式,因此会产生额外的工作。
如果你的最终目标是学习 C++,那么先学习 C 并不是先决条件。你可以,但你不必这样做。
底线是,做你觉得最舒服的事情。
C++ 不是(真的)一种高级编程语言。每当您犯了一个小的编程错误时,您仍然需要手动管理您的内存并获得未定义的特定于环境的行为。除此之外,C++ 对新程序员来说是一种非常不友好的语言,因为它既过于复杂又(在我看来)设计糟糕。
我建议从 Java、Python 或 C# 等实际的高级语言开始,并结合花哨的 IDE。如果您想更多地关注低级方面而不是通用编程技术和范例,那么从 C 开始也是一种选择。
如果你想开始编程,你也不必学习 vim,一个简单的编辑器,如 gedit 或 Notepad++ 也可以很好地工作。不过,专为您的语言设计的 IDE 可能是最舒适的。
编辑:正如 Jerry Coffin 正确指出的那样,如果您的目标是编写 C++ 应用程序,这个建议并没有真正的帮助。尽管我仍然建议您在开始使用 C++ 之前先使用一种更简单(高级)的语言来获得一般的编程技能。如果 C++ 对于您想要实现的目标不是绝对必要的,那么重新考虑您是否真的想要使用该语言也不是一个坏主意。
如果您想学习 C++,请从 C++ 开始。你不需要先学习C;这实际上会适得其反,因为当您迁移到 C++ 时,您必须学习一些东西 。
C 和 C++ 是不同的语言,具有不同的目标和理念。一个编写良好的 C++ 程序在外观或行为上都不会像一个编写良好的 C 程序。
一旦您对高级 C++ 特性感到满意,您就可以开始深入研究较低级别的细节。
“如果我看得更远,那就是站在巨人的肩膀上。” ——艾萨克·牛顿爵士
尽可能从核心开始,从核心抽象出来,只有在没有其他方法可以推进的时候才重新审视核心。
在我看来,您的问题更多是关于学习编程。语言选择可能次要于学习编程范式/概念。
因此,如果编程是您的重点,那么您可能首先学习面向对象编程 (OOP) 概念,这样您就不必以人们经常使用过程方法的方式“采用”它们。然后,如果需要,您可以深入研究过程方式和一些 C 习惯用法/技巧和低级方法。
OOP 可以用 C++ 教授,就像在 Java 等中一样。在那个阶段并不重要。
Once your mindset is "oriented", then the actual programming will be more about using existing libraries (APIs), which in fact will require more learning than the language itself.
So my advice is to learn OOP concepts first, then review your future language preferences. Have fun!!
Javascript 是我学习的第一门语言,我感到很幸运。有了它,我能够跳过其他语言的许多复杂性和障碍,例如静态类型、指针和编译。使用 javascript,您甚至不必安装任何东西,只需到这里,您就可以开始尝试:http: //jsfiddle.net/X4PpW/。
在我掌握了 Javascript 之后,理解在 C 中使用指针和类的概念对我来说很容易。另一种好的语言是 Python。
还有,你打算做什么?并非所有桌面应用程序都必须用 C 编写。事实上,一些新框架借鉴了 Web 应用程序的想法,甚至允许将来自网站的 HTML 嵌入到您的应用程序中。