Java가 C #을 따라 잡을까요? [닫은] 않습니다. 답변, 사실, 참고 자료 또는 전문

오늘 저는 어떤 언어 C # 또는 Java가 공부하기에 더 좋은지 묻는 질문을 게시했습니다. 나는 큰 대답을했다. 한 가지 사실은 아마도 Java가 이제 새로운 기능을 갖춘 C # 뒤에 있다는 것입니다. 나는 웹 링크를 보았고 C #이 가지고 있고 Java가 가지고 있지 않은 것을 대부분 지적했다.

그래서 당신에게 내 질문은 Java가 C #을 다시 따라 잡을 것입니까? 그리고 만약 당신이 5 년 안에 어디에 서 있을지 추측 할 수 있다면. 현재 누락되었을 수있는 모든 것이 있습니까? Java 7은 어떻습니까?



답변

언어 기능은 Java 및 C #을 선택하는 데있어 매우 작은 부분입니다. 궁극적으로 이들은 더 큰 J2EE 및 .NET 생태계의 일부입니다.

둘 다 자신의 강점을 가지고 있으며 향후 5 년 안에 더 커질 것입니다.


답변

나는 오라클이 그림에 올 때까지 라고 대답 했을 것 입니다. 지난 6 년 동안 Java와 C #의 기능이 크게 향상 되었기 때문에 슬픈 일입니다.


답변

언어로서 저는 Java를 확장하지 않고 혁신을 상당한 속도로 추가하지 않습니다. 주로 최첨단에있는 오픈 소스 커뮤니티의 사람들이 Scala, Clojure, Groovy, JRuby 및 JPython

또한 이전 버전과의 호환성에 대한 Java의 약속은 언어 기능을 추가하는 것이 언어의 초기 시절보다 본질적으로 어렵다는 것을 의미합니다.


답변

여기서 큰 물음표는 Oracle입니다. 썬은 지난 반 십여 년 동안 자바의 속도를 늦췄습니다. Java 커뮤니티에서 많은 사람들의 희망은 Sun이 Java를 분사하거나 많은 자원과 노력을 기울이는 사람에게 Java를 판매하는 것이 었습니다. 오라클이 확실히 그렇게 할 수는 있지만, 자체 이익을 가진 많은 그룹을 가진 대기업입니다. 제 생각에는 오라클이 Java를 정체시키고 주로 특허 소송 도구로 사용할 것입니다.

아마도 그들은 대량의 돈을 위해 구글에 그것을 팔아서 모두가 행복 할 것입니다. 엔지니어와 소프트웨어 디자이너보다는 회의실과 변호사의 손에 달려 있습니다.

좋은 점은 개선이 없어도 Java는 좋은 언어이며 주변 환경이 좋습니다. 개인적으로 C #과 .net 세계를 선호하지만 Java는 여전히 훌륭한 선택입니다. 앞으로는 시간이 알려지지 만 지금은 Java가 전혀 나쁘지 않습니다. (날짜와 시간 라이브러리는 제외 … 와우, 추악하고 지저분한 라이브러리는 없습니다)


답변

따라야 할 것이 없으므로 질문은 의미가 없습니다.

Java가 C #을 정확하게 복제하지 않는다고해서 어떤 식 으로든 “열등”하다는 의미는 아니며 단지 다릅니다. C #이 Cobol과 “일치”할시기를 물을 수도 있습니다.


답변

C # 또는 Java가 다른 것보다 앞서 있는지에 대한 문제는 논쟁의 여지가 있지만 한 언어의 언어 기능에 중점을 두는 대신 언어를 발전 시키는 데 관련된 것에 중점을 둡니다 . 내가 누구도 논쟁하지 않을 것이라고 생각하는 한 가지 사실은 다음과 같습니다. Java가 C #보다 오래되었습니다.

언어 작동 방식 변경과 관련된 문제 :

  1. 이전 버전과의 호환성을 깨 뜨리면 많은 개발자를 화나게합니다.
  2. 개발자를 화나게하면 더 나은 언어를 지원하는 다른 언어로 넘어갑니다. 따라서 언어를 계속 사용할 이유가 없습니다.
  3. 자바는 언어를 시장에 내놓으라는 압력으로 초기에 일부 디자인 결정을 내렸다. 희망은 돌아가서 일부 공백을 채우는 것이 었습니다. 관리자가 첫 번째 요점을 위반하고 싶지 않기 때문에 이러한 결정은 여전히 ​​언어를 괴롭 힙니다.
  4. 자바는 많은 새로운 영토를 습격했으며 가비지 수집 언어를 진지하게 받아 들일 수 있으며 대부분의 사람들에게 충분한 성능을 제공한다는 사실을 단 한번도 입증했습니다.
  5. C #은 나중에 들어 와서 Java가 우연히 겪었던 많은 교훈을 배웠으므로 포인트 3 때문에 Java의 기술적 한계를 피할 수있었습니다.
  6. 새로운 언어 기능은 실제 문제를 현명하게 해결해야합니다. 언어를 추가하려는 언어의 맥락에서 모든 언어 기능이 적합한 것은 아닙니다. 이것이 유사 함에도 불구하고 Java와 C #은 계속 다른 언어가 될 것입니다.

그렇다면 C #에는 Java보다 더 많은 언어 기능이 있습니까? 나도 그렇게 생각해. 그들은 유용합니까? 나도 그렇게 생각해. 이것이 C #이 Java보다 낫거나 성숙하다는 것을 의미합니까? 동의하지 않습니다. 그들은 다르고 평범하며 단순합니다. C #에는 Java 기능이 모두 없으므로 Java에는 C #의 기능이 모두 포함되지 않습니다.

Java의 기능 중 하나 인 Windows에서 프로그램을 작성하고 Unix 또는 Mac에 배포하는 기능은 Microsoft의 지원에 의해 직접 발생하지 않습니다. 왜 물어? 마이크로 소프트가 악하기 때문이 아닙니다 (실제로 관심이 없는지 여부). 썬이 결코하지 않은 교훈을 배웠기 때문입니다. 쓰기 실행은 운영 체제와 하드웨어를 상용화하는 어느 곳에서나 실행됩니다. 운영 체제 판매로 돈을 버는 것에 관심이 있다면, 사소한 교환으로 응용 프로그램 작업을 수행하기가 쉽지 않습니다. 그렇게하면 항상 저렴한 옵션이 있기 때문에 운영 체제에서 이익을 얻을 수 없습니다.


답변

자바는 실제로 C 나 C ++보다 새로운 “기능”이 필요하지 않습니다. 객체 지향 개발을 위해 잘 설계된 언어입니다. 추가로 광범위한 작업을 수행하기위한 라이브러리를 만들 수 있습니다. C #도 마찬가지입니다. 대부분의 기능은 언어가 더 많은 일을하도록 추가되고 있습니다. 개인적으로 나는 대부분의 기능이 필요하지 않다고 생각합니다 .OO에서 포인터는 하드웨어 수준에서 작업하지 않는 한 정말 보풀이 많습니다 (이 시점에서 C와 같은 것을 사용하는 것이 좋습니다). 또한 VM에서 실행하면 불가능하지는 않지만 하드웨어에 직접 액세스하기가 어렵습니다.

유닉스는 가지 일을 잘 수행하는 모듈을 만드는 경향을 시작했습니다 . Java와 C # 모두 기능에 약간의 영향을 미치고 있다고 생각합니다 . 프레임 워크와 비슷한 거대한 다목적 “언어”보다 쉽게 ​​확장 가능한 코어를 만드는 것이 좋습니다. 에 , 자바는이 요구 사항을 더 나은 C #을보다 더 적합합니다.