Python vs Ruby

지난 주에 한 2,3일 간 Python과 Ruby를 사용해 보았다. 사용후기를 남겨보자면 이렇다.

문법 측면에서는 Python보다는 Ruby에 더 호감이 간다. Python은 {, } 나 BEGIN, END 와 같은 구분자(?)를 사용하지 않는다. Python은 순수하게 identation에 의존한다. 내가 C++, VB, C# 등의 언어에 익숙하기 때문인지는 몰라도 Python의 indentation에는 익숙해지지 않는다. 스크립트를 작성한 후, 실행시켜보면 꼭 syntax 에러를 보게 된다. 그에 비해 Ruby는 좀더 명확하다. end 와 같은 구분자 뿐만 아니라 클래스 내의 멤버 변수를 구분하기 위한 문법도 존재한다. 명료함은 곧 가독성으로 이어진다. 그런 측면에서 Python의 코드는 더 간결한 코드를 생산해낼지는 몰라도 가독성은 그다지 좋지 않다고 생각한다.

라이브러리 측면에서는 확실히 Python이 앞선다. Ruby는 Ajax까지 지원하는 Ruby on Rails라는 강력한 웹어플리케이션 라이브러리를 갖고 있다. 이 때문에 Ruby는 미국에서 인기를 상당히 얻고 있다. 내가 구독하는 블로그 주인장 중 상당 수가 Ruby에 빠져 있는 것도 Ruby on Rails의 영향이 크다. 하지만 Ruby의 라이브러리는 대체로 미성숙 단계에 있다. 실험 삼아 Python으로 작성한 스크립트를 Ruby로 포팅해보려고 했다. 그런데 의외로 힘들었다. 라이브러리가 빈약했거나 문서가 부족했다. Python으로 스크립트를 작성할 때는 겪지 않았던 문제였다. 좋은 언어는 개발자가 생각에만 집중할 수 있도록 도와주는 강력한 라이브러리나 프레임워크를 가져야 한다고 생각한다. 그리고 훌륭한 문서와 도구도 갖추고 있어야 한다. 그런 측면에서 Ruby는 가능성을 보여주고 있지만 아직 부족하다.

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu