본문 바로가기
🌱 Computer Science/Programming

한창 힙했던 언어 Python과 요즘 가장 힙한 언어 Rusty

by 카프리썬 2021. 12. 3.
728x90

python과 Rusty(러스트)

스크립트 언어 세계 부동의 1위 python 그리고 시스템 프로그래밍계 떠오르는 샛별 rusty

파이썬은 컴파일해서 사용하는 프로그램이나 라이브러리를 개발할때 사용하고, 

러스트는 컴파일하기 불편하거나 github같은 곳에서 바로 사용해야하는 시스템 유틸리티를 만들떄 자주사용한다.

 

요즘 힙한언어, rusty

Mozilla 재단의 Graydon Hoare가 설계한 시스템 프로그래밍 언어. 

초기에는 Mozilla의 실험적인 웹랜더링 엔진인 Servo를 개발하기 위한 목적. 

이 엔진은 병렬 렌더링을 지원하는 크로스플랫폼 웹 렌더링 엔진이라 메모리 안전성을 보장하도록 설계.

 

러스트에는 차용검사(borrow checking)이라는 기능이 있다.

소스코드를 바이너리로 컴파일하기 전에 런타임에서 일어날 수 있는 메모리관련 오류를 잡아준다. 

그래서 일어날수도 있는 문제까지 전부 오류로 간주하고 컴파일을 중단하기 떄문에 훨씬 더 보안성이 뛰어나다. 

 

리스트에는 불변셩 값(Immutable value)라는 개념이 있다.

병렬연산을 직관적이고 간단하게 구현할 수 있다. 그래서 mutex같은 병렬연산에 필요한 자료구조까지 제공해주기 떄문에 데드락같은 상황을 피할 수 있다. 

 

리스트의 컴파일러는 LLVM으로 임베디드장치를 포함해서 c 언어을 지원하는 모든 곳에 사용할 수 있다. 

 

명불허전 스크립트언어, python

네덜란드 개발자 Guido van Rossum(귀도 반 로섬)이 개발한 프로그래밍 언어.

당시 사용할 수 있는 언어는 c언어와 unix shell 스크립트였는데,

c언어는 수작업으로 메모리 관리를 해야하고, unix shell 스크립트는 너무 느려서 직접 언어를 개발해버렸다..(멋져..)

 

파이썬은 표준라이브러리가 풍부한게 특징이다.

웬만한 기능은 이미 프로그래밍 런타임을 설치할때 함께 딸려 오기때문에 개발속도가 매우 빠르다. 

 

파이썬은 여러 패러다임을 지원한다.

객체지향, 프로토타입 기반 객체지향, 함수형 등

여러 패러다임을 섞어 그때그때 필요한 기능을 더욱 빠르게 개발할 수 있다. 

 

파이썬하면 직관적이고 쉬운 문법을 뺴놓을수가 없다.

언어를 개발한 반로섬이 사람이 읽을 수 있는 코드를 중요시했기 때문일지도?

 

 

실제 결과는? 

러스트는 스택오버플로우 사용자가 뽑은 "가장 사랑받는 언어" 설문조사에서 1위를 차지. 

메모리관리를 대신해줄 수 있다는 점에서 c#이나 자바스크립트 같이 가바지 컬렉팅언어 사용자들의 인기가 높아졌따. 

파이썬은 스택오버플로우 사용자가 뽑은 "가장 사용해보고 싶어하는 언어" 설문조사에서 1위를 차지.

파이썬은 간결함과 확장성때문에 인기가 높은것으로.. 하지만 힙한언어라는 관점에선 너무 메이저하다. 

 

아래의 글을 참고하여 작성하였습니다. 

출처 https://rangho.postype.com/post/6680526

 

Rusty Python

이 포스트는 학교 세미나에서 발표한 내용을 바탕으로, 내용 보충 및 업데이트를 목적으로 작성하였습니다. 발표할 때 사용한 프레젠테이션은 SlideShare에서 보실 수 있어요. 저는 언어를 좋아합

rangho.postype.com

 

반응형

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });