【问题标题】:Is there anything that java cannot do? But other's can? [closed]java有什么不能做的吗?但是其他的可以吗? [关闭]
【发布时间】:2010-08-13 16:32:35
【问题描述】:

有什么是java不能做的吗?但是其他的可以吗?

我说的是 Java 作为一种编程语言。

这只是帮助我了解我还应该考虑学习哪些其他编程语言。

编辑: 好吧,我从事 Java 编程已经很多年了,有时我觉得我不需要再学习一个。 Java 在以前的版本中曾经受到一些限制,例如没有枚举、自动装箱、泛型等等。我在问“Java 作为一种编程语言”,或者我们可以考虑你们希望它具有的 Java 的语法限制。关于其他语言提供但 java 不提供的语法/功能。

编辑:感谢您关闭此内容。我希望我有更多的时间让我的问题更清楚一点。好像在我进行第一次编辑之前它已经关闭了。

【问题讨论】:

  • 您到底有什么想法?这个问题很宽泛。
  • Java 不能给你泡茶——你需要一个茶包(或者最好是一些散叶)、一个杯子(最好是茶壶)和一些开水,我听说 Java做一杯普通的咖啡。
  • 你所说的“任何东西”是什么意思?你的意思是语言方面的(即 Java 不能(轻松地)做 Lamda 微积分),还是你的意思是现实世界的方面(Java 很可能可以做任何你能想到的事情,只是可能并不总是很容易)。
  • 有什么是客机不能做而货机可以做的?
  • @Dominic - 当然,这只是因为您的 servlet 容器没有返回 418 I'm a teapot 响应。次要实施细节。

标签: java programming-languages


【解决方案1】:

所有使用的通用编程语言都是Turing complete,所以在非常严格的理论意义上,它们具有相同的功能。 NOTHING 在 C# 中是可计算的,但在 Java 中是不可计算的。

不过,从更实际的角度来看,是的,有些事情是其他语言可以做到的,而 Java 却做不到。这真的取决于你想如何挑选你的尼特。 Java 没有 8 位无符号 byte,Java 无法将 int 转换为 boolean 值,Java 没有第一类方法,Java 没有传递引用语义等。这些都不会阻止你完成任务,但它们仍然是 Java 无法做到的,而其他语言可以做到。

就学习如何编程而言,Java 不是一个糟糕的选择。它足够实用,但可能非常冗长。不过,从主观上来说,还有其他更“有趣”的学习语言,就好像没有比 Java 更有启发性一样。

关于这句话:

我从事 java 编程已经很多年了,有时我觉得我不需要再学习一个了。

很抱歉,这是一个非常自我限制的观点。学习另一种语言可以真正扩展您对编程的全部内容的思考。也可以很有趣。

相关问题

【讨论】:

  • 哇!这些相关问题将是最有用的。谢谢。
【解决方案2】:

如果您的意思是它没有的语言结构,那么您需要研究另一种语言类别。像 Haskell 这样的东西是一种功能性语言,它以一种非常不同的方式进行软件开发。他们都做同样的事情(他们都是图灵完整的),但他们以不同的方式做。 Java 是一种非常静态的语言,因此您甚至可以查看 Python 来了解这方面的不同方法。

【讨论】:

  • 好的,Python 听起来很有趣,因为我几乎在任何地方都能听到它......
  • @demotics2002: Python 可以做到if (a < b < c); Java不能。这只是一个简单的例子。不过,我不知道这类事情对你来说是否真的很重要。
  • @polugenelubricants:很好的例子。正是我要问的。
【解决方案3】:

这是一个模棱两可的问题。如果您想学习编程,选择 Java 将是一个好的开始。

【讨论】:

  • Java 会是一个好的开始吗?那么接下来要学什么?我应该将 Java 视为入门程序,而将其他语言视为高级程序吗?
  • 是的,Java 将是一个好的开始。不要担心接下来要学什么,因为熟悉 Java 至少需要几年时间。
猜你喜欢
  • 2011-02-02
  • 2021-03-03
  • 1970-01-01
  • 2017-04-19
  • 2021-10-25
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多