저는 최근에 Crystal-lang을 즐기고 있습니다. 간단한 토이 프로젝트부터 Noir란 사이즈가 점점 커지고 있는 프로젝트까지 Crystal을 통해 구현하고 있습니다. 오늘은 제가 Crystal을 좋아하게된 이유에 대해 이야기하려고 합니다. What is Crystal? 먼저 Crystal에 대해 가볍게 정리하고 시작합니다. Crystal은 Ruby와 유사한 문법을 가지는 컴파일, 정적 타입의 언어입니다. Rubyist라면 거의 바로 적응할 수 있을 만큼의 문법 친화도를 가지며 Go, Clojure에서 사용하는 채널 기반의 통신을 기본적으로 지원함으로써 안정적인 동시성 모델을 가진다고 생각합니다. A language for humans and computers 위 내용은 언어의 핵심 방향인데, Cyrstal 이 가고자 하는 방향을 느낄 수 있습니다. Ruby에서 추구하는 인간 친화적인 언어을 유지하면서 성능 등 컴퓨터를 위한 부분도 챙긴다는 느낌을 받았습니다. Rubyist/Crystalist Ruby와 Crystal의 문법적 친화도는 굉장히 높습니다. 이것이 의미하는 내용은 Ruby를 사용하던 Rubyist는 Crystal을 쉽게 사용할 수 있다는 이야기입니다. 저 또한 Crystal을 처음 써봤을 때에도 크게 부담이 없었습니다. Ruby And Crystal 그래서 많은 Rubyist들이 Crystal을 병행해서 사용하는 것을 볼 수 있습니다. 다만 안타까운 점 중 하나는 많은 Ruby 유저들은 언어의 인기나 유행과 다르게 Ruby 자체에 대한 애정이 높다는 점입니다. Crystal은 충분히 흥미를 끌어낼 순 있었지만, Rubyist가 Crystalist로 전향하기는 어려울거라 생각했고 현재도 동일하다고 생각합니다. (둘 다 쓰면 되죠!) Performance Crystal은 Compiled Language입니다. Ruby, Python 같이 별도의 인터프리터가 아닌 컴파일러를 통해 바이너리를 빌드하고 실행하기 때문에 당연히 속도적인 이점이 큽니다. 개인적으로 Golang도 많이…
Source link