문제

저는 지난 2 년 동안 C# 및 JavaScript의 필요성을 위해 프로그래밍 한 경험이 풍부한 Java 프로그래머입니다. 이제이 두 언어를 사용하면 클로저 및 익명 기능 (C/C ++에서는 이미 포인터 기능을 사용한 경우)과 같은 흥미로운 기능을 사용했으며 코드가 어떻게 명확 해지고 스타일이 더 생산적이되었는지에 대해 많은 것을 높이 평가했습니다. 실제로 이벤트 관리 (이벤트 대표 패턴)는 Java가 사용하는 것보다 명확합니다 ...

제 생각에, Java는 과거만큼 혁신적이지 않은 것 같습니다 ... 그러나 왜 ???

C#은 진화하고 있으며 (많은 새로운 기능과 함께) C ++ 0X는 진화하고 있습니다 (Lambda 표현, 클로저 및 많은 새로운 기능을 지원할 것입니다). Java 프로그래밍으로 많은 시간을 소비 한 후에는 좌절했습니다. 좋은 설명없이 부패하면 JDK 7은 언어 기능에 혁신적인 것이 없을 것입니다 (예 : GC, 컴파일러 등을 최적화 할 것입니다). 언어 자체는 중요한 진화 적 변화가 거의 없습니다.

그렇다면 미래는 어떻게 될까요? 우리는 어떻게 자바를 어떻게 믿을 수 있습니까? Gosling, 당신은 어디 계세요 ???

도움이 되었습니까?

해결책

나는 아마도 그들의 의견을 말한 일부 프로그래머만큼 좋지는 않지만 현재의 지능 수준으로 이것이 내가 생각하는 것입니다.

언어가 프로그래밍이 더 쉽게 / 표현력이 / 간결하게되면 좋지 않습니까? 언어의 진화가 좋지 않습니까?

C, C ++가 수십 년 이래로 사용 되었기 때문에 우수한 언어이라면 Java가 왜 그렇게 인기를 얻었습니까? Java가 성가신 문제를 제거하고 유지 보수 비용을 줄이는 데 도움을 주었기 때문입니다. C ++로 얼마나 많은 대규모 응용 프로그램이 작성되었으며 Java는 몇 개입니까?

나는 무언가를 바꾸지 않는다는 주장이 정당한 이유로 무언가를 바꾸는 것보다 낫지는 의심 스럽다.

다른 팁

C는 몇 년 동안 크게 바뀌지 않았지만 여전히 가장 인기있는 언어 중 하나입니다. 나는 Java가 관련성을 유지하기 위해 육안 설탕을 첨가해야한다고 생각하지 않습니다. 내가 Java가 오랫동안 여기에 있다고 믿습니다. Java에게는 훨씬 더 나은 것은 제네릭을 구체화 할 것입니다.

당신은 자바를 믿을 필요가 없습니다. 다른 언어를 선택하는 것을 좋아하지 않으면 많은 사람들이 있습니다. 사업 관심사에 대한 힌지와 비즈니스 목표를 달성 할 수 있는지 여부. 그것이 시원한 지 아닌지는 아닙니다.

나는 당신이 대부분의 Java 프로그래머가 C# 경험을 여행하기 위해 노력하는 고전적인 환멸의 단계를 철저하게 생각하고 있다고 생각합니다. 나는 언어에 크게 변화하지 않더라도 Java에 대한 신뢰를 되찾았습니다. 그래서 생태계로서 Java에게 많은 일이 일어나고 있습니다. 나는 할 것이다 사랑 클로저와 적절한 방법 유형을 갖기 위해서는 하루가 끝나면 어쨌든 나는지나갑니다. Java의 순수한 생동감은 언어 수준에서 크게 일어나지 않더라도 여전히 C#을 능가합니다.

Java의 도구 세트를 원한다면 플랫폼 Java의 한계없이 언어, 당신은 분명히 차세대 JVM 언어를 살펴 봐야합니다. 그루비, 스칼라 및 클로 쥬어는 많은 부문에서 추진력을 얻고 있습니다 (예 : 트위터는 스칼라로 작성 됨).

당신은 이것을 살펴볼 수 있습니다 :

Sun은“Java 3”로 나아갈 것인가? [닫은

적어도 혁신의 일부는 동일한 JVM에서도 실행되는 다른 스크립트와 같은 언어로 진행되며, 뒷주자와 같은 Java와 다양한 언어로 된 멋진 새로운 기능을 통해 모든 종과 휘파람을 만들어냅니다.

또한 끊임없이 변화하는 경우 언어는 실제로 마크를 만들 수 없습니다. 얼마나 많은 과감한 변화와 C 및 C ++에서 얼마나 자주 만들어 졌습니까?

성숙한 언어도 안정적인 언어입니다.

살펴보십시오 Java 7 제안, 특히 프로젝트 코인 작업 (언어 변경). 후자는 더 나은 수집 초기화, 제네릭에 대한 유형 추론 등과 같은 것들을 통합합니다.

물론 고려하는 것이 중요합니다 플랫폼 언어 자바뿐만 아니라 Java. Scala / Groovy / Clojure와 같은 언어로 더 많은 진전이 이루어지고 있으며 (물론) 사용 가능한 Java 라이브러리를 활용할 수 있습니다.

나는이 문제에 대해 Gosling의 이야기를 들었고 (나는 그의 메시지를 너무 많이 망칠 수 없기를 바랍니다) 그는 줄을 따라 무언가를 말했습니다 ... 당신이 언어, 미래에 얼마나 많은 것을 할 수 있는지에 대한 한계가 있습니다. 프로그래밍은 우리가 사용할 도구에 있습니다.

나는 그에게 동의하는 경향이 있습니다. Java에 대한 많은 기능이 OOP의 원칙에서 벗어나지 만, 당신이 당신을 위해 작동한다면 Java 플랫폼에 배치 할 수있는 다른 언어도 있습니다. 언어 선호도는 Java 스택에 대한 지식과 함께 공존 할 수 있어야합니다.

Java는 한동안 여전히 서있는 것처럼 보이지만 Scala 및 Clojure와 같이 JVM에서 실행되는 다른 언어로는 많은 혁신이 있었으며 미래가있는 곳이라고 생각합니다. 중요한 것은 Java 언어가 아닙니다. 그것은 가상 기계입니다 ...

이것을 말했듯이, 움직이는 목표가 아닌 언어에 대해서는 많은 말이 있습니다. 내가 C#을 좋아하는 것처럼 매년 새로운 버전이있는 것 같습니다. Java는 C# (주석 등)의 일부 기능을 추가했지만 C#과 함께 언어 "무기 경주"에 들어 가지 않은 것이 좋습니다.

실제 언어는 오래된 버전의 Java에서도 진행할 수 있으므로 거의 얼어 붙어야합니다. 우리는 Java 1.4 (공급 업체의 지원)에있는 고객이 있습니다. 라이브러리에 진보와 개발을함으로써 이러한 시나리오에서도 사용할 수 있습니다.

코볼을 생각하십시오!

Java는 결코 "혁신적"이 아니 었습니다. C ++의 "프로그래머 친화적"버전으로 시작한 후 다른 프로그래밍 언어로 존재했던 누락 된 기능을 천천히 다시 소개하기 시작했습니다. 그 수십 년 전의 "참신"은 JVM의 한계에 맞게 만들기 위해 엉망이되었습니다.

그러나 아마도 나는 "혁신적"이라는 당신의 개념을 오해합니다.

Java는 여전히 1 위의 언어입니다 :-)

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top