JDK 5.0 (Code명 Tiger)가 드디어 release 되었군요...

익명 사용자의 이미지

Download Site는 아래...

http://java.sun.com/j2se/1.5.0/download.jsp

뭐... 요즘은 Java 진영이 좀 조용조용이 release 하는 거 같습니다...

JDK 1.4가 나온 이후 거의 2년 반만에 있는 Major Release 군요...

그런데, 제일 원하던 기능이 빠져 있어서 좀 그렇네요...

내심 Shared VM이 추가되어 있기를 바랬는데...

뭐... 하여튼 Java가 .Net을 많이 눌려줬으면 좋겠네요...

.Net에 큰 감정이 있는 것은 아니지만, MS에서 OS부터 OFFICE, 개발 툴 시장까지 모두 석권하려고 하면 너무 욕심인거 같네요...

Java가 가진 문제점들은 Open Source화 하는 걸로 어느 정도 커버할 수 있다고 생각하는데, 관리는 쉽지 않겠죠... 딜레마...

익명 사용자의 이미지

헉!

이거 이상하네요?

글을 써서 올리는데, '이미 사용 중인 사용자이름입니다...' 이런 문구가 뜨네요?

log in 한 상태에서는 새글을 못올립니까???

sDH8988L의 이미지

아~ 죄송합니다...

로그인에 문제가 있어서 그랬네요...

위 글 제가 올린 겁니다... 죄송...

divetou의 이미지

JDK 5.0..

이렇게 쓰는것은 처음 봤네요. ^^;

전 1.4.x버젼에서 5.대로 점프했나 했네요... ^^;; 설마설마 하면서..

==============================
꿈꾸는소년

divetou의 이미지

방금 확인해보니

sun의 java공식 사이트에서 이렇게 쓰는군요.

처음 봤습니다. ^^;

한동안 자바를 안 썼더니..

지금 하고 있는 프로젝트가 끝나면 이번에 release된 JDK 5.0에도 관심을 좀 가져봐야 겠네요..

==============================
꿈꾸는소년

youlsa의 이미지

Anonymous wrote:
뭐... 하여튼 Java가 .Net을 많이 눌려줬으면 좋겠네요...

저는 mono가 Java랑 .NET을 좀 눌러주면 얼마나 좋을까 하는 생각이.. :)

=-=-=-=-=-=-=-=-=
http://youlsa.com

익명 사용자의 이미지

youlsa wrote:
Anonymous wrote:
뭐... 하여튼 Java가 .Net을 많이 눌려줬으면 좋겠네요...

저는 mono가 Java랑 .NET을 좀 눌러주면 얼마나 좋을까 하는 생각이.. :)

흠...

그런데, mono를 보고 있으면 항상 불안불안합니다...

언제 MS가 딴지 걸고 나올 지 알 수 없으니까요...

물론, 공개된 Spec을 가지고 만들고 있기는 하지만, 현재는 MS에서 만든 .Net의 Library와 호환되게 만들고 있지 않습니까?

.Net의 일부 Spec이 공개라고는 하지만, Library까지 공개는 아니니까 혹시나 나중에 mono가 일정 궤도에 올랐을 때, MS가 딴지를 걸면 속수 무책이 아닐까 해서요...

뭐... MS야 돈도 많고 변호사들도 빵빵하니까 구멍을 많이 생각하고 있겠죠...

그래서 왠지 mono는 미덥지 않습니다...

bw001730의 이미지

근데 모노가 모에요? -_-
(이런 왕초보를 봤나 무식해서 지송 )

fender의 이미지

모노 홈페이지
http://go-mono.net

예전에 올렸던 모노 프로젝트의 위험성 :
http://bbs.kldp.org/viewtopic.php?p=169627#169627

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

vacancy의 이미지

.NET도 Java도 미덥진 않지만,
사실 그에 상응하는 오픈소스플랫폼이 존재하지 않는다는 것도 사실이죠.
그래서 Mono와 같은 프로젝트가 의미가 있는것이 아닌가 합니다.

Mono가 이런저런 딴지가 걸려 WinForm, ASP.NET과 같은 부분을 버린다해도
그 남은 부분이 전혀 쓸모없는 것이 아니니까요.
오픈소스플랫폼 중에 그에 상응할만한 것이 있다면 모르겠습니다만,
적어도 현재까지는 없죠. dotGNU 프로젝트도 시들하고요.

현재까지 해왔듯 그냥 C나 C++로 개발하는 방법도 있긴하겠습니다만,
C++는 productivity 측면에서 Java나 C#보다 떨어지는게 사실이기도 하고,
뭔가 대안이 필요하다고 생각합니다.
이러한 상황에서 Mono가 그저 부질없는 프로젝트라고 보긴 어려운것같네요.

그리고 궁금한 것이 있는데,
인터페이스만 가져다가 구현은 전부 새로 했을 경우
법적인 문제에 대해 자세히 알고 싶습니다.
사실 API를 베낀다, 라고 보자면 Wine 프로젝트도 마찬가지 같은데요.
Wine은 MS에서 관대해서 내버려두는 것이라고 봐야 하는것인지요 ?
Mono에 대해 Novell이 법적인 문제를 전혀 고려하지 않고 지원하는 것인지도
다소 의문이 들고요.

offree의 이미지

vacancy wrote:

....
....

그리고 궁금한 것이 있는데,
인터페이스만 가져다가 구현은 전부 새로 했을 경우
법적인 문제에 대해 자세히 알고 싶습니다.
사실 API를 베낀다, 라고 보자면 Wine 프로젝트도 마찬가지 같은데요.
Wine은 MS에서 관대해서 내버려두는 것이라고 봐야 하는것인지요 ?
Mono에 대해 Novell이 법적인 문제를 전혀 고려하지 않고 지원하는 것인지도
다소 의문이 들고요.

Wine 이나 Mono 를 MS 에서 별 문제삼지 않는 것은 아직 크게 쓸모가 없어서 이지 않을까요?
정말 윈도우 플랫폼을 쓰지 않아도 될정도로 해당 프로젝트가 성장하게 된다면, 어떤 반응을 보일지는 참 궁금하긴 합니다.(그런날이 올지는 모르지만요..)

또한 MS 를 베끼는 것이 정말 의의가 있는지는 모르겠습니다.

.net 에 대응할 만한 mozilla 프로젝트 에 오히려 힘을 실어주는 것이 더 낫지 않을까 합니다.

윈도우에 종속되고, IE 에 종속되고, .net 에 종속되면서 언제까지 MS 를 뒤따라야 하는지..(정말 대안이 없는 것인지..)

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

sDH8988L의 이미지

offree wrote:

...
.net 에 대응할 만한 mozilla 프로젝트 에 오히려 힘을 실어주는 것이 더 낫지 않을까 합니다.
...

흠...

mozilla Project에 .Net에 대응될만한 뭔가가 있나요??

아시다시피 mozilla Project는 Internet 관련 성향이 크고, .Net은 개발관련인데, 대응이 되나요?

atie의 이미지

Sun이 자바 발표 방식을 바꾼답니다. dot-dot release 없이 2~3개월 간격으로 critical bug fix만 담은 update release를 규칙적으로 발표하겠다고 하네요.

http://theserverside.com/news/thread.tss?thread_id=29127

----
I paint objects as I think them, not as I see them.
atie's minipage

offree의 이미지

sDH8988L wrote:

흠...

mozilla Project에 .Net에 대응될만한 뭔가가 있나요??

아시다시피 mozilla Project는 Internet 관련 성향이 크고, .Net은 개발관련인데, 대응이 되나요?

정확히 1:1 로 대응될 만한 것을 찾기에는 딱히 말할 것은 없네요.

mozilla 프로젝트를 브라우저 프로젝트에 한정한다면 그렇지만, 일종의 플랫폼이라고 봐야 하지 않을까 하는 생각에 말씀 드린 것이었습니다.

제가 잘못 알고 있는것인가요?

잘 아는 내용은 아니니, 기술적인 논쟁은 피하고 싶네요. ^^

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

vacancy의 이미지

.Net과 Mozilla는 전혀 다른 의미의 플랫폼이고요.
오픈소스 플랫폼 중에는 .Net에 상응할만한 플랫폼이
현재 Mono밖에 없는 것으로 알고 있습니다.

물론 Java가 있기는 하지만,
Java도 Sun이 하기 나름이죠. :?

fender의 이미지

vacancy wrote:
.Net과 Mozilla는 전혀 다른 의미의 플랫폼이고요.
오픈소스 플랫폼 중에는 .Net에 상응할만한 플랫폼이
현재 Mono밖에 없는 것으로 알고 있습니다.

물론 Java가 있기는 하지만,
Java도 Sun이 하기 나름이죠. :?


GCJ/Classpath도 있습니다 :)

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

offree의 이미지

vacancy wrote:
.Net과 Mozilla는 전혀 다른 의미의 플랫폼이고요.
오픈소스 플랫폼 중에는 .Net에 상응할만한 플랫폼이
현재 Mono밖에 없는 것으로 알고 있습니다.

물론 Java가 있기는 하지만,
Java도 Sun이 하기 나름이죠. :?

그렇군요.

저에게는 IE , .NET , 롱혼 을 하나의 연장선 상으로 보이기 때문에..
Mozilla 와 어느정도 상관이 있다고 생각했네요.

그렇지만, 저도 fender 님 말씀처럼 Mono 는 아니다 라고 생각이 됩니다.

Sun 이 자바에 대한 집착을 조금 버렸으면 하네요.

사용자가 바꾸어 나가자!!

= about me =
http://wiki.kldp.org/wiki.php/offree , DeVlog , google talk : offree at gmail.com

vacancy의 이미지

GCJ/Classpath는 Sun에 대해 안전한가요 ?
( Sun의 Java API등의 사용에 대해서요. )

동기가 별로 없었어서 직접 써본적이 없네요.
간략히 소개해주시면 감사하겠습니다.

fender의 이미지

vacancy wrote:
GCJ/Classpath는 Sun에 대해 안전한가요 ?
( Sun의 Java API등의 사용에 대해서요. )

동기가 별로 없었어서 직접 써본적이 없네요.
간략히 소개해주시면 감사하겠습니다.


기본적으로 Mono나 상황은 비슷합니다. 두 프로젝트 모두 GPL의 보호를 받지만 소프트웨어 특허에 대한 문제는 저작권과는 또 다릅니다. 결국 MS나 Sun이 얼마나 오픈소스를 진지하게 지원하느냐에 모노나 GCJ/Classpath의 운명이 걸려있다고 해도 틀린 말은 아닙니다.

참고로 GCJ/Classpath의 경우 썬의 Java API를 사용하는 것이 아니라 JCP를 통해 공개된 API를 구현하는 것입니다. 이렇게 구현된 결과물을 '자바'라고 부르기 위해서는 TCK를 이용한 테스트에 통과해야 합니다.

이러한 문제들에 대한 자세한 내용은 아래 링크를 참조하세요 :
http://www.gnu.org/software/classpath/faq/faq.html

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

logout의 이미지

offree wrote:
vacancy wrote:

....
....

그리고 궁금한 것이 있는데,
인터페이스만 가져다가 구현은 전부 새로 했을 경우
법적인 문제에 대해 자세히 알고 싶습니다.
사실 API를 베낀다, 라고 보자면 Wine 프로젝트도 마찬가지 같은데요.
Wine은 MS에서 관대해서 내버려두는 것이라고 봐야 하는것인지요 ?
Mono에 대해 Novell이 법적인 문제를 전혀 고려하지 않고 지원하는 것인지도
다소 의문이 들고요.

Wine 이나 Mono 를 MS 에서 별 문제삼지 않는 것은 아직 크게 쓸모가 없어서 이지 않을까요?
정말 윈도우 플랫폼을 쓰지 않아도 될정도로 해당 프로젝트가 성장하게 된다면, 어떤 반응을 보일지는 참 궁금하긴 합니다.(그런날이 올지는 모르지만요..)

또한 MS 를 베끼는 것이 정말 의의가 있는지는 모르겠습니다.

.net 에 대응할 만한 mozilla 프로젝트 에 오히려 힘을 실어주는 것이 더 낫지 않을까 합니다.

윈도우에 종속되고, IE 에 종속되고, .net 에 종속되면서 언제까지 MS 를 뒤따라야 하는지..(정말 대안이 없는 것인지..)

API를 베끼는 것은 법적으로 아무 문제가 없습니다. API는 "공개된" 인터페이스의 일종입니다. 여기서 말하는 인터페이스는 유저 인터페이스가 아니고 기술적인 계층 (layer) 사이를 이어주는 가교 역할을 하는 인터페이스를 얘기합니다.

따라서 Wine은 MS에서 관대(?)해서 내버려두고 있는 것이 아니라 Wine의 접근 방법 자체가 공개된 인터페이스를 기술적으로 구현해 나가고 있기 때문에 별다르게 딴지를 걸만한 이유가 없습니다. 굳이 MS의 입장에서 신경쓰이는 부분은 사소하지만 Wine과 같은 프로젝트를 잘못 건드렸다가 반독점 이슈에 휘말리는 상황 정도겠지요.

"I conduct to live,
I live to compose."
--- Gustav Mahler

익명 사용자의 이미지

잠깐 딴 질문 -_-;;;

gcj(libgcj?) 와 classpath faq 문서를 읽어봐도
도대체 차이를 영 알 수가 없네요.

그냥 다른 구현체 인지...?

추가 설명 좀 부탁 드려요~~

fender의 이미지

gcj는 gcc와 대응되는 GNU 자바 컴파일러입니다. Classpath는 GNU 환경에서 자바 프로그램을 실행하고 컴파일하기 위해 필요한 J2SE 코어 API 구현물입니다.

gcj 프로젝트는 gij를 통해 Sun Java의 java 명령 처럼 자바 프로그램을 인터프리트 방식으로 구동할 수도 있지만, 더욱 관심이 가는 기능은 gcj를 통해 자바 프로그램을 C/C++과 마찬가지로 JVM이 필요 없는 일반 바이너리로 컴파일 가능하다는 점입니다.

현재 데스크탑 자바의 가장 큰 걸림돌은 속도가 아니라 JRE의 패키징입니다. 최신 버전의 Classpath와 최신 버전의 자바를 비교해보면 주로 스윙 관련 패키지가 부족함을 알 수 있는데, 반대로 생각하면 SWT를 이용할 경우 GCJ/Classpath를 통해 자바 언어로 JRE가 불필요한 완전한 네이티브 GUI 어플리케이션을 만들 수 있다는 뜻입니다. 또한 SWT의 특성상 하나의 소스로 윈도우즈, 리눅스(GTK2, Motif, Fox), 맥 OSX 등을 동시에 지원할 수 있다는 강점이 있습니다.

아직은 특히 윈도우즈 플랫폼에서 GCJ 컴파일에 어느 정도 어려움이 있지만 azureus, g2gui(몇일 전에 이미지 갤러리에 올라왔던 mldonkey 공식 GUI 클라이언트), rss owl등 이런 방식으로 빌드된 SWT 기반 데스크탑 어플리케이션들이 인기를 끌고 있는 점을 보면 빠른 시간 안에 오픈소스 자바 진영의 표준적인 GUI 개발 방법으로 자리 잡을 것으로 생각합니다.

사실 모노의 경우 GTK#으로 인해 더욱 주목받고 있지만 자바의 경우도 Java-GNOME이라는 GTK/GNOME 바인딩이 있습니다. 하지만 SWT나 스윙, SwingWT, wx4j등의 여러 크로스 플랫폼 대안들이 있기 때문에 크게 주목 받지 못하는 점도 있습니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

익명 사용자의 이미지

답변 너무 감사 드립니다.

그렇다면
gcj는 뭐 컴파일러, 전처리기, 라이브러리 등등 이고,
classpath는 (예를 들어) libgcj.a == libclasspath.a
요정도 관계로 보면 되는 건가요?
그리고 요 관계가 맞다면 gcj 로 컴파일 하면서
gcj 안에 들어있는 api 라이브러리가 아니라 classpath 를
이용해서 링킹 할 수가 있는 건가요?

( 죄송합니다. 너무 몰라서 ToT )

sDH8988L의 이미지

fender wrote:
vacancy wrote:
.Net과 Mozilla는 전혀 다른 의미의 플랫폼이고요.
오픈소스 플랫폼 중에는 .Net에 상응할만한 플랫폼이
현재 Mono밖에 없는 것으로 알고 있습니다.

물론 Java가 있기는 하지만,
Java도 Sun이 하기 나름이죠. :?


GCJ/Classpath도 있습니다 :)

흠...

저는 gcj/classpath가 Java나 .Net에 상응한다고 생각지 않습니다...

Java나 .Net이 주장하는 가장 중요한 특징은 바로 Independence입니다...

Java에서는 Platform Independence를 .Net에서는 Language Independence를 주장합니다... 뭐... .Net도 Platform Independence를 한다고 하지만, MS의 전략상 그건 불가능하다고 보고요...

Independence는 사실 엄청 중요한 개념이라고 봅니다... 특히, 프로그램들이 기기를 옮겨다니면서 컴파일 없이 사용될 수 있다는 것은 상당히 중요한 부분이죠...

핸드헬드나 모바일, 나중의 유비퀴터스 환경 등등에서 재컴파일 없는 코드의 활용은 꽤나 중요한 부분이겠죠.

그런 면에서 GCJ/Classpath Project는 Java나 .Net과는 보는 그림 자체의 크기가 다르다고 봅니다...

Java나 .Net이 전략가들의 산물이라고 본다면, GCJ/Classpath의 경우 전장에서 잔뼈가 굵은 장수의 모습이라고나 할까요...

물론, 아직 완전히 구현되지도 않았고 헛점도 무지 많은 개념이기는 하지만, 저는 Java의 WORA가 마음에 드네요... 또 그렇게 되는 것이 세상을 위해서도 유익한 거 같구요...

fender의 이미지

sDH8988L wrote:
저는 gcj/classpath가 Java나 .Net에 상응한다고 생각지 않습니다...

......

핸드헬드나 모바일, 나중의 유비퀴터스 환경 등등에서 재컴파일 없는 코드의 활용은 꽤나 중요한 부분이겠죠.

그런 면에서 GCJ/Classpath Project는 Java나 .Net과는 보는 그림 자체의 크기가 다르다고 봅니다...


GCJ/Classpath의 목적은 오픈소스 자바 개발 및 실행환경을 구현하는 것입니다. 썬이 제공하는 J2SE 패키지를 보면 :

rt.jar -> Classpath/Classpathx
java -> gij
javac -> gcj
javadoc -> gcjdoc/doclet
java-plugin -> gcjweb

와 같이 1:1 대응 관계가 있습니다. 혹시 '독립성'을 강조하신 이유가 GCJ의 네이티브 컴파일을 문제 삼으신 것이라면 gij는 기존의 java 명령과 동일하게 인터프리트 방식으로 자바 어플리케이션을 구동하며 gcj도 플랫폼 독립적인 class 파일을 생성할 수 있다는 점을 말씀드리고 싶습니다.

또한 Classpath는 GCJ 이외에도 네이티브 컴파일과 관련 없이 Kaffe, Kissme, SableVM, IKVM등 여러 오픈소스 JVM에서 사용되기도 합니다.

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...

feanor의 이미지

자주 나오는 이야기입니다만, JVM의 언어 독립성에 대해서는 다음 페이지를 읽어보시고 말씀해 주시기 바랍니다.

http://www.robert-tolksdorf.de/vmlanguages.html

*현재* 상황만 보면, JVM에서 돌아가는 언어가 .NET에서 돌아가는 언어보다 많습니다.

--feanor

sDH8988L의 이미지

fender wrote:

GCJ/Classpath의 목적은 오픈소스 자바 개발 및 실행환경을 구현하는 것입니다. 썬이 제공하는 J2SE 패키지를 보면 :

rt.jar -> Classpath/Classpathx
java -> gij
javac -> gcj
javadoc -> gcjdoc/doclet
java-plugin -> gcjweb

와 같이 1:1 대응 관계가 있습니다. 혹시 '독립성'을 강조하신 이유가 GCJ의 네이티브 컴파일을 문제 삼으신 것이라면 gij는 기존의 java 명령과 동일하게 인터프리트 방식으로 자바 어플리케이션을 구동하며 gcj도 플랫폼 독립적인 class 파일을 생성할 수 있다는 점을 말씀드리고 싶습니다.

또한 Classpath는 GCJ 이외에도 네이티브 컴파일과 관련 없이 Kaffe, Kissme, SableVM, IKVM등 여러 오픈소스 JVM에서 사용되기도 합니다.

흠... 그렇군요... 제가 GCJ/Classpath에 대해서 너무 수박 겉핥기식으로 알고 있었나 봅니다... 이번 기회에 좀 더 알아봐야 겠군요...

fendor님 말씀대로라면 gcj를 단순하게 javac의 대체로도 사용가능하다는 말씀이군요...

그런데, GCJ를 이용하여 Platform Independence를 구현하면 실행 속도가 얼마나 되는 지 궁금하네요... 기존의 javac와 비교해서 성능이 어떨런지...

PS.

위에 글을 올리신 fender님과 feanor님과 ID가 상당히 유사하네요... 저는 지금까지 같은 분인 줄 알았습니다... :D

sDH8988L의 이미지

허허... 이거참...

좀 전에 GCJ site에 가보고 왔습니다...

간단하게 몇몇 문서를 읽어보고 왔는데요... 젠장...

뭘 좀 알고 글을 올려야 겠군요... 잘 모르는 상태에서 생각없이 글을 올리면 안되겠다는 생각이 듭니다...

간단하게 제가 잘못 알고 있었던 부분을 정리하자면, GCJ는 그냥 Native Code만 생성하는 건 아니더군요...

1. .java file -> architecture specific output

2. .java file -> .class file (이후에 Java로 실행하면 됨다...)

3. .class file -> architecture specific output

이런 정도 되네요...

함부로 말하면 안되겠습니다... GCJ를 만들기 위해서 노력하시는 분들께 죄송한 마음이 드네요...

fender의 이미지

속도 차이에 대해선 저도 아는 바가 없어서 제대로 답변은 못드리겠네요; 다만 class 파일 포맷은 공개되어 있는 표준이기 때문에 크게 차이가 나지 않을 것 같습니다. 반면 네이티브 컴파일한 결과의 경우 JVM이 필요 없기 때문에 시작 시간은 빠르지만 JIT가 없는 관계로 VM에서 돌 때보다 일반적으로 성능이 좀 떨어지는 것으로 알고 있습니다.

어쨌든 확실하지 않은 지식이라 제대로된 답변을 못해드리겠네요;;

----------------------------
[서명] 그놈 한국 사용자 모임 - 그놈에 대한 모든 것! - 게시판, IRC, 위키, 갤러리 등등...