TECH 으로 돌아가기
TECH HACKER NEWS 오늘 5분 읽기 26 READS

금융가를 조용히 지배해온 언어 k와 q, 이제 오픈 런타임 'l'로 만져본다

금융가를 조용히 지배해온 언어 k와 q, 이제 오픈 런타임 'l'로 만져본다

금융가를 조용히 지배해온 언어, k와 q

혹시 'k'나 'q'라는 프로그래밍 언어 들어보셨어요? 웹이나 앱 개발만 해오셨다면 평생 한 번도 못 들어봤을 가능성이 커요. 그런데 월스트리트의 헤지펀드, 대형 은행, 증권사 뒤편에서는 수십 년째 이 언어들이 조용히 돌아가고 있거든요. 이번에 lv1.sh에서 'l'이라는 새 런타임이 공개됐는데, 바로 이 k와 q를 돌릴 수 있는 오픈 실행 환경이에요. 왜 이게 흥미로운지 하나씩 풀어볼게요.

k는 아서 휘트니(Arthur Whitney)라는 전설적인 개발자가 만든 언어예요. 뿌리를 따라가면 APL이라는 아주 오래된 '배열 언어(array language)'에 닿는데요. 배열 언어가 뭐냐면, 우리가 보통 for 반복문을 돌리면서 원소를 하나씩 처리하는 걸, 아예 배열 전체를 한 방에 처리하는 걸 기본으로 삼는 언어예요. 예를 들어 '이 리스트의 모든 값에 1을 더해라' 같은 걸 반복문 없이 그냥 1+x 한 줄로 끝내버리는 식이죠.

q는 이 k 위에 사람이 읽기 조금 더 편하게 단어를 입힌 언어고요. 그리고 이 q로 다루는 데이터베이스가 바로 그 유명한 kdb+예요.

왜 하필 금융에서 그렇게 쓰였을까

kdb+는 '컬럼 지향(column-oriented) 시계열 데이터베이스'예요. 말이 어렵죠? 쉽게 말하면, 밀리초 단위로 쏟아지는 주식 체결 데이터(틱 데이터라고 불러요) 같은 걸 미친 듯이 빠르게 저장하고 조회하는 데 특화돼 있어요. 하루에 수십억 건씩 쌓이는 시세 데이터를 다루면서도 응답이 빨라야 하는 트레이딩 세계에서, 이게 사실상 표준처럼 자리 잡았거든요.

또 하나의 특징은 '극단적인 간결함'이에요. 다른 언어로 스무 줄 짜야 할 로직을 한 줄로 압축해버려요. 처음 보면 암호처럼 보일 정도인데, 익숙해진 사람들은 '생각의 속도로 코딩한다'고 표현하기도 해요. 코드가 짧으니 전체 로직을 한 화면에 놓고 사고할 수 있다는 거죠.

그런데 왜 '새 런타임'이 필요할까

문제는 진짜 kdb+와 q가 상용 제품이라는 점이에요. 라이선스 비용이 어마어마해서, 개인이나 작은 팀이 취미로 배우거나 실험하기엔 부담이 컸어요. (제약 있는 개인용 무료 에디션이 있긴 해요.) 그래서 예전부터 이 언어를 오픈소스로 다시 구현하려는 시도들이 있었어요. Kona, oK, ngn/k, Klong 같은 프로젝트들이 대표적이죠.

이번 'l'도 그 흐름 위에 있는 새로운 시도예요. k와 q를 함께 돌릴 수 있는 오픈 런타임을 지향하는 건데요. 이런 오픈 구현이 늘어나면 좋은 점이, 비싼 라이선스 없이도 배열 프로그래밍의 사고방식을 직접 만져볼 수 있다는 거예요. 언어 내부가 어떻게 동작하는지 소스를 뜯어볼 수도 있고요.

한국 개발자에게

당장 실무에서 k/q를 쓸 일은 대부분 없을 거예요. 국내에서 이 언어를 요구하는 자리는 극소수거든요. 하지만 '배열 언어의 사고방식'은 배워둘 가치가 충분해요. 우리가 매일 쓰는 NumPy, pandas 같은 도구들이 전부 이 '반복문 대신 배열 통째로 연산' 철학에서 나왔거든요. k/q를 살짝 맛보면, 왜 판다스에서 for문 돌리면 느리고 벡터 연산이 빠른지가 몸으로 이해돼요.

시계열 데이터를 대량으로 다루는 분들, 예를 들어 로그 분석이나 IoT 센서 데이터, 실시간 지표 처리를 하는 분들이라면 kdb+가 어떤 문제를 어떻게 푸는지 구조만 살펴봐도 아키텍처 아이디어를 얻을 수 있고요.

한 줄로 정리하면, 'l'은 금융가의 비밀 병기 같던 언어를 누구나 만져볼 수 있게 열어주는 문 하나가 더 늘어난 셈이에요. 여러분은 반복문 없이 배열을 통째로 다루는 언어, 한 번쯤 배워보고 싶으신가요? 아니면 지금 쓰는 언어로 충분하다고 느끼시나요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://lv1.sh/
SHARE
처리 중...