Programming languages 关于语言和学习语言的地方的建议?

Programming languages 关于语言和学习语言的地方的建议?,programming-languages,Programming Languages,我最后一节java课的期末考试将在周一进行。有很多免费资源(这里的穷大学生)可以学习的好语言是什么?我听说过Ruby和Erlang的好东西,但对我来说都是陌生的 也许在使用另一种语言(比如某种框架或库)之前,我应该先尝试一下Java,这比快速采用一种新语言更能给我提供建议。如果您正在寻找web开发,我强烈建议您学习PHP(这是一种非常有趣和有用的语言)。如果你想开发桌面,C++,如果你想尝试iPi/iPad开发,试试Objto-C.< 我拿起java类,发现它为我移到Objto-C提供了一个很好

我最后一节java课的期末考试将在周一进行。有很多免费资源(这里的穷大学生)可以学习的好语言是什么?我听说过Ruby和Erlang的好东西,但对我来说都是陌生的


也许在使用另一种语言(比如某种框架或库)之前,我应该先尝试一下Java,这比快速采用一种新语言更能给我提供建议。

如果您正在寻找web开发,我强烈建议您学习PHP(这是一种非常有趣和有用的语言)。如果你想开发桌面,C++,如果你想尝试iPi/iPad开发,试试Objto-C.<

我拿起java类,发现它为我移到Objto-C提供了一个很好的基础,你只需要小心,因为语言不能管理你的内存使用(没有垃圾收集器)。以上所有语言都在互联网上免费提供大量支持。如果您正在寻找一种学习语言的技术,我发现查看示例代码是最好的方法


希望这有帮助

我完全同意克里斯所说的,确保当你开始学习时,在谷歌上查找所有信息,有成千上万的资源可供你选择使用的语言的指导。

作为一名学生,我从我的许多教授那里听到了很多这样的话:

“这与语言无关,与算法有关!!”

在尝试了四年不同的语言之后,我发现这是真的。 因为如果你学会用一种语言做某事。。。剩下的只是使用不同的语法应用您的知识

我的建议是坚持你开始的(Java),在掌握了基本知识之后,再处理以下问题:

  • 继承权
  • 多形性
  • 数据结构
因为你几乎可以在每种语言中找到上面提到的内容

帮助我想象和理解了很多


也请阅读这篇文章。

我绝对推荐Ruby-作为一种有趣的语言来学习更多编程知识。Java是静态类型且严格面向对象的,所以Ruby对您来说感觉陌生是很自然的

Ruby在许多范例中都很强大,特别是面向对象、函数式和元编程。学习大量的范例以及如何组合它们将使您成为一名更好的程序员,无论您将来使用何种语言

学习了Java,将是Ruby的一个很好的实现——它是用Java编写的,在JVM上运行。JRuby的另一个优点是可以从Ruby代码中使用Java库。只需从软件包管理器安装
jruby
,您就可以开始了

要学习ruby,请查看以下资源:


既然您已经了解java,那就尝尝Python、Perl和Ruby等其他风格吧。PHP、java和C++是风格密切相关的。

< P>我建议看,/SML/OcAML,但斯卡拉特别是:

原因是Scala显示了一种“有趣的”静态/强类型高级(真正意义上的)“OO”语言可以存在。由于设计和实现的限制,有许多有用的编程结构在Java中是不可能的。(Scala绝非完美的语言。)

即使只学习C#3/4(它的类型系统通常不如Scala强大,尽管并非所有领域都重叠)也会让人对Java中不容易实现的构造大开眼界——简单地将“函数”作为对象传递,或者能够统一、轻松地在列表上运行查询和操作是Java无法实现的。您可以在Java中伪造closures/lambda(看看anon内部类或库),但这很难做到:Scala和C为这些构造添加了语言支持,因此它们是“自然的”

我不会说Ruby或Python(或许多其他语言,不包括PHP;-)的坏话,但它们缺少的一点是静态类型。有些人认为这是一种幸事,但我通常认为这是一种诅咒()--问题是,如果Java/C/C++是/是您处理过的唯一静态类型语言,那么您会认为静态类型必须是痛苦的(这意味着“太多类型注释”和“太脆弱/封闭类型”)--在具有类型推断、视图边界、类型类等的更高级静态类型语言中,这根本不是事实


学习Haskell确实会让你看到一种不同的方法——但它确实是一种不同的野兽,需要忘记X语言是如何工作的。你可以写“Scala中的Java”,即使不可取/不惯用,但你真的不能写“Haskell中的Java”。

你想学习互联网编程语言(Ruby、PHP、ASP等)吗?对于程序员来说,这可能是一个更大的问题。stackexchange.com。@matthewpavkov为网页编程看起来很有趣,但我认为我可以使用的东西会更好。我不同意-语言很重要。您使用的语言可以限制或增强您处理算法的方式。我相信语言在生产阶段很重要。如果您正在生成一个Web应用程序,那么您可能会选择PHP而不是C,或者如果您正在生成一个SMTP服务器,那么您可能会选择Python而不是任何东西。但在学习阶段,我相信你只会一种语言。我从来没有过垃圾收集。我知道,但没有任何细节。我知道一些垃圾收集在某些方面比其他的要好。我想我的大学确实提供了C或C++的课程,但我不能肯定。不管怎样,我的专注并不需要它,而且我在更高级的语言中看到了很多东西的概念证明。以前我尝试ruby时,为了让它在Windows上正常工作,我不得不对所有东西进行大量的修改。罗瑞比