C # 또는 Java가 다른 것보다 앞서 있는지에 대한 문제는 논쟁의 여지가 있지만 한 언어의 언어 기능에 중점을 두는 대신 언어를 발전 시키는 데 관련된 것에 중점을 둡니다 . 내가 누구도 논쟁하지 않을 것이라고 생각하는 한 가지 사실은 다음과 같습니다. Java가 C #보다 오래되었습니다.
언어 작동 방식 변경과 관련된 문제 :
- 이전 버전과의 호환성을 깨 뜨리면 많은 개발자를 화나게합니다.
- 개발자를 화나게하면 더 나은 언어를 지원하는 다른 언어로 넘어갑니다. 따라서 언어를 계속 사용할 이유가 없습니다.
- 자바는 언어를 시장에 내놓으라는 압력으로 초기에 일부 디자인 결정을 내렸다. 희망은 돌아가서 일부 공백을 채우는 것이 었습니다. 관리자가 첫 번째 요점을 위반하고 싶지 않기 때문에 이러한 결정은 여전히 언어를 괴롭 힙니다.
- 자바는 많은 새로운 영토를 습격했으며 가비지 수집 언어를 진지하게 받아 들일 수 있으며 대부분의 사람들에게 충분한 성능을 제공한다는 사실을 단 한번도 입증했습니다.
- C #은 나중에 들어 와서 Java가 우연히 겪었던 많은 교훈을 배웠으므로 포인트 3 때문에 Java의 기술적 한계를 피할 수있었습니다.
- 새로운 언어 기능은 실제 문제를 현명하게 해결해야합니다. 언어를 추가하려는 언어의 맥락에서 모든 언어 기능이 적합한 것은 아닙니다. 이것이 유사 함에도 불구하고 Java와 C #은 계속 다른 언어가 될 것입니다.
그렇다면 C #에는 Java보다 더 많은 언어 기능이 있습니까? 나도 그렇게 생각해. 그들은 유용합니까? 나도 그렇게 생각해. 이것이 C #이 Java보다 낫거나 성숙하다는 것을 의미합니까? 동의하지 않습니다. 그들은 다르고 평범하며 단순합니다. C #에는 Java 기능이 모두 없으므로 Java에는 C #의 기능이 모두 포함되지 않습니다.
Java의 기능 중 하나 인 Windows에서 프로그램을 작성하고 Unix 또는 Mac에 배포하는 기능은 Microsoft의 지원에 의해 직접 발생하지 않습니다. 왜 물어? 마이크로 소프트가 악하기 때문이 아닙니다 (실제로 관심이 없는지 여부). 썬이 결코하지 않은 교훈을 배웠기 때문입니다. 쓰기 실행은 운영 체제와 하드웨어를 상용화하는 어느 곳에서나 실행됩니다. 운영 체제 판매로 돈을 버는 것에 관심이 있다면, 사소한 교환으로 응용 프로그램 작업을 수행하기가 쉽지 않습니다. 그렇게하면 항상 저렴한 옵션이 있기 때문에 운영 체제에서 이익을 얻을 수 없습니다.