[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]

반디소프트

반디캠 / 반디집을 만드는 회사다.

지금까지 반디캠 / 반디집을 개인 개발자가 만든 프리웨어라고 막연하게 생각하고 있었는데 실제로는 10년 이상의 개발 경력을 가진 베테랑들이 모여서 만든 ‘회사’였다.

오늘 처음 이 페이지를 알게 되고 나서 놀랐던 점은 두 가지가 있다.

첫 번째로 프로그램 완성도가 정말 뛰어나다.

반디캠 / 반디집을 써 보면 알겠지만 굉장히 편하고 잘 만들었다.
지금까지는 그냥 ‘아 잘 만들었구나’라고 생각하고 있었는데 벤치마킹 페이지에서 다른 프로그램들과 비교해 놓은 자료를 보면 정말 잘 만들었다는 것을 알 수 있다.

외산 프로그램, 상용 프로그램들도 다 성능으로 압도한다.

두 번째로 라이브러리 판매로 먹고 살고 있다.
반디캠, 반디집에 들어가는 라이브러리들을 기업에 팔아서 돈을 벌고 있으며 고객사 목록에 들어가보면 이름이 익숙한 게임들이 굉장히 많이 보인다.

프로그램 판매는 많이 봤어도, 이런식으로 라이브러리를 파는 건 얘기만 들었지 직접 보는 건 처음인데 굉장히 신선했다. ‘이런식으로도 먹고 살 수 있구나’라는 생각이 들었다.

사이트를 방문하면서 이런 회사가 진짜 프로그램 업계의 장인이 아닐까 하는 생각이 들었고, 자신만의 길을 걸어가는 점이 굉장히 멋있었다.

[이 글은 이전에 쓰던 블로그에서 작성된 이후 새 블로그로 이전된 글입니다.]

pypy

PyPy을 한 마디로 표현하자면 Python으로 Python을 만드는 프로젝트이다.

이 부분만 들었을 때는 뭘 하는 프로젝트인지 잘 느껴지지 않겠지만, 기존의 CPython에 비해 전혀 느리지 않을 뿐더러, 심지어 몇 배나 빠르다(!)

게다가 점점 빨라지고 있다.

PyPy의 동작 원리는 다음과 같다.

  1. Python에서 문법을 엄격하게 만들어 컴파일이 가능하도록 만든 파이썬 해석기 RPython(translater.py)를 파이썬 코드로 작성한다.
  2. 파이썬 구현(런타임)을 RPython 문법으로 작성한다.
  3. 2에서 만든 Python 문법을 1로 컴파일한다.
  4. 결과로 나온 Python 구현으로 1부터 다시 반복한다.

또 여기서 하나가 더 들어가게 되는데,

PyPy는 JIT 컴파일러인데, 그냥 JIT 컴파일러가 아니라 meta tracing JIT라고 해서 JIT이 필요한 부분에 약간의 코드 힌트를 넣으면 RPytho 컴파일러가 알아서 JIT 컴파일이 되는 언어 구현을 만들어준다.

PyPy 개발팀의 호환성 기준은 굉장히(!) 간단한데, CPython에서 되던게 PyPy에 안 되면 버그다.

굉장히 재밌는 프로젝트인 것 같다.