CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): quack (승진아저씨)
날 짜 (Date): 2004년 1월 14일 수요일 오후 02시 35분 12초
제 목(Title): C#과 Java 비교


Java와 C#의 주관적인 비교

1) 성능
벤치마킹 수치야 하기 나름이라서 별 의미가 없는 듯 하고..
제가 경험해본 바로 체감 성능은 C#이 우월합니다.

같은 급의 어플리케이션을 개발해 놓았을 때 
일단 메모리 사용량이 C# 측이 훨씬 적습니다.
솔직히 C#이 적게 먹는다기 보다는 
JVM이 보통 이상으로 메모리를 많이 먹죠.

그리고 C#은 Java와 같이 바이트 코드로 컴파일 하기는 하지만,
처음 실행될 때 그 바이트 코드를 기계어로 컴파일해서 저장해 둡니다.
그리고 그 다음부터는 저장된 기계어 실행 파일이 돌아갑니다.


2) 언어적인 측면
Java를 벤치마킹해서 만들어진 것이 C#이니
사소한 부분에서 C#이 좀 낫습디다.
하지만 큰 차이는 없습니다. 상당히 비슷한 언어입니다.


3) .NET Framework vs. J2SE
이 부분에서는 .NET에 한 표.
무엇보다도 .NET은 개발도구와 잘 통합되어 비주얼하고 직관적입니다.
C/S의 클라이언트 어플리케이션이나
데스크탑 어플리케이션 개발에 있어서 
윈도우 운영체제 환경이라면 
아마도 미래는 .NET 일 듯.


4) .NET Framework vs. J2EE
이 부분은 J2EE에 한 표.
MS에게는 신뢰할만한 엔터프라이즈급 어플리케이션 서버가 없습니다.
그리고 엔터프라이즈급 어플리케이션 서버를 
윈도우 운영체제에서 돌리려는 용감한 사람은 아직 드뭅니다.


5) 웹만 놓고보면: ASP.NET vs. JSP

엔터프라이즈급 어플리케이션의 웹 인터페이스라면,
즉 은행, 항공회사 등등의 중요한 웹이라면 JSP + J2EE

엔터프라이즈 급은 아니라면 ASP.NET

ASP.NET은 웹 조차도 비주얼하고 직관적으로 코딩할 수 있도록 
웹 프로그래밍 패러다임을 바꾸어 놓았음. 아주 훌륭.

JSP 진영도 이 패러다음을 쫒아오려고 하겠지만
비주얼한면은 MS가 앞선다고 봐야할 듯.


6) 다른 운영체제에도 .NET이 돌아갈 것인가?
부분적으로는 돌아가겠지만 그렇게 대단한 것은 아닐 듯.
예전에 DCOM도 독일의 Software AG사에게 하청을 주어서 유닉스에 포팅했었음.
그때나 비슷한 전략일 듯.

.NET 보다도 윈도우 운영체제를 파는 것이 더 중요한데
.NET을 팔겟다고 유닉스 환경에 포팅할거 같지는 않음.
그러니까 유닉스만으로 .NET을 구축할 수 있게끔 만들리는 없고
기본적으로 윈도우즈들로 .NET을 구축해야 하고
그렇지만 기존에 있던 유닉스도 맞물려 돌릴 수 있다. 정도에서 그칠 듯.




결론:
ASP, Visual Basic, Visual C++ MFC의 시장은 .NET으로 거의 다 넘어갈 듯.
그만큼 .NET 잘 만들었음. 지금이나 앞으로나 데스크탑 영역은
Java가 넘볼 수 있는 곳이 아닌 듯.

엔터프라이즈급 시장은? 지금 하던대로 그냥 갈 듯. 
.NET은 아직 엔터프라이즈급 시장을 넘볼 정도는 못됨.
이시장은 Java가 .NET보다는 나은 듯.
하지만 이 시장의 강자는 여전히 IBM메인프레임 + COBOL.

웹 시장은? 워낙 ASP.NET을 잘 만들어 놓아서
숫자로 봤을 때는 점점 ASP.NET이 압도적으로 늘어날 듯.
하지만 엔터프라이즈급 웹 시장에서는 JSP + J2EE가 정답.



배경:
C#.NET의 전신은 Visual Studio의 J++
몇년전 첨 J++을 보았을 때, 아 이거다 싶을 정도로 아주 잘 만들었더군.

Delphi가 나왔을 때 MS는 긴장할 수 밖에 없었는데
object pascal 언어를 채택한 볼랜드 Delphi는 
Visual Basic에 견주어서 비주얼한면 직관적인면 간편한 면이 전혀 뒤지지 
않았고
Visual C++ MFC에 견주어서 성능이나 다재다능함이 전혀 뒤지지 않았음.
Delphi는 그야말로 깜짝 놀랄만한 천재적임 개발도구.

MS의 대처는?
Delphi 수석 개발자를 볼랜드에서 빼옴.
그리고 Visual Basic 버전업과 Visual J++ 개발에 투임.
Visual J++은 Java언어를 채태하고 썬의 Java 표준도 지원하면서
동시에 Visual Basic의 비주얼함 직관적 간편함과
Visual C++ MFC의 성능과 다재다능함
그리고 DCOM을 모두 아우르는 미래의 개발도구로 출현.

Visual J++하나면, Java 표준 프로그래밍,
Visual Basic과 같은 간단한 프로그래밍
MFC와 같은 본격적인 프로그래밍
DCOM, ActiveX 개발이 별로 어렵지 않게 한 번에 해결되는 거였음.

깜짝 놀란 Sun의 대처는?
Java 표준을 어겼다고 소송을 걸어서 MS가 J++을 못 팔게 만들어 버림.
열심히 J++ 공부하던 나는 바보가 되어버렸던 순간. -_-;;;;;

그래서 MS는 Java 대신  C#이란 언어를 새로 만들고
DCOM과 ActiveX을 개선해서 .NET이라고 포장하여
C#.NET으로 출시.





[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.