회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
‘애자일(Agile) 방식’이 무슨 뜻인가요?
회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
지난 시간에는 웹 개발용 프로그래밍 언어인 PHP의 간단 개념과 장단점에 대해서 소개해드렸는데요. 매우 간단하고 쉬운 언어라고 설명해드렸던 것, 기억하시나요?
이번 시간에도 엄청난 생산성과 효율성을 자랑하는 언어인 'Ruby'에 대해서 간단하게 살펴보도록 하겠습니다.
애자일(agile) 방식에 어울리는 웹 프로그래밍 언어의 대표 주자
‘애자일(Agile) 방식’이 무슨 뜻인가요?
이제부터 자세히 설명해드리도록 하겠습니다.
"스트레스가 없는 쉬운 프로그래밍을 지향하고 우리의 삶을 반영해야 하며, 프로그래밍 언어는 컴퓨터가 아닌, 인간 중심으로 설계되어야 한다."
이러한 Ruby의 철학 때문일까요? Ruby를 재미있게 배워볼 수 있는 게임 사이트도 있습니다.‘Ruby Warrior’라는 게임인데요. Ruby언어로 캐릭터를 조작해서 던전을 클리어 하는 게임입니다. 관심 있으신 분은 아래에 링크를 참고하시길 바랍니다.
(‘Ruby Warrior’ 사이트 URL:https://www.bloc.io/ruby-warrior#/)
국내에선 최근에 관심을 받기 시작하여 Ruby 개발자의 수가 많지 않지만, 미국과 일본에서는 Ruby가 이미 많이 사용되고 있습니다. Ruby의 개발자인 마츠모토의 말에 따르면, 미국에서는 50% 이상이, 일본에서는 70% 이상이 Ruby로 웹서비스가 개발되었다고 하네요.
또한 Ruby는 배우기도 매우 쉽기 때문에 누구나 금방 배울 수 있다고 합니다.
Ruby의 최대 장점은확장성과 이식성이 매우 높다는 것입니다. 그렇기 때문에 유지보수에 드는 노력 또한 매우 절약해주지요. Python이나 JavaScript 등 다른 언어로 개발된 라이브러리를 Ruby 위에 구현할 수 있습니다.
구글에 검색해보면, 다른 언어의 라이브러리나 API를 Ruby로 구현하는 방법을 찾는 글을 많이 확인해볼 수 있었습니다. 그만큼 Ruby가 다양한 다른 언어들을 받아들일 수 있다는 뜻이지요.
TIOBE에서 조사한 프로그래밍 언어들 중 Ruby의 점유율 변화 추이입니다.
2006년 이후에 점유율이 폭발적으로 증가하는 것이 보이시지요? 2008년 12월에 약 4%의 점유율을 차지하면서 8위까지 순위가 올라갔습니다. 현재에는 약 1%의 점유율로 18위까지 떨어진 것을 확인할 수 있네요.
Ruby로 만들어진 대표적인 사이트로는 소셜커머스인 그루폰(Groupon)과 오픈소스 소프트웨어 호스팅 사이트인 깃헙(Github)이 있습니다.트위터(Twitter)도 Ruby on Rails를 이용하다가 규모가 커지자, Java기반의 Scala라는 언어로 갈아탔다고 하네요.
또한 Ruby는 어중간하다는 단점이 있지요. 다른 언어들의 장점 사이에서 포지셔닝이 잘 되어있지 않다는 느낌이 들었습니다. 아예 대규모 서비스에서 이용하기에도 실행 속도 측면이 걸리기 때문에 이용하기 어렵지요. 또한 협업이 필요한 대형 프로젝트에서는 Ruby가 쓰이기에 부적합하다고 합니다.
국내에서는 Ruby on Rails 개발자가 많이 없지만, 몇몇 스타트업에서 적극적으로 사용한다고 합니다. 실리콘밸리 중심의 전 세계 스타트업은 이미 이러한 방식으로 Ruby를 많이 사용하고 있다고 하네요.
『Easy Start! 웹 개발 2.0 루비 온 레일스』의 저자인 황대산씨도 Ruby가 소규모 팀에게 어울리고, 레일스로 개발할 때는 스토리보드가 필요 없기 때문에 기존 업체들도 파일럿 프로젝트에는 레일스를 도입하는 사례가 늘고 있는 추세라고 합니다.
지금까지 Ruby에 대해서 간단하게 훑어봤습니다. 어떠셨나요?
우리 나라에서는 Ruby를 많이 이용하고 있지 않아서 다른 언어에 비해 관련 서적이나 동영상 강의를 찾기 힘들었는데요. Ruby의 장점을 십분 활용하여 스타트업이나 기업에서 빠르게 서비스를 출시해서 잠재고객들의 반응을 확인해야 할 때, 프로토타입용으로 Ruby를 이용하는 것도 좋은 방법일 것 같다는 생각이 들었습니다.
혹시 궁금한 사항이나 질문이 있으시다면, 댓글로 남겨주세요! 친절하게 답변해드리도록 하겠습니다. 여러분이 프로젝트를 진행하면서 개발자 파트너와 원활하게 의사소통 할 수 있도록! 앞으로도 유용한 개발 토막 상식으로 찾아 뵙겠습니다 :)