질문 : Scala vs. Groovy vs. Clojure [닫기]
누군가 Scala, Groovy 및 Clojure의 주요 차이점을 설명해 주시겠습니까? 이러한 각 컴파일이 JVM에서 실행된다는 것을 알고 있지만 간단한 비교를 원합니다.
답변
Groovy 는 동적으로 입력되는 언어로, 구문은 Java와 매우 유사하며, 더 가벼운 코드와 적은 상용구를 허용하는 여러 가지 구문 개선 사항을 포함합니다. 인터프리터를 통해 실행될 수도 있고 컴파일 될 수도 있으므로 새로운 구문을 배우지 않고도 빠른 프로토 타이핑, 스크립트 및 동적 언어 학습에 유용합니다 (Java를 알고 있다고 가정). Groovy 2.0부터 정적 컴파일에 대한 지원도 증가하고 있습니다. Groovy는 클로저를 지원하고 다소 기능적인 스타일의 프로그래밍을 지원하지만, 여전히 함수형 프로그래밍의 전통적인 정의와는 상당히 다릅니다.
Clojure 는 소프트웨어 트랜잭션 메모리 와 같은 몇 가지 고급 기능이있는 Lisp의 방언입니다. Lisp를 좋아하고 JVM에서 비슷한 것을 사용하고 싶다면 Clojure가 적합합니다. JVM에서 실행되는 가장 기능적인 언어 이며 확실히 가장 유명한 언어입니다. 또한 다른 Lisp 방언보다 불변성을 더 강조하여 기능적 언어 애호가의 마음에 더 가깝습니다.
Scala 는 비 연구 언어에서 사용할 수있는 가장 진보 된 유형 시스템 중 하나이며 확실히 JVM에서 가장 진보 된 유형 시스템으로 Java보다 더 많은 완전한 객체 지향 언어입니다. 또한 객체 지향성을 손상시키지 않으면 서 기능적 언어의 많은 개념과 기능을 결합하지만 기능적 언어 특성에 대한 타협은 후자의 일부 열광자를 미루 었습니다.
Groovy는 Grails에서 좋은 수용 도와 인기있는 웹 프레임 워크를 가지고 있습니다. 또한 Maven의 인기있는 대안이되고있는 Gradle 빌드 시스템을 지원합니다. 개인적으로 Jython과 JRuby가 다른 것들에 비해 JVM-land에 진출하기 시작하면서 유용성이 제한된 언어라고 생각합니다.
Clojure는 매우 흥미로운 기능을 무시하더라도 JVM에서 Lisp 방언이되는 것만으로도 강력한 매력을 가지고 있습니다. 당연히 인기를 제한 할 수 있지만 오랫동안 충성스러운 커뮤니티가있을 것으로 기대합니다.
Scala는 Java와 직접 경쟁 할 수 있으며 거의 모든 측면에서 돈을 벌 수 있습니다. 물론 현재로서는 인기에서 경쟁 할 수 없으며 강력한 기업 지원이 부족하여 기업 환경에 대한 수용을 방해 할 수 있습니다. 또한 언어가 어떻게 진화하는지 측면에서 Java보다 훨씬 더 동적 인 언어입니다. 언어의 관점에서 그것은 좋은 것입니다. 수천 줄의 코드를 작성하려는 사용자의 관점에서는 그렇지 않습니다.
마지막으로, 저는 Scala에 대해 매우 잘 알고 있으며 다른 두 가지만 알고 있습니다.
출처 : https://stackoverflow.com/questions/1314732/scala-vs-groovy-vs-clojure
'개발관련 > other' 카테고리의 다른 글
.NET Framework에서 Math.Pow ()를 구현하는 방법 (0) | 2022.01.17 |
---|---|
vim "write with sudo"의 작동 원리 (0) | 2022.01.06 |
React / React Native에서 constructor와 getInitialState를 사용하는 것의 차이점 (0) | 2021.12.29 |
Bash에서 명령의 출력에 변수를 설정하는 방법 (0) | 2021.12.29 |
branch가 3 commits만큼 'origin/master'보다 앞서 있을 때 (0) | 2021.12.25 |