반응형
루비... 어쩌다보니 배우게 되었다. (큼큼) 아직 본격적인 것은 아니라 파이썬 카테고리로 비교글을 작성해 보려고 한다.
생활코딩의 파이썬 입문 과정에서도 파이썬과 루비를 동시에 설치하고 동시에 배우는 병렬 강의가 있던 만큼, 두 언어는 패러다임이 비슷하고, 문법도 닮았다. 같은 시간에 동시에 두 언어를 배운다면 확실히 비슷한 시간을 투자해서 파이썬 하나만 배우는 것보다 넓은 시각을 가질 수 있을 것 같다.
두언어의 닮은 점부터 나열해 보자.
- 대화형 프롬프트가 있다! (파이썬의 경우 iPython이 있고, 루비의 경우에도 irb가 있다.)
- 내장형 문서화 툴이 있어 커맨드 라인에서도 읽을 수 있다. (pydoc / rdoc)
- 라인 종결이 없습니다. 세미콜론 같은 실수는 없겠네요(!)
- 문자열 리터럴을 사용할 수 있어 여러 줄의 문자열을 하나의 개체로 입력할 수 있어요!
- 대괄호는 리스트[], 중괄호는 {}사전형(파이썬-딕셔너리, 루비-해시)에 사용해요.
- 객체들의 타입이 동적이다. 다른 타입 간에 연산을 하거나 할 수 없는 강한 타입을 가지고 있지만 동시에 변수에 다른 타입의 변수를 overwrite 할 수 있다.
- 발생하는 예외가 꽤나 비슷하다.
- print를 콘솔 출력에 사용합니다(근데 루비는 puts를 더 자주 씀. 줄바꿈의 차이가 있음)
루비가 파이썬과 다른 점을 말해봅시다.
- 파이썬의 문자열은 변경이 가능하지 않고 새로 선언해야 하지만, 루비는 가능해요.
- CONSTANT(상수) 선언이 있어요! (마음에 듦)
- 파이썬의 PEP8에서는 대소문자 구분을 "권장"하지만, 루비는 강제합니다. (클래스는 대문자, 변수는 소문자로 시작)
- 쌍따옴표를 사용한 루비의 문자열은 파이썬의 문자열처럼 문자열(+escape sequence) 리터럴을 쓸 수 있습니다. But, 홑따옴표 문자열은 파이썬의 r"string" 문자열과 같이 쓰여요.
- 파이썬의 클래스처럼 getter 없이 직접적으로 속성에 액세스할 수 없어요. (마음에 듦)
- 메소드 호출() 의 괄호는 생략 가능해요! (좀 헷갈릴 것 같은데 어떨지 모르겠네요)
- 접근을 조심해야 하는 값을 파이썬의 혼란스러운 언더바, 던더바 방식이 아닌 public, private, protected 같은 액세스 접근자를 통해 강제할 수 있어요.
- 파이썬에서는 가능한 다중상속이 루비에는 없어요. 자바스크립트처럼 믹스인을 사용해야 해요.
- 이건 장점은 아닌 것 같은데, 루비는 빌트인 클래스들을 편집할 수 있어요 (파이썬: ?!?!?!)
- 파이썬: True, False, None / 루비: true, false, nil(?!) 을 사용해요. (닐...뭐야....)
- falsy한 값이 조건문에 들어가더라도 거짓으로 취급되지 않고, 정확하게 false나 nil인 값을 넣어줘야 해요. (빈 배열, 빈 문자열, 숫자 0 안됨)
- 파이썬은 import를 사용하지만, 루비는 require를 사용해요. (임포트의 다른 부분은 비슷하다네요)
- 코드 진행 중 더는 사용되지 않는 값을 메모리에서 삭제하는 del 문이 존재하지 않아요.
- 파이썬의 주요 특징 중 하나인 elif도, 다른 언어들의 else if 도 아닌 elsif 를 사용합니다. (닐에 이어서 엘시프...)
깃허브 블로그 꾸미기 해보신 분들은 jekyll가 루비를 사용한 거니까 써보셨을 수도 있겠군요!!
저는 채용과정 중인 회사가 루비를 쓴대서 한번 맛보기 공부해 봤습니다.
아래서 맛보기 코드를 써볼 수 있어요! 교양과목이라 생각하시고 Try Try!!
파이썬도 다른 언어에 비해서 구문이 짧은 편인데 루비는 더 짧을 때도 많군요!!! 신기한 코딩세계.. 관련 이미지 찾다가 Node.js까지 묶어서 비교해놓은 글도 발견했네요ㅋㅋㅋ require 같은 공통점이 있어서 그런가... 귀엽누
반응형
'Python' 카테고리의 다른 글
내 티스토리는 무슨 키워드로 많이 유입될까??? 워드클라우드 다시 맛보기 (0) | 2022.02.11 |
---|---|
[파이썬으로 웹스크래핑]RSS?? 그게 이거랑 무슨 상관인데 (1) | 2022.01.12 |
[파이썬으로 웹개발] 내일배움캠프 개발일지 모음 사이트 후기 (0) | 2021.11.07 |
플라스크는 간단하다. 하지만 간단하기만 한 것은 아니다. (0) | 2021.10.27 |
[알고리즘] 백준 1021번 문제 회전하는 큐 파이썬 풀이 (0) | 2021.10.26 |
댓글