728x90
개요 |
C# 은 Java 의 아쉬운 점을 극복하기 위해 등장한 마이크로소프트사에서 만든 언어입니다. 그러나 이미 Java 로 개발되어 있는 시스템들이 많고, 다른 대안이 되는 언어들의 등장이 있었습니다. 이러한 이유로 C# 은 주로 마이크로소프트 플랫폼용 소프트웨어를 개발하는 데에 사용되게 되었습니다.
비교 |
비교1. - Run Time Environment (런타임 환경)
Run Time Environment | |
Java | C# |
[1] Java Virtual Machine (JVM) 지원 Java 소스-> 컴파일 -> 바이트 코드로 변환 -> 변환된 바이트 코드가 JVM에 의해 네이티브 코드로 번역되어 실행됨 |
[1] Common Language. Runtime (CLR) 지원 .Net 소스 -> 컴파일 -> IL 로 변환 -> 변환된 IL 코드가 CLR에 의해 네이티브 코드로 번역되어 실행됨 |
[2] 번역된 네이티브 코드는 저장되지 않음 | [2] 번역된 네이티브 코드는 캐싱됨 -> 두 번째 실행 시, 캐싱된 네이티브 코드를 실행 |
JVM | CLR |
Java 에서만 동작 | CLS를 따르는 모든 언어가 동작 가능 (C#, Visual Basic 등) |
비교2. - 프로젝트 실행
프로젝트 실행 | |
Java | C# |
[1] 확장자 : .java | [1] 확장자 : .cs |
[2] 실행 단위 : file -> 1 file 당 main 함수 1개씩 존재 가능 |
[2] 실행 단위 : project -> 1 project 당 main 함수 1개 존재 가능 |
실행 속도는 Java 가 C# 보다 빠릅니다. 그러나 무겁지 않은 프로그램에서는 큰 차이가 나지는 않습니다. 다만, 게임 분야에서 그래픽 프로그래밍에서 rendering 하는 데 사용되는 연산은 거의 다 floating point 연산입니다. 때문에, 이러한 부분에 대한 성능은 Java 가 C# 에 비해 현저히 떨어집니다. |
비교 other. - .etc
- 프로그램 구조
- 자료형, 키워드 등 문법
등 자세한 주제별 비교는 아래 글 참고
728x90
'IT Etc' 카테고리의 다른 글
[아키텍처] 2Tier vs 3Tier (0) | 2023.08.29 |
---|---|
(WEB) 통신 시 415 Error (Media Type...) (0) | 2023.08.23 |
[JSP] 이클립스에서 전체 인코딩 설정해주기 server.xml (0) | 2023.08.23 |