다음 Rich
(clojure.org)- Rich Hickey는 상업 소프트웨어 개발과 Nubank 고용에서 은퇴하지만, 독립 개발자로 돌아가 Clojure 유지보수와 개선을 계속함
- Clojure 작업은 Alex, Stu, Fogus와 여러 기여자가 이어가며, 1.12와 그 이후를 위한 작업도 계획돼 있음
- Nubank는 Alex, Fogus, Clojure 핵심 팀과 더 넓은 Clojure 커뮤니티 후원을 계속함
- Datomic은 Stu가 Nubank에서 계속 이끌며, 성장 중인 팀과 새로운 무료 제공이 다음 변화를 만들 수 있음
- 이번 은퇴는 Rich Hickey에게 Clojure 초기의 자유와 독립성을 되돌려주며, Clojure의 여정은 계속됨
Rich Hickey의 은퇴와 Clojure 지속 개발
- Rich Hickey는 상업 소프트웨어 개발에서 은퇴하고 Nubank에서의 고용도 마침
- Clojure와 Datomic이 규모 있는 환경에서 성공적으로 적용되는 모습을 보는 일은 그에게 흥미로운 경험이었음
- 은퇴 이후에는 다시 독립 개발자로서 Clojure의 유지보수와 개선을 이어감
- Clojure 작업은 Alex, Stu, Fogus 및 여러 사람들과 함께 계속됨
- Clojure 1.12와 그 이후를 위한 유용한 작업들이 계획돼 있음
커뮤니티와 Nubank의 후원
- Clojure 커뮤니티는 여전히 친근하고 성숙하며 생산적인 상태로 남아 있음
- 커뮤니티는 Clojure를 여러 흥미로운 새 영역으로 넓혀가고 있음
- Nubank는 Alex, Fogus, Clojure 핵심 팀, 더 넓은 Clojure 커뮤니티를 계속 후원함
Datomic의 다음 단계
- Stu는 Nubank에서 Datomic 개발을 계속 이끌 예정임
- Datomic 팀은 Nubank 안에서 성장하고 번성하고 있음
- Datomic의 새로운 무료 제공이 어디로 이어질지가 앞으로의 관심사임
Cognitect에 대한 회고
- Rich Hickey에게 Cognitect에서의 시간은 커리어의 하이라이트로 남아 있음
- 그는 팀의 모든 사람에게서 배웠고, 함께한 상호작용에 깊이 감사하고 있음
- Stu와 Justin은 그의 아이디어에 반복적으로 위험을 감수했고, 최고의 파트너이자 친구였으며, 항상 integrity를 온전히 구현한 사람들임
- Alex Miller는 Rich Hickey에게 부족한 여러 기술을 풍부하게 갖췄고, 그의 굴하지 않는 정신, 긍정성, 우정이 없었다면 Clojure는 지금의 모습이 되지 못했을 것임
다시 독립 개발자로
- Rich Hickey는 Clojure와 Cognitect를 통해 많은 친구를 만들었고, 앞으로도 그 우정을 키워가길 바람
- 은퇴는 그에게 Clojure를 처음 개발하던 시기의 자유와 독립성을 되돌려줌
- Clojure의 여정은 계속됨
댓글과 토론
Hacker News 의견들
-
Rich의 Simple Made Easy는 내가 본 최고의 프로그래밍 영상이고, 더 나은 코딩을 위해 많은 엔지니어가 진짜로 이해해야 할 내용이라고 봄
천 명이 넘는 엔지니어가 있는 회사에서 최고참 엔지니어, 즉 chief architect로 일하고 있는데, 실력을 키우고 싶다고 묻는 주니어마다 이 영상을 추천함
또 Clojure + Aleph로 내가 출시한 유일한 큰 애플리케이션은 7년 동안 10k TPS가 넘는 지속적인 고부하에서 돌아가면서도 보고된 버그나 장애가 없었음- Raymond Hettinger의 Beyond PEP8도 꼭 추천하는 발표임
늘 머릿속에는 있었지만 동료들에게 잘 표현하지 못했던 내용을 이 발표를 보고 나서야 설명할 수 있게 됐고, Python과 Java를 모두 다뤄서 함수형 프로그래밍에 익숙하지 않은 사람들에게도 받아들여질 가능성이 커짐
같이 일한 많은 프로그래머는 자신이 쓰는 환경을 제대로 배우려 하지 않아 맞지 않는 방식을 반복하거나, 반대로 자기 취향대로 환경을 강제로 바꾸려고 추상화를 과하게 설계했는데, 둘 다 코드베이스를 엉망으로 만들 수 있음 - Clojure를 배우기 시작했을 때
1은 마지막 결과,2는 두 표현식 전 결과,*3은 세 표현식 전 결과라는 식이라서, 나중에 문제를 일으키지 않을 리가 없겠다고 느꼈음
- Raymond Hettinger의 Beyond PEP8도 꼭 추천하는 발표임
-
Java 라이브러리에 의존해야 해서 첫 트레이딩 시스템을 Clojure로 작성했음
2011년이었고 Lisp 경험은 3년 정도였는데, 비교적 새로운 언어를 쓴다고 하니 주변에서 의심의 눈길을 받았지만 JVM 기반이라는 점이 당시 많은 고빈도 거래 회사에서 쓰이던 환경과 맞아 설득에 도움이 됨
몇 년 뒤 C++ 상호운용이 포함된 새 요구사항 때문에 은퇴하고 다시 작성했지만, 메모리 사용량과 할당 추적이 너무 어려워졌고 시간에 민감한 시스템에서는 메모리 할당 비용이 크게 느껴졌음
다시 Java로 옮길 때 Java 라이브러리는 쉽게 재사용했지만, Clojure에서 먼저 DSL을 만들고 그 위에 알고리즘을 작성했던 Common Lisp식 기법 때문에 알고리즘 구현 코드를 옮기는 일이 훨씬 어려웠음
그 부분은 재작성 후 훨씬 장황하고 투박해졌지만, 정말 재미있었고 지금은 1년에 배울 만큼을 한 달 만에 배운 느낌이었음- JVM에서 할당 자체는 느리지 않은 편이고, 보통 포인터만 증가시키는 방식이라 수동 메모리 관리 언어보다 빠른 경우도 많음
가비지 컬렉션에 필요한 장치들이 오버헤드를 만들기 때문에 전체 취지는 맞지만, 느린 이유를 할당 자체로 보기는 어려움 - DSL을 위해 임베드 가능한 Scheme 인터프리터를 쓰도록 회사 설득은 못 했던 건가 싶음
- 결국 Clojure/Java 성능이 충분하지 않아서 C++로 옮겨야 했던 건지 궁금함
- Clojure로 먼저 DSL을 만들고 그걸로 알고리즘을 작성했다면, Lisp 매크로는 정말 최대한 피해야 한다는 뜻 아닌가 싶음
- JVM에서 할당 자체는 느리지 않은 편이고, 보통 포인터만 증가시키는 방식이라 수동 메모리 관리 언어보다 빠른 경우도 많음
-
Clojure로 큰 프로젝트를 두 개 만들었는데, 하나는 접힌 스타트업 SaaS였고 하나는 내부 시스템이었으며 둘 다 정말 즐거웠음
큰 서버 컴포넌트부터 모듈 수준 결합까지, 단순한 데이터를 주고받는 느슨하게 결합된 컴포넌트의 엄청난 가치를 배웠고, 이제는 거대하고 단일체적인 독선적 웹 프레임워크를 강하게 의심하게 됨
Lisp 전반은 내가 파고든 프로그래밍 토끼굴 중 가장 보람 있었고, 명령형/절차형 언어로 코딩할 때조차 사고방식을 바꿔 준 기술과 훈련의 진짜 금광이었음 -
congratulations라는 단어는 라틴어에서 왔고, 함께라는 뜻의
com-과 감사하거나 기쁨을 보인다는 뜻의gratulari가 결합된 말이며,gratulari는 gratitude와 같은 뿌리인gratus에서 나왔음
Rich를 몇 번 직접 만날 행운만 있었지만, 깊은 감사를 전하고 싶고 이 단계를 밟는다는 사실이 큰 기쁨을 줌
다음 단계에서 무엇을 보여줄지 기대됨- Big Man Tyrone의 고전 Congratulations 영상만큼 이런 정신을 잘 담은 것도 드묾
진심에서 풍자로, 다시 진심으로 의미가 오갔지만, 원래 영상 밑바탕의 본질적으로 즐거운 태도는 성실한 기쁨의 낙관을 품고 있다고 봄
- Big Man Tyrone의 고전 Congratulations 영상만큼 이런 정신을 잘 담은 것도 드묾
-
Rich Hickey의 발표 덕분에 대학 시절 Clojure와 함수형 프로그래밍을 탐구하게 됐고, 이후 커리어의 일부에서 F#이라는 함수형 언어 발전에 기여할 기회로 이어졌음
엄청난 성공이었다고는 못 하지만 큰 실패도 아니었고, 결과적으로 그렇게 흘러가서 정말 좋았음
지금도 가끔 Clojure로 쓴 졸업 프로젝트를 돌아보면 독특하게 우아하다고 느낌- 비슷한 경험이 있음
그 뒤로 더 큰 영향을 낸 것들을 만들었지만, 결국 가장 자랑스러운 소프트웨어는 ClojureScript로 만든 계산기였음
SICP 마지막 장을 느슨하게 바탕으로 레지스터 머신 상태 전이를 우스울 정도로 메타순환적으로 구현했고, 실제 애플리케이션보다 구현이 더 흥미로워서 Processing으로 레지스터 머신을 기초적인 ALU처럼 시각화했음
Rich Hickey나 Clojure가 없었다면 소프트웨어 작성이 얼마나 즐겁고 창의적일 수 있는지 거의 몰랐을 것 같고, 프로덕션에 그런 로직을 넣으려 했다면 바로 해고됐겠지만 경험 자체는 A+였음 - 당신이 Microsoft에 있던 시기에 F# 프로그래밍을 시작했고, 몇 년 사이 F#이 꽤 유능한 크로스 플랫폼 선택지가 됐음
Microsoft와 커뮤니티의 공도 있지만, 당신의 도움도 분명 컸음
- 비슷한 경험이 있음
-
Rich가 Clojure에 들인 시간과 돈, 심지어 은퇴 자금에서 꺼낸 돈까지 이야기했던 게 기억남
길고 충만한 은퇴 생활을 행복하게 보내길 바람 -
2020년 당시 원래 발표들은 여기 있음
https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank
https://news.ycombinator.com/item?id=23926407
https://building.nubank.com.br/welcoming-cognitect-nubank/
아주 흥미로운 이야기임- 딱 1년 전이라 Rich의 대기 기간이 끝난 건가 했는데, 다시 보니 전혀 1년 전이 아니었음
-
정말 멋진 일임
첫째, Clojure가 팀 프로젝트로 계속 성숙하고 있다는 점을 강화함
둘째, 개인적 자유에서만 나올 수 있는 멋진 새 일들이 생길 징조로 보임
셋째, BDFL이 고용주에게서 은퇴해 자신의 평생 작업으로 곧장 뛰어드는 셈이라 응원하게 됨- 나도 정확히 이렇게 봤고, 이 언어는 이제 훨씬 더 큰 집중력을 얻게 됐음
-
Stu의 집에서 Marvel Champions를 하다가 Rich를 만난 적이 있음
Clojure, Datomic, Cognitect, 그리고 여러 발표에 감사하고, 그 창작물들이 내 삶을 여러 방식으로 풍요롭게 해 줬음
은퇴 후 해먹에 누워 보낼 시간이 충분하길 바람 -
Clojure와 ClojureScript를 둘러싼 커뮤니티의 엄청난 노력이 없었다면 OrgPad는 가능하지 않았을 것임
팀 구성원들도 아마 학계나 기업 구조 안에 갇혀 있었을 텐데, 대신 사실상 두 가족이 운영하는 스타트업/회사로 살아갈 수 있게 됨
코딩을 고된 노동이 아니라 예측 가능하고 생산적이며 거의 재미있는 일로 만들어 준 Rich와 그 여정을 도운 모두에게 감사함