Skip to content
그린랩스기술 블로그

그린랩스 클로저 사용 실태 조사 2022

2 min read

2022년 새해를 맞아 그린랩스의 클로저(Clojure) 사용자들을 대상으로 가벼운 설문조사를 진행했습니다. 응답자는 총 17명이고, 팜모닝 혹은 신선마켓의 백엔드를 개발하시는 분들께서 주로 응답을 주셨습니다.

Q. 클로저를 사용하기 이전에는 어떤 언어를 주력으로 사용하셨나요?


q1 업계에서 많이 쓰이는 JavaScript, Java, Python 순으로 결과가 집계됐습니다. 이어지는 항목에서도 알 수 있듯 기존에 함수형 언어를 사용하다 오신 분은 많지 않았습니다.


Q. 직업적으로 개발을 몇 년간 해오셨나요?


q2

약 40%가 5년 이내의 경력을 가지고 있었습니다. 전체 개발자의 약 1/4은 10년 이상 개발을 해오신 분들로 구성되어 있었습니다.

클로저는 처음이지만 이미 개발 경력이 20년이 넘으시는 분도 있으셨습니다. 기존의 습관을 버리는 것이 쉽지 않겠지만 그래도 도전해보고 싶었다고 하시네요.


Q. 그린랩스 이전에 함수형 프로그래밍 경험은 얼마나 있으셨나요?


q3

경험이 전혀 없었다고 답한 분이 무려 절반 이상이었으며, 2년 이상 경험한 분들은 1/5 미만이었습니다. 하지만 아래 질문에서 짐작할 수 있듯, 평소에 개인적인 흥미를 가지고 공부를 해오셨던 분들도 꽤 있으셨습니다.


Q. 어떤 계기로 클로저에 관심을 갖게 되셨나요?


q4

그린랩스의 회사 소개 혹은 지인을 통해 관심을 갖게 되셨다는 분들이 가장 많았습니다. 특히 하루개발 그린랩스 편을 많이 꼽았습니다.

크게 놀랍지 않은 사실일지 모르지만, 리습(Lisp)에 관심을 갖고 계시던 분들이 많았습니다. 경로는 주로 폴 그레이엄의 해커와 화가라는 에세이와 SICP(컴퓨터 프로그램의 구조와 해석) 였습니다.


Q. 클로저 개발에 있어 다음 항목들이 얼마나 중요하다고 생각하시나요?

q5

압도적으로 많은 지지를 받은 기능은 "불변성", "함수형 프로그래밍", "REPL" 이었습니다. 아마 클로저만의 독특한 REPL의 편리함을 기본으로, 불변성과 함수형 프로그래밍이 강력함을 더하기 때문이 아닐까 추측해봅니다.

클로저 REPL이 어떻게 특별한지 궁금하시다면, 함수형 컨퍼런스 liftIO 발표자료 REPL, 클로저의 수퍼 파워도 살펴보세요.

클로저는 동시성과 관련한 매우 훌륭한 기능들을 제공하고 있음에도 불구하고, 웹 개발이 주류인 그린랩스에서는 별로 주목받지 못했습니다.


Q. 어떤 개발 환경을 이용하시나요?

q6

IntelliJ + Cursive 조합이 가장 많은 인기가 있었습니다. 아마 온보딩 과정이 IntelliJ 기반으로 설명되어있기 때문에 주류를 차지한 것으로 보입니다.

손가락의 건강을 포기한 Emacs 사용자가 10%가 넘는 것도 주목할만 합니다. 최근 그린랩스에 합류하신 기계인간님을 주축으로 앞으로는 Vim당의 약진도 기대해봅니다.


Q. 구조적 편집을 사용하시나요?


q7

클로저는 S-표현식 언어이기 때문에 괄호 단위로 코드를 편집하게 됩니다. 이를 구조적 편집(Structural Editing)이라 합니다.

일반적으로 리습 사용자들은 Paredit을 사용하지만, 단축키를 외우지 않고도 손쉽게 사용할 수 있는 Parinfer도 많이 사용되고 있음을 확인할 수 있었습니다. "사용 안함"으로 응답하신 분은, 아마도 심각하게 튜닝된 Vim 혹은 Emacs를 사용하고 계시지 않을까 추측해봅니다.


Q. 클로저 관련 도움은 주로 어디에서 얻으시나요?


q8

클로저 공식 커뮤니티는 자료도 풍부하고 답변도 빠르지만, 아무래도 영어로 되어있다보니 궁금한 것은 동료에 묻는 경우가 더 많다고 합니다. 팀 동료와는 질문의 맥락이 공유되고 있는 경우도 많기 때문에, 똑같은 질문을 외부에 하는 것보다 편리하다는 점도 있겠습니다.


클로저와 관련한 자유로운 소감을 들려주세요!


프로그래밍에 대한 생각을 한차원 업그레이드 시켜주는 언어입니다. 무엇보다 재밌어요!

재밌고 표현이 좋다. 동적 타입 언어라 빠르게 개발할 수 있다. 커뮤니티나 자료가 적고 불친절한 것은 아쉽다. 레거시 코드를 볼 때 타입이 없어서 힘들다.

REPL를 이용한 속도감 있는 개발을 즐겁게 하고 있어요!

무엇보다 저에게는 가장 재미있는 언어입니다.

불변성, 데이터 중심적인 개발, REPL 중독....에서 벗어나기 힘들어요

데이터 위주로 사고하는 것이 정말 좋으며, 데이터의 표현도 간결해서 마음에 듭니다!

재밌고 신선합니다.

생산성은 좋다. 자료가 많이 없어서 아쉽다.

알고나면 심플한 언어인데 생각보다 초기 러닝 커브가 가파릅니다. 기존의 대다수 개발자 분들이 자바나 C계열 언어에 익숙해져 있어 패러다임 전환이 쉽지 않구요.

클로저는 저에게 포스트잇 같습니다. 필요할 때에는 견고하게 붙으면서 필요하지 않을 때 떼어내면 자국 없이 말끔하게 떼어집니다. 다른 언어를 사용할 때에는 사이드 이펙트에 유의하면서 개발했었는데요. 그런 구린 느낌이 없이 말끔했습니다. 그래서 포스트잇 같았습니다.


공통적으로 "재밌다" 라는 표현이 많이 보였습니다. 저에게도 클로저는 프로그래밍의 즐거움을 되찾게 해준 언어였기에 공감이 되었습니다.

혹시 이 글을 보고 클로저에 관심이 생기셨다면, 새해에는 REPL과 함께 해보는 것은 어떨까요? 😃


참고자료





Gravatar for hw.nam@greenlabs.co.kr

남현우

소프트웨어 엔지니어

© 2022 by 그린랩스. All rights reserved.
🍅 진행중인 채용