C# vs JAVA
- 강력함과 다재다능함의 대결 -
 

1.     서문


내가 작년 초에 크게 고민한 부분이 있다과연 JAVA를 배우는 것이 효과적일까아니면 C#을 배우는 것이 효과적일까에 대한 것이다두 언어 모두 IT업계의 뜨거운 감자로 취급되는 것들이었고지금도 그렇다. JAVA가 지금의 선두자라고 한다면 C#은 미래의 선두자가 될 수 있는 가능성을 가지고 있었다.

 그렇지만 두 언어는 각각의 장점과 단점을 갖고 있었다프로그래밍 언어론에서 말하 듯완벽한 언어는 없으며 각 그 언어의 장점이 있다면 그에 상응하는 단점을 가질 수 밖에 없는 것이다강력한 성능의 언어는 복잡한 문법을 가지거나 Perfomance가 떨어질 수 밖에 없듯이그런 장단점이 있었다.

하지만 결론적으로 나는 C# JAVA 두 언어를 모두 공부하게 되었고두 언어를 C++만큼 깊게 파보진 않았지만 두 언어의 장단점을 파악할 수 있을 정도는 되었다고 생각한다그래서 두 언어를 비교해보자고 한다.

 

2.     C#의 특징


A.     C#에 대한 간단한 소개

C# Microsoft(이하 MS) .NET Framework와 함께 사람들의 곁으로 다가왔다많은 개발자들은 C# JAVA를 잡기 위해 MS에서 내놓은 언어라고 평한다실상 그런 것이 C#을 이용해보면 JAVA와 흡사하다는 느낌을 떨칠 수가 없다아래에서 다시 언급하겠지만 C# C++ VB의 특징을 조합하고, JAVA의 강점까지 포함한 언어라고 볼 수 있다어떤 사람들은 ‘MS JAVA 킬러’ 라고 부를 정도로 JAVA를 이기기 위한 MS의 각별한 노력이 돋보이는 언어라고 할 수 있다.

 

B.      기본적으로 제공하는 강력한 기능

C#의 기능은 기본적으로 강력하다. JAVA Utility Class 들이 강력한 기능을 갖고있듯 말이다물론 요즘은, C++ STL을 넘어서 Boost 등의 강력한 라이브러리를 갖고 이것을 표준안으로 채택하는 방향으로 가고 있다그러나 기본적으로 갖고 있고, MS에서 직접 개발한 것과는 다르다고 생각한다기본적으로 제공하는 강력한 성능은 C#의 큰 장점이라고 할 수 있다.

 

C.      편리한 개발환경을 제공하는 IDE

언어의 강력함이나 사용의 편의성만큼그 언어의 성패를 결정짓는 것이 IDE라는 것은 불보듯 뻔한 일이다. C# IDE는 누구나 알고 있고누구나 한번쯤은 사용한 적이 있으며게다가 Direct X  API관련 개발을 하며 누구나 썼던 Visual Studio(이하 VS)이다우선 이것으로 반은 먹고 들어갔다고 볼 수 있는데사람들에게 익숙한 VS를 개발환경으로 사용하면서 익숙하고 편리한 개발환경을 제공한다게다가 VS는 날이 갈수록 강력해지고 있으며그 기능을 십분이용할 수 있는 것이 바로 C#이다.

 

D.     컴포넌트 기반 언어

C# C/C++ 기반 언어 중에 최초의 컴포넌트 기반 언어이다. C# C/C++ 에서파생되며 간단하고 현대적이며 객체지향적이고 형 안정성을 갖는 언어이다또한C# Visual Studio의 높은 생산성과 C++의 강력한 힘이 합쳐진 언어이다.

 

E.      CLR(Common Language Runtime) / CLS(Common Language Specification)의 강력함

  CLR은 높은 수행 능력을 갖고 있다실행 엔진가비지 컬렉터실시간 컴파일러보안 시스템그리고 .NET Framework가 포함되어 있다여러 언어를 지원할 수 있도록 설계되어 었다.

CLS는 언어 기능에 대한 공통의 기준을 규정한다그 기준은 까다롭지만여러 언어를 묶어주는 역할을 한다이 그룹에 속한 언어들은 .NET Framework의 기능을 이용할 수 있으며 상호 호환기능을 갖는다 , C# Class  VB에서 상속받거나오버라이딩 할 수 있다는 말이다.

사실 CLR을 기반으로 만들어진 언어는 상당히 많으나우리가 아는 VB, VC++ 등등 또한 CLR기반의 언어라 할 수 있다.

 

~계속~




'IT > IT 일반' 카테고리의 다른 글

[경제] 샤와 텔러스의 치열한 가격경쟁, 소비자는 즐거워  (0) 2016.12.27
C# vs JAVA - 5/5*  (0) 2016.12.19
C# vs JAVA - 4/5*  (0) 2016.12.19
C# vs JAVA - 3/5*  (0) 2016.12.19
C# vs JAVA - 2/5*  (0) 2016.12.19
ERP 도입시 단점  (0) 2016.11.23
캐나다 인터넷 속도 크게 빨라졌지만,  (0) 2016.11.22
ERP 도입시 장단점  (0) 2016.11.17
IT 컨설턴트  (0) 2016.11.16
일반 JavaScript 팁 모음  (0) 2016.11.16

+ Recent posts