Java (버전 1.1 이후부터!)부터 10 년 이상의 경험이 있으며 .NET (주로 C #)에서 7 년의 경험이 있습니다.
결정해야 할 결정이 있지만 대부분 몇 가지 시나리오로 분류해야합니다.
데스크톱 애플리케이션
데스크톱 응용 프로그램을 개발하는 경우 작업 할 주요 플랫폼을 사용해야합니다. Microsoft 플랫폼이 .NET을 사용하는 경우 모선 자체에서 개발 한 플랫폼보다 더 나은 솔루션은 없습니다. Linux 또는 다중 플랫폼 시나리오 인 경우 Java 또는 웹 기반 솔루션으로 이동하십시오.
웹 기반 애플리케이션
각각의 강점과 약점을 가지고 있기 때문에 결정하기가 매우 어렵습니다. 몇 가지가 있습니다 :
씨#
강점 : 현재 언어 및 플랫폼 / 프레임 워크에 새로운 기능을 구축하는 데 더 많은 추진력이 있습니다. 모든 것이 하나의 공급 업체에서 제공되며 분명히 이점입니다. 예를 들어 DevExpress와 같은 매우 강력한 구성 요소를 사용할 수도 있습니다 (자바는 DX 팀이 수년에 걸쳐 구성한 것과 거의 비슷하지 않으므로 생산성이 크게 향상됩니다).
약점 : 엔터프라이즈 응용 프로그램의 경우 .NET은 Java만큼 성숙하지 않습니다. Java와 마찬가지로 .NET에서 엔터프라이즈 소프트웨어를 구축하는 많은 공급 업체가 없습니다.
자바
강점 : 더 성숙하고 (이미 설명되어 있음) 도움을 줄 수있는 훌륭한 오픈 소스 프로젝트가 여러 개 있습니다. 소위 오픈 소스 프로젝트라고하는 여러 .NET은 실제로 Java 프로젝트의 복제본입니다.
약점 : Oracle은 Java를 소유하고 있으며 (JCP가 아님) 이는 확실히 고려해야 할 위험입니다. 그들의 의도는 명확하지 않으며 개인적으로 언어가 어디로 가고 있는지 개인적으로 좋아하지 않습니다 (많은 Java 개발자들이 비슷한 우려를 가지고 있음을 알고 있습니다).
서버 측 애플리케이션
기본적으로 웹 기반 응용 프로그램과 같은 주장이지만 UI Java에 대해 너무 걱정할 필요가 없기 때문에이 경우 더 강력 해집니다. 그러나 플랫폼이 주로 Windows .NET이라면 더 나은 선택 일 수 있습니다.
전반적인 고려 사항
전반적으로 .NET은 Visual Studio 2010 (최고의 IDE를 손에 넣음), MS SQL, Entity Framework, IIS 등의 긴밀한 통합으로 인해 주로 이점이 있습니다. 이 모든 것이 생산성 향상에 큰 도움이되며,이를 입증 한 수많은 경험이 있습니다. 또한 .NET으로 전환 한 대부분의 Java 개발자와 함께 일하며 기본적으로 동일한 의견을 공유합니다.
또한 Microsoft가 그 어느 때보 다 강력하다는 것이 좋은 지적이라고 생각합니다. 따라서 10-15 년을 앞두고 보면 Java보다 .NET이 더 안전하다고 느낍니다.