저 이사갑니다. Why Not?

짝..사랑?
나는 닷넷을 꽤 오랫동안 지켜봤다.
- 호주에서 가장 인기있는 프레임워크
- 미친듯이 유연하면서 강력한 LINQ
- 자연스러운 AOT 네이티브 컴파일
- 자바처럼 VM에서 구동되어 런타임 최적화 방식
- 스프링보다 메모리와 cpu 점유율이 현저히 낫다는 사실
- 심지어 자바보다 최대 성능까지 더 높은 사실까지 알고있다.
- 이 블로그 도메인도 희준닷넷
- 종종 ChatGpt에게도 C#은 자바랑 비교해서 어떤 느낌일까 묻고
- 애들레이드 닷넷 커뮤니티도 꼬박꼬박 참여했다 (스프링부트는 애들레이드에 없다).
- 과거 마소가 오픈소스 진영에 독을 풀고 자바 킬러로 기획된 그의 지저분한? 탄생 비화까지 알고있다.
상황이 바뀌었다.
자바 개발자 정체성을 가졌지만 이제 대 LLM의 시대.
특정 언어 또는 프레임 워크 경험이 없는게 무슨 제약이라 말인가? 개인프로젝트는 멋지면 하는거다!
지난 주말, 내 조수, 안티그레비티와 함께, 기존 SpringBoot Anotherhome 백엔드 어플리케이션 마이그레이션을 시작했다.
자바스크립트야?
?? 로 null 체크 에러를 던진다고?
await/async 가 있다고?
근데 둘다 C#이 먼저 였다고.. 뭐야 너.. 무서운 언어였구나.
가장 좋은점
역시 LINQ다. 스프링부트처럼 리포지토리에서 이거 레이지로딩 된 건지, Join Fetch된건지 굳이 클릭해서 볼게 아니라,
그냥 서비스 레이어에서 바로 읽으면 된다. 네이티브 컴파일 할맛나네.
Allman 줄바꿈은 음..
자바랑 왔다갔다 하면서 쓸거라 이건 좀 어색하다. 안그래도 indentation같은 빈칸 안좋아 하는데 아쉬(웠)다.
근데 오늘 삼일차에 보니까 괜찮아 보인다?
기대된다.
이전 포스트 언어 피커에서 언급했듯이 나는 최적화 좋아한다 (체감의 영역은 두번째 치더라도). 내 스프링부트는 Graalvm 컴파일 하는데 깃허브에서 45분이 걸린다.
심지어 컴파일 환경설정도 잘 맞춰줘야함. 기본 메모리 할당 (8Gb 좀 안됨) 메모리안에 가까스롭게 safe하게 들어와서 컴파일 성공하고 병렬코어 수도 맞춰줘야했다.
최악은 힘들게 컴파일에 성공해도 런타임에서 에러 왕왕 던짐(리플렉션).
한마디로 돌려볼때까진 에러날지 모른다. 반면 닷넷은 AOT Native 지원이 이 모든 부분에서 자연스럽게 이뤄진다고하니, 이보다 더 신날 수 있을까? 히히
안티그래비티에 박수
일단 자바에서 모든 기능을 하루 이틀만에 거의 90퍼센트 성공적으로 배껴오는데 성공했다. (Pro 구독중)
일단 로그인은 되고 간단 CRUD 작동은 문제 없다.
물론 자잘하게 에러 엄청 던짐.
그래서 쿼타 다 썼다.
섹시하다. 닷넷.
2019년부터 비약적으로 좋아져왔다던데 앞으로 얼마나 더 좋은게 많을지 마이그레이션 및 배포까지 해보고 돌아오겠다.
듣기론 VM없이 Funtion으로 배포할수도 있다고.. 좋네.. 이 돈아껴서 DB에 쓰겠다.
그럼에도

아직 마소에 색안경을 완전히 벗지 않았다.
왜 깃헙에서 자바는 똥색이고 C#은 이쁜 초록색을 배정한거냐?
(사실 자바는 커피색이라고 한다 ㅋ)