1. Haskell
공부용이다
2. Clojure / ClojureScript (Ring, Reagent)
나의 것. 회사의 프로젝트에는 사용하지 않는다.
나의 최상 명검이다.
3. Java (Spring + Mybatis)
새 회사로 이직하면서 JPA 대신 마이바티스로 갈아탔다.
새 회사의 메인 백엔드는 Java로 진행한다.
부분적으로, Clojure 의 경우 외부라이브러리를 사용할 때에 Java에 의존한다.
4. Python (Pytorch, fastAPI, selenium 등등 수많은 모듈들)
자바가 골키퍼와 수비수를 맡는다면
파이썬은 공격형 미드필더와 스트라이커를 담당한다
5. JavaScript / TypeScript (Vue)
프론트엔드는 Vue가 담당한다.
6. C / C++ (CUDA, cuDNN, grpc)
진심모드로 컴퓨터를 사용할 때 사용하게 되는 두번째 최상명검.
나의 최상명검은 Clojure + C++로 이루어진다.
아마츠는 Pytorch 의 Clojure 버전
그리고 블루데스티니 EXAM은 C++ 의 cuDNN 고성능 엔진을 마이크로시스템으로 만들어서 어느 시스템에도 탈부착이 용이하도록 설정한다.
7. Rust
비상용이다. 아직 어디에서 사용하게 될지 모른다.
정확히 말한다면,
C++이 하는 역할을
C / Rust 로 대체하고 싶다는 생각을 많이 한다. 그게 안되기 때문에 일단 주시중이다.
Rust가 제발 C++을 대체해줬으면 좋겠지만
C++은 C와의 통합이 너무 용이하고 특히 CUDA의 메인진영이라 아직은 러스트가 C++을 대체하는것이 터무니없는 소리이다.
이렇게 되면 언어가 9개정도가 나옴.
Clojure 와 Clojurescript를 분리해서 생각한다면
10개의 언어가 나옴.
진짜 간추리고 또 간추린건데
여기까지는 필수언어임.
굳이 빼자면 C++을 뺴야돼.
하스켈은 못뺌. 공부하느라 필요해.
이중 Rust 는 숙련도가 부족하고 C++ 은 아직 사용한적이 없다. 나머지 언어는 실무에서 현재 전부 사용하고 있는 언어들임
아 grpc로 C 코드 하스켈에 부착시키느라, C++ 만져본적 있기는 함. 아예 뭔지도 모르고 썼음
말실수 C++은 절대 못빼지. Rust를 뺴야함
ㅋㅋ