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++을 뺴야돼.


하스켈은 못뺌. 공부하느라 필요해.