2008-10-11 2 views
4

BGGA는 자바에 대한 해결책으로 폐쇄됩니까?

어제 @headius/Charles Nutter는 트위터에 대해 매우 흥미로운 아이디어를 내놓았습니다.

@danny_l Gafter made the same mistake; I don't mean a forked Java any more than Groovy is a fork. I want a "mostly Java" with closures. 

또는 @ danny_l/Danny Lagrouw의 답장 :

@headius or could the BGGA prototype be "bolted on" any future version of Java? That might be useful 

그게 내가보고 싶은 것입니다. 게다가. 현대 자바 버전에서 BGGA 프로토 타입을 작동시키기 위해 일종의 바이트 코드 전 처리기를 사용할 수 있습니까? 나는 스칼라를 의미한다. Groovy와 JRuby는 클로저를 가지고 있으며 유효한 바이트 코드를 생성한다.

도울 려구 노력하고 있습니다. 어디서부터 시작해야할지 모르겠다.

(위의 내용은이 주제에 대해 쓴 blogpost의 발췌 부분입니다)

다른 사람들은이 아이디어에 대해 어떻게 생각합니까?

답변

2

단어 '전처리 기'는 나를 C++로 다시 데려가니까 두렵습니다.

이상한 이분법이 있습니다. JVM에서 다양한 언어의 정원을 축하하지만, "엄마 곰"(Java라고도 함)이 이렇게 조각화되어서는 안됩니다. 우리는 견고한 기초가 필요합니다.

그렇다고해서 BGGA 클로저에 찬성합니다. 나는 또한 언어가 완전한 기능을 제공해야한다고 생각한다. 팀에 클로저 (또는 제네릭 또는 스레딩 (!!))를 처리 할 수없는 사람들이있는 경우 팀은 코드 검토 및 정적 분석을 통해 스스로를 규명해야합니다.

아마도 한 가지 아이디어는 '고급 기능'을 허용하지 않는 컴파일 타임 스위치를 사용하는 것일 수도 있지만, 다소 까다로운 것처럼 보일 수도 있습니다.

'bolt-on'아이디어는 실제로 자바 공간에서 분열 된 리더십을 해결하려고하고 있다고 생각합니다. 이 문제는 기술적 인 것보다 정치적이며 외교적 인 것으로 파업한다.

1

이러한 문제를 해결하는 문제는 단편화 된 언어를 만드는 것입니다.

자바 언어는 java, java를 만드는 가장 작은 부분입니다. 도서관과 문화가 더 큰 부분을 차지합니다. 클로저와 제네릭을 볼트로 만드는 것은 핵심 라이브러리에서 사용할 수 없거나 코어 라이브러리가 사용중인 SDK에 볼트가 있어야 함을 의미합니다. 이것은 라이브러리 내에서 단편화를 일으킬 것입니다 (일부 개발자는 핵심 작업을하고 일부는 볼트 - 인을 필요로합니다). 최악의 경우, 다른 세트를 포함하는 각각의 Java Manor에서 '배포판'을 갖기 시작할 것입니다. 항아리와 '볼트 온 (bolt-ons)'.

나는 이것이 내가 미끄러지는 미끄러운 경사의 시작이라고 말할 것이다.

관련 문제