Nice编程语言作为Java泛型的替代品

时间:2008-12-26 13:56:46

标签: java generics nice-language

我一直在阅读Bruce Eckel的Thinking In Java,在关于泛型的章节中,他简要地提到Nice programming language比Java更好地处理参数化类型,但编译成Java字节码。

有没有人有这方面的经验?仿制药让我头疼,因此与Java互操作的替代品的前景是吸引人的...但我觉得这就像尝试学习法语和魁北克一样,并且如果我把它们混淆在一起就会大吼大叫错误的背景。 (没有冒犯意味着所以请不要因为不是PC而责备我)并且想出“Nice”这个名字的人应该被枪杀,因为这样就无法搜索除sourceforge之外的任何网站。

3 个答案:

答案 0 :(得分:8)

我还建议查看Scala,这是一种在JVM上运行的多范式(OO和功能)语言。 “Scala之父”Martin Odersky也是Java中泛型实现的主要贡献者,包括他在Pizza和GJ实现方面的工作。

Java中当前的类型擦除机制确实迫使人们理解一些实现细节以理解限制,但可以公平地说,在任何语言中使用完整的通用支持要求学习曲线。

我发现Java Generics and Collections是一本精心编写的Java 5中使用泛型的简介和指南。

答案 1 :(得分:2)

也许要问的问题是,“为什么仿制药会让你头痛?”你是如何使用它们导致这种痛苦的?

我同意Java中的泛型存在缺陷,并且存在导致问题的情况(例如,扩展),但究竟是什么问题?

使用另一种编译为字节代码的语言可能会在短期内帮助您,但如果您在一个提供其他人必须维护的系统的团队中工作,那么无论如何引入像Nice这样的技术都可能会遇到问题这是优雅的。

答案 2 :(得分:1)

我会说看Scala或Groovy。我的印象是,尼斯是一种从未吸引力的实验性语言。如果您根本不喜欢Java的泛型,那么您可能更喜欢groovy,它是动态类型的。如果你喜欢泛型的想法,但是发现Java的实现令人困惑(就像我一样),那么你可能会喜欢scala,它可以更明智地处理泛型。