java有什么不能做的吗?但其他人可以吗?
我说Java是一种编程语言。
这只是帮助我了解其他编程语言我应该考虑学习的东西。
编辑: 好的,我已经做了多年的java编程,我有时觉得我不需要学习另一个。 Java曾经在以前的版本中受到限制,例如没有枚举,自动装箱,泛型等等。我问的是“Java作为一种编程语言”,或者我们可以考虑一下你们希望它具有的java语法限制。关于其他语言提供的语法/功能的东西,但java没有。
编辑:谢谢你关闭这个。我希望我有更多的时间让我的问题更清楚一些。好像它在我第一次编辑之前已经关闭了。
答案 0 :(得分:10)
所有使用的通用编程语言都是Turing complete,因此在非常严格的理论意义上,它们具有相同的功能。 NOTHING 可以在C#中计算,但在Java中不可计算。
从更实际的角度来看,是的,有些东西是其他语言无法做到的。这实际上取决于你如何挑选你的尼特。 Java没有8位无符号byte
,Java无法将int
转换为boolean
值,Java没有第一类方法,Java没有通过引用语义传递等。这些都不会阻止你完成任务,但它们仍然是Java无法做到的事情。
就学习如何编程而言,Java并不是一个糟糕的选择。这很实用,但可能非常冗长。不过主观地说,还有其他更“有趣”的学习语言,就像没有比Java更有启发性。
关于这句话:
我多年来一直在做java编程,有时候我觉得我不需要再学习另一门编程。
我很遗憾地说这是一个非常自我限制的观点。学习另一种语言可以真正扩展您对编程的全部意义。它也很有趣。
答案 1 :(得分:2)
如果你指的是它没有的语言结构,那么你需要研究不同类别的语言。像Haskell这样的函数语言以一种非常不同的方式处理软件开发。他们都做同样的事情(他们都完成了)但他们以不同的方式做到了。 Java是一种非常静态的语言,所以你甚至可以看看Python在这方面看到不同的方法。
答案 2 :(得分:1)
这是一个含糊不清的问题。如果你想学习编程选择Java将是一个良好的开端。