Computer >> 컴퓨터 >  >> 프로그래밍 >> Ruby

루비(Ruby) 프로그래밍이란? 주요 활용 분야와 학습 방법 완벽 가이드

프로그래밍 언어에 대해 조금만 검색해 보면 루비(Ruby) 프로그래밍과 그 인기 있는 웹 프레임워크인 루비 온 레일스(Ruby on Rails) 이야기를 접하게 됩니다. 인터넷의 상당 부분이 루비 언어로 구축되었으며, 그 외에도 수많은 애플리케이션이 루비로 만들어졌습니다. 그렇다면 루비 프로그래밍 언어란 정확히 무엇이고, 어떤 용도로 사용될까요?

루비 프로그래밍 언어란 무엇인가?

루비는 처음부터 프론트엔드와 백엔드 웹 개발 및 유사한 애플리케이션에서 사용할 목적으로 설계된 스크립팅 언어입니다. 견고하고 동적 타이핑(dynamic typing)을 지원하는 객체 지향 언어로, 문법이 매우 고수준이면서도 이해하기 쉬워 '영어로 코딩하는 것에 가장 가까운 언어'로 평가받습니다.

실제로 프로그래밍을 전혀 몰라도 루비 코드를 대체로 이해할 수 있다고 말하는 사람들이 많을 정도입니다.

1990년대에 공개된 루비는 일본의 프로그래머 유키히로 '마츠(Matz)' 마츠모토(Yukihiro Matsumoto)가 만든 오픈소스 언어입니다. 그는 이 언어를 '즐겁고 생산적이도록' 설계했다고 밝힌 바 있습니다. 또한 루비는 컴파일 언어가 아닌 인터프리터 방식으로 실행되는 스크립트 언어라는 특징이 있습니다.

다른 프로그래밍 언어와 비교하면 어떤가?

루비를 다른 언어들과 비교해 보면 그 유사점과 차이점을 더 잘 이해할 수 있습니다.

파이썬(Python)은 모든 문제에 대해 단 하나의 명확한 해결책을 갖는 것을 지향하는 언어입니다. 반면 루비 프로젝트는 하나의 문제를 해결하는 데 여러 가지 유효한 접근 방식이 존재하는 것을 선호합니다.

두 방식에는 각각 장단점이 있습니다. 그 외 차이점으로는 문자열(string)이 루비에서는 변경 가능(mutable)하지만 파이썬에서는 불가능하다는 점, 그리고 루비에는 리스트 컨테이너 종류가 하나뿐이라는 점 등이 있습니다. 하지만 두 언어 모두 객체 지향 성향이 강해, 파이썬과 루비에서는 모든 것이 객체로 취급됩니다.

C/C++와 비교하면, 루비는 개발자의 작업을 더 쉽게 만들기 위해 내부 동작의 상당 부분을 숨기는 경향이 있습니다. 덕분에 코드를 훨씬 빠르게 출시할 수 있지만, 깊은 곳에 숨어 있는 버그를 찾으려면 더 많은 파고듦이 필요할 수 있습니다.

루비 프로그래밍은 어디에 사용될까?

루비는 웹 애플리케이션 구축에 가장 널리 사용됩니다. 하지만 파이썬과 마찬가지로 범용 언어이기 때문에 데이터 분석, 프로토타이핑, 개념 증명(Proof of Concept) 등 다양한 용도로도 활용됩니다.

루비의 가장 대표적인 활용 사례는 단연 루비 기반 웹 개발 프레임워크인 Rails입니다. macOS에서 소프트웨어 패키지를 설치할 때 널리 쓰이는 도구인 Homebrew 역시 루비로 작성되었으며, 웹사이트와 애플리케이션의 보안 취약점을 테스트할 수 있는 보안 소프트웨어 Metasploit도 루비로 만들어졌습니다.

루비 개발자들이 Rails로 만든 눈에 띄는 서비스도 많습니다. 대표적으로 인기 숙박 예약 플랫폼 Airbnb와 TV 스트리밍 서비스 Hulu가 있으며, 그 외에도 GitHub, Goodreads, 칼로리 추적 앱 MyFitnessPal 등이 루비로 개발되었습니다.

루비와 루비 온 레일스는 웹사이트를 구축하고 보안을 강화하는 데 도움을 주고, Airbnb에서 휴가를 보내는 동안 좋은 콘텐츠를 찾게 해주며, 일일 칼로리 목표 달성까지 도와줍니다. 이처럼 단순한 프로그래밍 언어치고는 놀라운 성과를 자랑합니다.

루비 프로그래밍은 어디서 배울 수 있을까?

루비와 루비 온 레일스를 무료로 배울 수 있는 자료는 매우 다양합니다. 특히 개발자 취업을 목표로 하는 사람들에게 유용한 곳 중 하나가 App Academy Open입니다. 이 과정은 루비는 물론, 취업 전략과 개발자에게 필수적인 여러 기술까지 함께 다룹니다.

그 외에도 프로그래밍 부트캠프나 Try Ruby 같은 온라인 학습 서비스를 통해 루비를 익힐 수 있습니다.

루비는 개발자 프로필, 이력서, 포트폴리오에 추가하기 좋은 강력한 언어입니다. IT 커리어를 막 시작하는 단계라면 프로그래밍 세계로 들어가기 위한 쉬운 입문 언어이기도 합니다. 어느 쪽이든, 기회가 된다면 루비를 배워볼 충분한 이유가 있는 셈입니다.