카테고리 없음

자바를 극혐하던 내가 자바를 접한 후 느낀 점

koldin 2022. 8. 29. 06:14

자바를 하기로 결심한 이유

저는 원래 자바와 스프링을 별로 좋아하지 않았습니다.

솔직히 큰 이유가 있었다기보단 자바라는 언어가 불편하고 구시대적인 것처럼 느껴졌고 OOP보단 FP가 더욱 맘에 들었기 때문입니다. 하지만 node와 go언어를 메인으로 삼고 있던 저에게 취업은 먼 얘기가 아니었습니다. 그래서 어쩔 수 없이 자바를 공부하기로 했죠.

 

자바를 접하고 느낀점

자바라 기보단 실질적으론 스프링이죠.

스프링을 처음 접한 곳은 김영한 님의 무료 스프링 입문 강의였습니다.

솔직히 입문강의니 만큼 전반적인 느낌만 알려줘서 그 영상들만 갖곤 프로젝트를 하기는 힘들었습니다.

 

전 만들며 배우는 스타일입니다.

변명일 수도 있지만 웹에서 내가 하고 싶은걸 하려고 html, css, js, php까지 배웠었고, 그 후에도 Node때는 여러 프로젝트를 하며 라이브러리, 기술 등을 만들며 배워갔고 Go언어 또한 마찬가지였습니다.

강의 영상을 다 보고 하는 것이 아닌 어느 정도만 보고 만들어 보며 하는 게 효율이 가장 좋았죠.

 

하지만 스프링은 달랐습니다.

Node와 Go언어는 마치 가볍고 자유로운 느낌이라면 스프링은 무겁고 빡빡한 명문 같은 느낌이었습니다.

확실히 스프링이 오래되며 도태되지 않고 계속된 업데이트를 하여 낡진 않았고 오히려 연륜이 있는 느낌이었습니다.

알아 갈수록 개발하기 쉽고 유지보수도 편해 보였죠. 보면 볼수록 왜 아직도 스프링을 버리지 못하는지 이해할 수 있었습니다. 하지만 저에겐 그 연륜이 큰 단점으로 다가왔습니다.

 

스프링은 오래되어 쌓여있는 자료가 많았습니다.

제가 배운건 얼마 되지도 않았는데 타 언어에선 뭔갈 쉽게 만들만한 정도는 충분히 됐죠.

저에겐 이게 매우 큰 단점이었습니다.

쉽게 프로젝트를 시도해보기 힘들었거든요. 플젝을 제대로 실 서비스가 어리숙하게나마 가능할 수준까지 개발을 해야 하는 제 입장에선 입문강의에서 본 것들이 너무 많았습니다. 또한 DIP, SRP, OCP를 어기지 않게 개발을 진행해야 하는데 이런 것들을 보며 확실히 느낀 게 설계를 해야 한다는 것입니다. 물론 다른 프레임워크로 백엔드를 만들어도 설계는 해야 합니다. 하지만 제가 지금까지 느낀 스프링은 상당히 많은 것들 종합적으로 고려해 설계를 진행해야 할 것 같았습니다.

그래서 스타트업이 노드를 많이 쓰는 건가 싶기도 했고요.(꼭 저 이유만 있는 것도 아니며 확실치 않은 뇌피셜입니다.)

 

하지만 그럼에도 지금은 스프링을 싫어하기보단 오히려 백엔드를 시작하는 친구들에게 한 번은 찍먹이라도 해봐라고 추천하고 싶을 정도입니다. 왜 사람들이 스프링을 버리지 못하는지, 스프링은 뭔데 그렇게 오랫동안 해 먹는 중인지 등 배움의 깊이가 얕아도 충분히 느낄 수 있는 것 같기 때문입니다.

 

특히 OOP라는 개념을 점점 이해해 가고 코드로 짜 볼수록 개안을 하는 느낌이었습니다.

FP를 했던 제 입장에선 유지보수가 힘들긴 했습니다. 그래서 가능한 초반에 정한 길에서 문제가 생겨도 변경보단 디버깅이나 우회로를 찾아가는 식으로 진행을 했었습니다. 하지만 스프링은 그저 코드 몇 줄 바꿔주기만 해도 잘 작동하게 됩니다.

그 외에도 테스트의 개념이라던가와 같은 것들을 배울 수 있었습니다.

 

위의 글을 보고 "테스트는 기본 아닌가요? 그걸 왜 스프링에서만 배울 수 있다고 하는 건가요?"라는 질문이 떠오르실 수 있습니다. 저 말이 맞습니다. 테스트는 스프링만의 개념이 아니죠. 하지만 스프링처럼 기본적으로 알려주는 강의가 많지는 않았습니다. 적어도 제가 봤던 강의들 사이에 서는요. Node에서도 test를 직접 만들지 않았습니다. 하지만 스프링은 이미 짜여진 틀 안에서 놀게 하기 위해선 암묵적 룰을 따라야 하기 때문인지 여러 개념을 필수적으로 가르치게 됩니다.

또한 그런 개념들이 왜 필요한지, 있으면 뭐가 달라지는지 체감할 수 있기도 했고요.

 

결론적으로 보면 스프링을 보는 시선이 완전 달라졌습니다.

또한 경험해 보지 못하고 알지 못하는 것을 함부로 까내리거나 기피하는 것은 정말 위험한 행동이라는 것을 한 번 더 느끼게 됐습니다.