저는 자바 개발자이며, 알고 싶습니다. Scala 나 Groovy와 같은 언어를 배우면 얻을 수있는 주요 이점은 무엇입니까?Java 개발자가 추가 JVM 언어를 배우는 이유는 무엇입니까?
답변
새로운 언어를 배우면서 다른 JVM 언어를 학습해도 동일한 이점을 얻을 수 있습니다. 프로그래밍에 대한 이해를 높이고 더 중요한 것은 은 도구 상자에 다른 도구를 추가합니다.
다음 번에 문제를 해결해야 할 때 망치 대신 손톱이 달려 있습니다.
더 구체적으로, Groovy는 코드를 빠르게 조롱하는 데 적합한 언어이며 Scala는 사용하지는 않았지만 기능적 접근 방식으로 인해 동시 응용 프로그램을 작성하는 데 적합하다고 가정합니다. 다른 사람들이 언급했듯이 JVM 언어는 Java 코드와 상호 작용할 수 있습니다. 기존 시스템에 추가하거나 응용 프로그램 조각을 조롱하는 데 유용합니다. http://groovy.codehaus.org/에서
+1. 정확히 내가 생각한 것. 도구가 좋다. 그리고 망치로 모든 것을 두드리는 것은 재미 있지만, 이상적이지는 않습니다 :-) – Joey
jvm의 스크립팅 언어 이점 컴파일 된 Java 코드와의 완벽한 상호 작용.
:
"그루비는 자바의 슈퍼 버전처럼 그것은 자바의 엔터프라이즈 기능을 활용뿐만 아니라 폐쇄, 건축 및 동적 타이핑과 같은 멋진 생산성 기능을 가지고 있습니다 당신은 개발자, 테스터 또는 스크립트 경우.. 구루, 너는 그루비를 사랑해야 해. "
그래서 많은 경우에 Groovy over Java를 사용하는 것이 합리적입니다. 예를 들어 자바 단위 테스트에서!
새로운 언어를 알게 될 것이기 때문에 더 광범위한 기술 집합과 문제를 보는 다른 방법을 의미합니다. 그러나 Groovy와 Scala가 JVM에서 실행되고 Java를 알고 있기 때문에 원할 경우 기존 라이브러리와 코드를 통합 할 수 있습니다.
Groovy를 사용하면 런타임에 Java 애플리케이션에서 스크립트 (파일)를로드 할 수 있습니다. 이를 통해 코드를 다시 컴파일 할 필요없이 클라이언트 사이트에서 응용 프로그램 동작의 동작을 사용자 지정할 수 있습니다. 그것은 오히려 사랑 스럽습니다.
앞서 언급 한 언어는 생산성 향상에 도움이되는 다양한 프로그래밍 패러다임을 실천합니다. 그들은 또한 함께 일하는 것이 더 재미 있습니다. 스칼라 및 Clojure에이 JVM에서 실행 및 동기화 요구 사항을 부과하지 않고 멀티 코어 시스템에서 뛰어난 성능을 전시로
언어 등.
물론 자바에서 사용할 수있는 풍부한 라이브러리를 계속 사용할 수 있습니다.
다른 답변은 매우 좋은 점을 가지고 있지만 실종 된 점이 하나 있습니다.
좋은 코더는 '자바 개발자', '파이썬 개발자'또는 '개발자'로 자신을 식별하는 경우는 거의 없습니다. 다른 언어 (JVM 언어이든 아니든)를 배우면 전 세계에 더 많은 것을 배울 수 있습니다. 당신은 단지 하나의 언어에 만족하는 경우
, 그것은 일반적으로 당신이 다른 언어에 대한 더 적합 많은 작업이 존재하고 있음이 문제에 모른다는 것을 의미한다. 실용주의 프로그래머는 올해 언어를 배울 모든 프로그래머를 장려하는 이유
이다.
+1 이것은 문제를 해결하는 유일한 대답입니다. 우리는 "Java Developer", "Python Developer "또는"Anything Developer ".. – aProgrammer
죄송 더 다음 질문에 대한 답변 ..
- 무엇 당신은 당신이 새로운 언어를 학습하지 않는 경우에 당신의 시간을 보낼 것인가?
- 왜 JVM 언어로 제한됩니까?
- 테스트 기반 개발을 배우는 것이 더 유익합니까?
- 표준 디자인 특허를 학습하면 어떨까요?
- 무엇 당신은 당신의 투자 시간와을 달성 하려고? 언어 학습
그러나 당신이 "는 언어 생각"할 수 있어야대로 큰 이익을 얻을 수없는 매우 그들을 잘 배우고을 사용하지 않는 경우, 항상 좋은 너의 마음을 넓히기 위해서.
회사에서 둘 이상의 언어를 사용하면 장기간에 걸친 추가 비용이 많이 발생하므로 주 언어로 더 잘 프로그램하는 방법을 배우면 더 많은 것을 얻을 수 있습니다.
마음에 와서 몇 가지 좋은 이유 :
- 그들은 자바하지 않고 특정 상황에서 유용하게 사용할 수 있다는 특징을 가지고있다.
- 서로 다른 프로그래밍 패러다임을 사용합니다. 서로 다른 사고 방식을 사용합니다.
- 다른 언어를 배우면 마음이 열립니다.
- 언어를 배우면 각 장장의 장점과 약점을 의식하게됩니다.
- 점점 더 많은주의와 JVM 지원 (Java 7 사용)을 얻고 있습니다.
- 가 왜 addiitional JVM 언어를 배울 : 사실
, 어쩌면 자신에게 역 질문을?
- 1. C# 개발자가 IronPython을 배우는 이유는 무엇입니까?
- 2. 매우 작은 범위의 언어를 배우는 방법은 무엇입니까?
- 3. .Net 또는 JVM 언어를 만드는 방법은 무엇입니까?
- 4. 개발자가 Silverlight를 사용하는 이유는 무엇입니까?
- 5. Java JVM 스레드 스택의 크기를 줄이는 이유는 무엇입니까?
- 6. PHP 개발자가 .NET 개발자보다 저렴한 이유는 무엇입니까?
- 7. JVM 언어를 사용하여 Android 용 프로그램을 만들 수 있습니까?
- 8. goto를 지원하는 Java 컴파일러 또는 JVM 언어?
- 9. vC++ 개발자가 익숙해야하는 개념은 무엇입니까?
- 10. 단일 Netbeans 프로젝트에서 JVM 기반 언어를 어떻게 혼합합니까?
- 11. 소프트웨어 개발자가 Javascript를 배울 때 jQuery를 사용하는 것이 합리적입니까?
- 12. Java 개발자가 Java Desktop 개발로 이동
- 13. Java JNA WindowProc JVM 크래시
- 14. JVM 및 Java Linux 프로세스
- 15. JVM 스케줄링 알고리즘이란 무엇입니까?
- 16. 뭐죠위한 어셈블리 언어를 배우는 가장 좋은 자원 PIC 마이크로 컨트롤러의는
- 17. jvm restarts 후 ehcache 디스크 저장소가 무효화되는 이유는 무엇입니까?
- 18. 이 핫스팟 JVM 옵션이 기본값이 아닌 이유는 무엇입니까? -XX : + PrintConcurrentLocks
- 19. API를 작성하는 방법을 배우는 좋은 방법은 무엇입니까?
- 20. Java 프로그래밍 경험이없는 시스템 개발자가 Android Apps를 작성할 수 있습니까?
- 21. JVM 언어 디 컴파일
- 22. 스레드 안전하지 않은 java 클래스가 추가 된 이유는 무엇입니까?
- 23. 내 요구 사항에 맞는 JVM 언어는 무엇입니까?
- 24. 클러스터링 JVM
- 25. 소프트웨어 개발자가 오픈 소스 프로젝트를 작성하는 이유는 무엇입니까?
- 26. 개발자가 모든 SMTP 통신에 포트 587을 사용하도록 설득해야하는 이유는 무엇입니까?
- 27. Rails 개발자가 블로그에서 WordPress CMS를 사용하는 이유는 무엇입니까?
- 28. 개발자가 사용할 Java 구성 요소를 배포하는 방법은 무엇입니까?
- 29. 개발자가 Java 스택 추적에 로깅 할만한 가치가있는 자원은 무엇입니까
- 30. Java 7에서 동적 언어를 지원하는 것은 어떻습니까?
Radi, 귀하의 질문을 조금 더 명확하게 편집했습니다. 나는 당신의 원래 의도와 일치하여 이것을 희망한다. 그렇지 않으면 롤백하십시오. –