문제

어떻게 생각하니? JVM이 제네릭에 대한 지원을받을 수 있습니까?

JVM에 상당한 변경 사항을 요구할뿐만 아니라 클래스 파일 형식에도 적합하지 않을 것입니다. 그러나 VM에서 실행되는 언어는 그것으로부터 크게 이익을 얻을 수 있습니다.

편집 : Java 언어는 실제로 일부 일종의 제네릭을 컴파일 타임 기능으로 지원합니다.이 기능은 사용자가 수동으로 추가 해야하는 바이트 코드에 일부 캐스팅을 추가합니다.

JVM 또는 클래스 파일 사양에 대한 변경 사항을 도입하지 않으려는 결정은이 시간에 잘 이해되었으며, 이들은 요즘 JVM에 대한 유일한 언어 였기 때문입니다.

이 결정은 Java 언어에 적합했을 수 있지만 다른 언어의 자유의 양은 VM에서 제네릭을 구현하려는 방법을 선택해야합니다.

Sun / Oracle이 JVM을 대안 언어에 맞게 친구로 만들기 위해 선포 된 것을 고려해 보면 실제로 "Invokedynamic"의 저비용 첨가가 충분하다고 실제로 약속하거나 고려할 것인가?

도움이 되었습니까?

해결책

제 의견으로는 가능성이 낮습니다.

Java 언어에 이러한 변경 사항을 적용하기 위해 너무 파괴적이지 않습니다. 언어 및 런타임 두 개의 다른 모델과의 호환성은 디자이너의 악몽이 될 것입니다.

없음, Java는 JVM의 변경을 수행 할 수 있으므로 오라클이 필요한 작업을 수행하는 방법을 정당화 할 수있는 방법을 알기가 어렵습니다.

내가 볼 수있는 유일한 가능성은 다음과 같습니다.

  • 오라클은 제네릭, 폐쇄 및 전체 무리가 더 나은 것들을하는 Java (역 호환이 아닌) 자바에 대한 후속 언어를 개발하기로 결정합니다. 그것은 정말로 용감한 사업 결정이 될 것이며, 오라클이 그것을 만들 수 없다고 생각하지 않습니다.

  • 다른 사람 / 회사의 무리가 함께 JVM 사양과 코드베이스를 포크합니다. 그것은 또한 용감한 움직임이기도합니다.

Oracle은 상업적 관심사가없는 언어를 지원하기 위해 JVM에 대한 주요 변경 사항을 자원 할 것 같지 않다고 생각하지 않습니다. 우리는 여기서 이야기하고 있습니다 ... 비즈니스 유형이 훨씬 더 단단한 곳이 있습니다. 엔지니어링 유형이 죽어가는 태양 일보다 할 수있는 것보다 할 수 있습니다. (안녕하세요 ... 우리는 전체 잭 밴스 테마를 시작할 수 있습니다 : -)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top