Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用什么语言开始我的OOP学习?_Oop - Fatal编程技术网

用什么语言开始我的OOP学习?

用什么语言开始我的OOP学习?,oop,Oop,由于最近的工作职责,我从硬件工程师变成了软件工程师。我对过程编程有着非常深刻的理解,主要是在“C”和“bash”脚本中,但我对OOP只是略知一二 我到处看看,几乎每种现代语言都有非常坚实的根源,在OOP C++、java、python、Ruby等。我现在觉得我已经准备好让我的大脑适应新的概念,面向对象编程是你的工具带上每一天的必需品。我的问题是,在C语言中有一个很强的背景,C++是学习OOP的逻辑下一步吗?还是我会错过一些其他语言提供的有用的结构,比如说java? 谢谢大家。就我个人而言,我会选

由于最近的工作职责,我从硬件工程师变成了软件工程师。我对过程编程有着非常深刻的理解,主要是在“C”和“bash”脚本中,但我对OOP只是略知一二

我到处看看,几乎每种现代语言都有非常坚实的根源,在OOP C++、java、python、Ruby等。我现在觉得我已经准备好让我的大脑适应新的概念,面向对象编程是你的工具带上每一天的必需品。我的问题是,在C语言中有一个很强的背景,C++是学习OOP的逻辑下一步吗?还是我会错过一些其他语言提供的有用的结构,比如说java?
谢谢大家。

就我个人而言,我会选择C或Java,因为它们迫使您使用面向对象的编程,而不是依赖命令式风格,这是对Python等多范式语言的奖励。 它们也是有用的语言,有很多真实世界的应用程序和工作,并且有很大的社区,这在学习时很重要


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

< P>个人,我选择C或java,因为它们强迫你使用面向对象的编程,而不是能够依靠命令式的方式。这是对Python等多范式语言的奖励。 它们也是有用的语言,有很多真实世界的应用程序和工作,并且有很大的社区,这在学习时很重要


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

< P>我敢说,你不应该立即投入语言,因为你仍然可以追溯到以前的编程知识,甚至在OO语言中。在尝试了解语言的语义之前,阅读和理解OO可能更有益


话虽如此,在学习理解OO概念时,它是一种我发现非常有用的语言。

我敢说,你不应该立即钻研一种语言,因为你仍然可以依赖以前的编程知识,即使是在OO语言中。在尝试了解语言的语义之前,阅读和理解OO可能更有益


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

< P>查看你的背景,我会说用C++来。是的,它有点复杂,但是它的级别比Java之类的要低得多——我想作为一名工程师,你会很欣赏这一点的。这基本上是我自己的感受,我不喜欢java的水平太高,感觉C++是更好的选择。它还支持几乎任何OOP技术


该语言也被广泛使用,可以用于硬件相关问题以及嵌入式系统。另一点是它的性能只与C/C++程序匹配:

看你的背景,我会说用C++来。是的,它有点复杂,但是它的级别比Java之类的要低得多——我想作为一名工程师,你会很欣赏这一点的。这基本上是我自己的感受,我不喜欢java的水平太高,感觉C++是更好的选择。它还支持几乎任何OOP技术


该语言也被广泛使用,可以用于硬件相关问题以及嵌入式系统。另一点是,它的性能仅与c/assembly匹配:

c++没有最好的对象模型。它有糟糕的异常处理、奇怪的语法等等。虽然它非常强大,而且像大多数东西一样,一旦你完成了学习过程,就很容易使用,但它不是我最喜欢的语言

你需要决定你的目标平台。如果你想为web或Windows桌面开发,请坚持使用C。它的语法是基于C的,但是有一些非常好的扩展和一个很棒的对象模型。同时,它也是当今开发世界最流行的语言之一。不要使用PHP,因为它只会造成坏习惯。伙计们,请不要挑起一场火焰战

<>如果你仍专注于嵌入式开发,C++是城里唯一值得玩的游戏,除非你要用Linux之类的嵌入式操作系统来运行。
查看其他选项。

C++没有最好的对象模型。它有糟糕的异常处理、奇怪的语法等等。虽然它非常强大,而且像大多数东西一样,一旦你完成了学习过程,就很容易使用,但它不是我最喜欢的语言

你需要决定你的目标平台。如果你想为web或Windows桌面开发,请坚持使用C。它的语法是基于C的,但是有一些非常好的扩展和一个很棒的对象模型。同时,它也是当今开发世界最流行的语言之一。不要使用PHP,因为它只会造成坏习惯。伙计们,请不要挑起一场火焰战


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

< P>尝试java或C。我从Pascal Dont问答开始。甚至可能是Python


试试Java或C。我从Pascal Don ask;开始;。甚至可能是Python

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

有一本关于亚马逊的书会有所帮助。 搜索C 3.0入门:面向对象编程简介

Microsoft提供了SQL Server express edition和Visual Studio express edition的免费版本,让您可以从中开始

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

有一本关于亚马逊的书会有所帮助。 搜索C 3.0入门:面向对象编程简介

Microsoft提供了SQL Server express edition和Visual Studio express edition的免费版本,让您可以从中开始

克里斯

Dupe of of of of the many.Err,我认为你不太了解什么是函数式编程,因为C实际上没有函数式编程的机制。我想你指的是程序化编程。有没有比这更主观和/或更具争议性的话题?我们能不能把这个问题从痛苦中解脱出来?你抢先了我,我正要改变它。Thanks@Jonathan:当然,我可以简单地问下一步我应该学什么语言?但是,我认为,在C++提供了所有在OOP使用的最常用的构造之后,C++是否是逻辑的进展,这是一个公平的问题。许多其他的重复。呃,我认为你不知道什么是函数式编程,因为C没有真正的函数编程机制。我想你指的是程序化编程。有没有比这更主观和/或更具争议性的话题?我们能不能把这个问题从痛苦中解脱出来?你抢先了我,我正要改变它。Thanks@Jonathan:当然,我可以简单地问下一步我应该学什么语言?但我认为,在C++提供了OOP目前使用的所有最常用的构造之后,C++是否是逻辑的进展,这是一个公平的问题。我个人的偏好是C,但Java的检查异常处理真是太棒了。请在给出-1时发表评论,其中任何一个都是不错的选择。我个人的偏好是C,但Java的检查异常处理非常棒。请在感谢-1根据我的背景对其进行裁剪时发表评论,非常有帮助。我的主要关注点是,因为C++已经超过了十年,所以它不能在OOP中提供一些新的流行特性。因为我从一个干净的板岩开始,不妨从包含所有最新结构的语言开始。C++有一个即将到来的新标准,叫做C++ +x,它会使语言和许多新的结构感觉不同。虽然C++有点像你说的那样成熟,但是它不断地被开发,并且被引入到它的概念是非常新的。用C++做的事情很少。对于这种语言的高级使用,大多数都是面向对象的,当然你可以查看www.boost.orgC++0x,这是一个我不知道的有趣的小道消息。维基百科说该标准将于2011年底发布,但我想知道gcc在此之前是否会获得一些初步支持,或者它是否已经获得了一些支持?毕竟,C99已经问世十年了,gcc中还有6项功能尚未实现。无论如何,如果我现在就开始,等到C++0x正式发布时,我会对我所认为的语言中添加的内容有更好的欣赏。感谢您根据我的背景对其进行调整,非常有帮助。我的主要关注点是,因为C++已经超过了十年,所以它不能在OOP中提供一些新的流行特性。因为我从一个干净的板岩开始,不妨从包含所有最新结构的语言开始。C++有一个即将到来的新标准,叫做C++ +x,它会使语言和许多新的结构感觉不同。C++,
尽管像你所说的有点成熟,但它仍在不断发展,引入的概念非常新颖。用C++做的事情很少。对于这种语言的高级使用,大多数都是面向对象的,当然你可以查看www.boost.orgC++0x,这是一个我不知道的有趣的小道消息。维基百科说该标准将于2011年底发布,但我想知道gcc在此之前是否会获得一些初步支持,或者它是否已经获得了一些支持?毕竟,C99已经问世十年了,gcc中还有6项功能尚未实现。无论如何,如果我现在就开始,到C++0x正式发布时,我会对methinks语言的添加有更好的理解。关于目标平台,我所有的开发都是在Linux中进行的,包括自学和专业。我知道我的方式是GDB,这似乎是一个很大的优势,为C++,但我不想让这个小插曲妨碍我从分支到其他语言。至于目标平台,我的所有发展都在Linux,既自学和专业。我知道我的方式GDB,这似乎是一个大的加成C++,但我不希望这样的小节妨碍我从分支到其他语言。