代码之家  ›  专栏  ›  技术社区  ›  SiegeX

用什么语言把我的学习推进OOP?[关闭]

oop
  •  1
  • SiegeX  · 技术社区  · 15 年前

    因此,由于最近的工作职责,我从硬件工程师变成了软件工程师。我对过程编程有很强的理解(主要是在“c”和“bash”脚本中),但我只对OOP是什么有过渡性的了解。

    我环顾四周,几乎每一种现代语言都有非常扎实的根源在OOP(C++,Java,Python,Ruby等)。我现在觉得我已经准备好将我的大脑向新的概念弯曲了,OOP是一个必须现在就在你的工具带上的东西。我的问题是,在C的强大背景下,C++是下一步学习OOP的逻辑步骤,还是我会错过一些其他语言提供的有用结构,比如说Java?

    谢谢大家。

    6 回复  |  直到 15 年前
        1
  •  5
  •   Yacoby    15 年前

    就个人而言,我选择C或Java,因为它们强迫你使用面向对象的编程,而不是能够依靠命令式风格,这是对Python之类的多范例语言的奖励。 它们也是有用的语言,具有许多现实世界的应用程序(和工作),并且拥有大型社区,这在学习时很重要。

    当我选择一种新的语言来学习时,我也是“学习不同的东西而不是更多的相同的”思想流派的坚定信徒。如果你正在寻找类似的C语言,C++是显而易见的选择。缺点是简单地使用C++作为一个稍微好一些的C,这将不利于快速掌握面向对象的概念(从个人知识出发)。

        2
  •  3
  •   JasCav    15 年前

    我冒昧地说,由于您仍然可以依靠以前的编程知识,即使是在OO语言中,所以您不应该立即钻研一门语言。在尝试进入一种语言的语义之前,阅读和理解OO可能更有益。

    这样说, Smalltalk 是一种我在学习理解OO概念时发现非常有用的语言。

        3
  •  1
  •   rmn    15 年前

    看看你的背景,我会说用C++来。这有点复杂,是的,但是它比Java和其他的东西要低很多,我想你会很感激这是一个工程师。这基本上是我自己的感觉,我不喜欢Java太高的水平,觉得C++是更好的选择。它还支持几乎任何OOP技术。

    该语言也被广泛使用,并且也可以用于与硬件相关的问题(例如嵌入式系统)。另一点是,它的性能只与C/assembly()匹配。

        4
  •  1
  •   3Dave    15 年前

    C++没有最大的对象模型。它有糟糕的异常处理、奇怪的语法等等。 非常 功能强大,而且像大多数东西一样,一旦你越过学习曲线,就很容易使用,这不是我最喜欢的语言。

    你需要决定你的目标是什么平台。如果您想为Web或Windows桌面开发,请使用C。语法是基于C的,但是有一些非常好的扩展和一个极好的对象模型。而且,它是当今开发人员世界中最流行的语言之一。imho,避免使用php,因为它只会造成坏习惯。(伙计们,请不要发动火焰战)。

    如果你仍然专注于嵌入式开发,C++只是城里唯一值得玩的游戏,除非你使用Linux之类的嵌入式操作系统,这将提供一些其他的选择。

        5
  •  0
  •   Oto Brglez    15 年前

    试试JAVA或C语言。我从帕斯卡开始(不要问;)。也许甚至是巨蟒。

    Introduction to OOP in Python

        6
  •  0
  •   Chris    15 年前

    我推荐C。 网上有很多博客的例子可以为你提供一些很好的信息。

    亚马逊上有一本书会有帮助。 搜索开头的C 3.0:面向对象编程入门。

    Microsoft提供了一个免费的SQL Server(Express Edition)和Visual Studio(Express Edition)版本,您可以从中开始。

    克里斯 http://chrisbarba.wordpress.com