2011-10-13 2 views
36

Scala 언어가 Ruby과 비교할 때 어떤 이점과 한계가 있습니까? 특히 웹 응용 프로그램 개발자의 관점에서 그렇습니다. 비교 차트 및 증명 링크는 매우 환영합니다. 이것은 거룩한 전쟁 질문하지Ruby vs Scala - 각 프로와 콘트라스트

PS는 (- :

+1

@Downvoter - 관심있는 댓글? –

+5

사과가 오렌지와 비교할 때 어떤 이점과 한계가 있습니까? – Raphael

+59

@Raphael 오렌지에는 오렌지가 더 많이 포함되어 있지만 사과에는 철분이 많이 포함되어 있습니다. 괴혈병이라면 오렌지가 훨씬 유용 할 것입니다. –

답변

52

나는 2 년 이상 루비와 레일스와 협력했고 그래서 제 생각은, 스칼라 및 리프트 학습에 약 한달 만 해요 아마도 편향되었지만 여기에 있습니다.

Ruby는 언어에 대해 발견 한 모든 새로운 것들이 나를 작은 여학생처럼 웃게 만들었습니다. 보석 작업은 매우 간단합니다. Bundler and Gemfiles 아마도 이것이 최고의 라이브러리 관리 일 것입니다 시스템에 접근했습니다.

API wra에서 모든 것에 대한 많은 보석이 있습니다. 복잡한, authentication/authorization에 ppers.

루비에는 언어 학습을 정말 쉽게 만들어주는 놀라운 커뮤니티가 있습니다. 예를 들어 RailsCasts by Ryan Bates을 가져 가십시오. 당신이 그들을 보게된다면, 당신은 Ruby and Rails으로 웹 개발을하는 법을 배울 것입니다.

Ruby는 커뮤니티 전반의 작동 방식으로 인해 프로그래밍에 대한 모든 접근 방식을 변경했기 때문에 아마도 내가 프로그래밍 경험에서 가장 많이 발견 한 것입니다.

반면에 저는 이것을 스칼라 세계에서 보지 못했습니다. 저는 화염 전쟁을 일으키고 싶지 않습니다. 그러나 이것은 단지 언어를 배우기 시작한 후 제 느낌입니다. Ruby 커뮤니티에서는 모든 것이 너무 매력적이어서 나를 더 많이 배우고 싶습니다. 그러나 스칼라를 사용하면 필자는 많은 장애물을 겪는 경향이 있으며 많은 문서와 튜토리얼이 아니라이를 극복하는 데 도움이된다.

는 루비에 매우 구체적인 topis 헌신 책의 톤이있다, 그것은 scripting, deployment이 다른 물건의 testing, 무리가 (예 실용적인 프로그래머가 지배)합니다. 가장 좋은 점은 전체 커뮤니티가 가족처럼 느껴진다는 것입니다. 모든 것이 분산되어 있고 아무도 서로 이야기하지 않는 Java 세상과 같지 않습니다. 적어도 내 인상입니다.

최소한이 점이 언어의 세계로 들어가 뭔가를 시작하는 것이 얼마나 쉽고 매력적이며 Ruby는 확실히 나를위한 확실한 승자입니다.

성능면에서 Scala는 더 빠르며 의심의 여지가 없습니다. 그것이 정말 큰 동시성 모델을 가지고 있고 Ruby가 할 수없는 일을 할 수있게 해주는 스칼라에 들어가는 이유 중 하나입니다. 그러나 대부분의 웹 응용 프로그램에서는이 작업을 수행 할 필요가 없습니다.

루비는 천천히, 유일한 단점이 있습니다. 점점 빨라지고 있으며, 98 %의 경우 문제로 보지 않을 것입니다. 하지만 스칼라가 더 빠릅니다.

루비 커뮤니티는 또한 테스팅과 아름다운 코드를 채택하여 더 나은 앱을 자연스럽게 유도합니다.

+3

안정성, 성능 등은 무엇입니까? –

+1

안정성은 일반적으로 앱을 작성하는 방법에 더 많은 관심을 쏟고 성능 댓글에 대한 수정 된 답변을 읽습니다. –

+0

감사합니다. 필자가 이해하는 한, Scala는 더 나은 커뮤니티 지원 비용으로 성능과 동시성의 이점을 제공합니다. –