본문 바로가기
Python

파이썬 / 루비 비교하기! (요즘 누가 루비를 배우냐면 그게 나다)

by 돈민찌 2022. 1. 9.
반응형

루비... 어쩌다보니 배우게 되었다. (큼큼) 아직 본격적인 것은 아니라 파이썬 카테고리로 비교글을 작성해 보려고 한다.

생활코딩의 파이썬 입문 과정에서도 파이썬과 루비를 동시에 설치하고 동시에 배우는 병렬 강의가 있던 만큼, 두 언어는 패러다임이 비슷하고, 문법도 닮았다. 같은 시간에 동시에 두 언어를 배운다면 확실히 비슷한 시간을 투자해서 파이썬 하나만 배우는 것보다 넓은 시각을 가질 수 있을 것 같다.

두언어의 닮은 점부터 나열해 보자.

  1. 대화형 프롬프트가 있다! (파이썬의 경우 iPython이 있고, 루비의 경우에도 irb가 있다.)
  2. 내장형 문서화 툴이 있어 커맨드 라인에서도 읽을 수 있다. (pydoc / rdoc)
  3. 라인 종결이 없습니다. 세미콜론 같은 실수는 없겠네요(!)
  4. 문자열 리터럴을 사용할 수 있어 여러 줄의 문자열을 하나의 개체로 입력할 수 있어요!
  5. 대괄호는 리스트[], 중괄호는 {}사전형(파이썬-딕셔너리, 루비-해시)에 사용해요.
  6. 객체들의 타입이 동적이다. 다른 타입 간에 연산을 하거나 할 수 없는 강한 타입을 가지고 있지만 동시에 변수에 다른 타입의 변수를 overwrite 할 수 있다.
  7. 발생하는 예외가 꽤나 비슷하다.
  8. print를 콘솔 출력에 사용합니다(근데 루비는 puts를 더 자주 씀. 줄바꿈의 차이가 있음)

루비가 파이썬과 다른 점을 말해봅시다.

  1. 파이썬의 문자열은 변경이 가능하지 않고 새로 선언해야 하지만, 루비는 가능해요.
  2. CONSTANT(상수) 선언이 있어요! (마음에 듦)
  3. 파이썬의 PEP8에서는 대소문자 구분을 "권장"하지만, 루비는 강제합니다. (클래스는 대문자, 변수는 소문자로 시작)
  4. 쌍따옴표를 사용한 루비의 문자열은 파이썬의 문자열처럼 문자열(+escape sequence) 리터럴을 쓸 수 있습니다. But, 홑따옴표 문자열은 파이썬의 r"string" 문자열과 같이 쓰여요.
  5. 파이썬의 클래스처럼 getter 없이 직접적으로 속성에 액세스할 수 없어요. (마음에 듦)
  6. 메소드 호출() 의 괄호는 생략 가능해요! (좀 헷갈릴 것 같은데 어떨지 모르겠네요)
  7. 접근을 조심해야 하는 값을 파이썬의 혼란스러운 언더바, 던더바 방식이 아닌 public, private, protected 같은 액세스 접근자를 통해 강제할 수 있어요.
  8. 파이썬에서는 가능한 다중상속이 루비에는 없어요. 자바스크립트처럼 믹스인을 사용해야 해요.
  9. 이건 장점은 아닌 것 같은데, 루비는 빌트인 클래스들을 편집할 수 있어요 (파이썬: ?!?!?!)
  10. 파이썬: True, False, None / 루비: true, false, nil(?!) 을 사용해요. (닐...뭐야....)
  11. falsy한 값이 조건문에 들어가더라도 거짓으로 취급되지 않고, 정확하게 false나 nil인 값을 넣어줘야 해요. (빈 배열, 빈 문자열, 숫자 0 안됨)
  12. 파이썬은 import를 사용하지만, 루비는 require를 사용해요. (임포트의 다른 부분은 비슷하다네요)
  13. 코드 진행 중 더는 사용되지 않는 값을 메모리에서 삭제하는 del 문이 존재하지 않아요.
  14. 파이썬의 주요 특징 중 하나인 elif도, 다른 언어들의 else if 도 아닌 elsif 를 사용합니다. (닐에 이어서 엘시프...)

깃허브 블로그 꾸미기 해보신 분들은 jekyll가 루비를 사용한 거니까 써보셨을 수도 있겠군요!!

저는 채용과정 중인 회사가 루비를 쓴대서 한번 맛보기 공부해 봤습니다.

아래서 맛보기 코드를 써볼 수 있어요! 교양과목이라 생각하시고 Try Try!!

 

TryRuby: Learn programming with Ruby

Ruby is a programming language from Japan which is revolutionizing software development. The beauty of Ruby is found in its balance between simplicity and power. You can type some Ruby code in the editor and use these buttons to navigate: Run → Executes

try.ruby-lang.org

파이썬도 다른 언어에 비해서 구문이 짧은 편인데 루비는 더 짧을 때도 많군요!!! 신기한 코딩세계.. 관련 이미지 찾다가 Node.js까지 묶어서 비교해놓은 글도 발견했네요ㅋㅋㅋ require 같은 공통점이 있어서 그런가... 귀엽누

이미지 출처는 이미지 클릭

반응형

댓글