因为最近的工作职责,我是一名软件工程师。我对程序编程有很强的理解(主要是'C'和'bash'脚本),但我只知道OOP是什么。
我环顾四周,几乎所有现代语言都有非常坚定的OOP(C ++,java,python,ruby等)。我现在觉得我已经准备好将我的大脑用于新的概念,而OOP是你的工具带中现在需要的日子。我的问题是,有了'C'的强大背景,C ++是学习OOP的合乎逻辑的下一步,还是我会错过一些只有其他语言提供的有用结构,例如java?
谢谢大家。
答案 0 :(得分:5)
就我个人而言,我会选择C#或Java,因为它们会迫使你使用面向对象的编程,而不是能够回归到命令式的风格,这比像Python这样的多范式语言更有优势。 它们也是有用的语言,有很多现实世界的应用程序(和工作),并且有很大的社区,这在学习时很重要。
在选择新语言学习时,我也坚信“学习不同的东西而不是更多相同的”思想。如果您正在寻找与C类似的语言,C ++是显而易见的选择。缺点是简单地使用C ++作为稍微好一点的C非常容易,这对于快速掌握面向对象的概念是不利的(从个人知识来讲)。
答案 1 :(得分:3)
我冒昧地说,你不应该立即潜入某种语言,因为你仍然可以依靠以前的编程知识,即使是在OO语言中。在尝试进入语言的语义之前,阅读和理解OO可能更有益。
话虽如此,Smalltalk是我在学习理解OO概念时发现的非常有用的语言。
答案 2 :(得分:1)
看看你的背景我会说用C ++。它有点复杂,是的,但它比Java和类似的更低级别 - 我想你会很高兴这是一名工程师。这基本上就是我对自己的感觉,我不喜欢Java过于高级,并且觉得C ++是更好的选择。它还可以实现任何OOP技术。
该语言也被广泛使用,并且可以用于硬件相关问题(例如嵌入式系统)。另一点是它的性能只与c / assembly匹配:)
答案 3 :(得分:1)
C ++没有最大的对象模型。这是非常糟糕的异常处理,奇怪的语法等等。虽然它非常非常强大,并且像大多数事情一样,一旦你克服了学习曲线就很容易使用,它不是我最喜欢的语言。
您需要确定要定位的平台。如果您想为Web或Windows桌面开发,请坚持使用C#。语法是基于C语言的,但有一些非常好的扩展和一个很棒的对象模型。此外,它是当今开发世界中最流行的语言之一。恕我直言,避免PHP,因为它只是创造了坏习惯。 (请不要开始火焰战,伙计们。)
如果您仍然专注于嵌入式开发,那么C ++只是城里唯一值得的游戏,除非您使用的是嵌入式操作系统,例如Linux,它将提供其他一些选项。
答案 4 :(得分:0)
尝试使用Java或C#。我开始使用Pascal(不要问;))。甚至可能是Python。
答案 5 :(得分:0)
我会推荐C#。 网上有很多博客示例可以为您提供一些很棒的信息。
有一本关于亚马逊的书会有所帮助。 搜索Beginning C#3.0:面向对象编程简介。
Microsoft提供免费版本的SQL Server(快速版)和Visual Studio(快速版),为您提供一些开始。