해당 주제에 대한 답변으로 어떤 게 떠올르시나요?
- 자바가 첫 언어이기 때문에
- 언어는 중요하지 않고 개발에 먼저 익숙해지고 패러다임을 익히기 위해
- 혼자 공부하는 데에 있어 참고자료가 풍부하기 때문에
- 회사가 Java를 사용하기 때문에
막상 대답하려고 하면 막막합니다. 사실 위에 있는 답변이 저는 틀렸다고 생각하지 않습니다.
사람마다 선택하는 기술을 선택하는 기준이 다르다고 생각하고
그 기준이 나쁘다고 생각하지도 않습니다.
하지만 개발을 하다 보면 코드의 구조나 품질에 대해서는 많은 논의를 하고 배우고자 하지만
단 한 번도 왜 자바를 쓰고 있는 건가?라는 의문을 품은 적은 없었습니다.
즉 진행하고 있는 프로젝트가 꼭 자바로 구현하고자 하는 이유가 있는가?
(다른 언어로는 구현하지 못하는가?)
해당 질문을 들었을 때 솔직히 속으로는
- 여태까지 자바로 해왔고 언어적으로 발생하는 문제가 발생하지 않았다.
- Java 기반의 프레임워크를 익혀왔고 가장 친숙하고 자신 있고 아는 게 Java 뿐이라서
이런 생각이 먼저 떠올르고 마음속 생각을 그대로 말할 수 없어 Java 언어의 장점을 생각하여 답변을 하기 위해 준비하고 있었습니다.
결국 답변으로는 강력한 타입 체킹 언어, 플랫폼 독립적, GC를 통한 메모리 관리 등 형식적인 답변만 할 수밖에 없었습니다.
즉 원론적인 이유인 왜 해당 프로젝트에는 JAVA가 어울리는지를 설명하지 못했습니다.
대부분 자바의 장점으로 알고 있는 형식적인 답변이 다른 언어에서는 지원하지 못하는가?
그런 것도 아닌데도 말이죠😞
해당 질문에 대해서는 아직까지도 완벽한 답변을 생각하지 못했습니다.(사실 정답이 없다고도 생각을 합니다.)
하지만 한 가지 느낀 점은 무의식적으로 익숙한 도구를 계속 사용해왔다는 점만 알게 되었습니다.
결국에는 조금 더 환경에 맞는 좋은 기술, 언어를 채택할 수 있음에도 불구하고
- 익숙하지 않은 환경을 피하고자 하는 마음이 먼저 들었다는 것
- 말로는 개발자로서 언어는 도구일 뿐이야 라고 말만 하고 행동은 전혀 그렇지 않았다는 것
지금은 왜 사용하고 있는지 아는가?
저는 언어 수준에서 이유를 찾기에는 아는 것도 부족하고 너무 어렵다고 생각하여 더 높은 곳부터 이유를 찾고자 합니다.
다음 포스팅 주제에 대해서는 다음과 같습니다.
- 왜 Spring 사용했는가?
- 왜 JWT 기술은 왜 적용해보았는가?
- 왜 QueryDSL을 사용해야 하는가?
- 왜 ORM을 적용했는가?
- 왜 이벤트 기반의 방식을 사용했는가?
이 외에도 제가 여태까지 알고 있던 기술에 대해서 왜? 사용했는지에 대해 다시 한번 생각하는 시간을 가져보고자 합니다.
물론 해당 주제가 하나하나가 깊게 들어가면 한 없이 크다는 것도 알고 있습니다.
주제의 깊이는 누군가에게 설명을 했을 때 그래도 생각은 하고 사용했구나 정도가 저의 목표입니다.
마무리
JAVA 언어를 왜 사용했는가? 에 대해 궁금해서 들어오셨다면 글을 읽고 도움이 전혀 되지 않았다는 것을 알고 있습니다.
해당 부분에서 사죄드립니다. 🙇♂️
이 글의 분위기는 사실 회고성이 더 가깝다는 것도 알고 있습니다.
하지만 이 글을 읽으신 분들은 기술을 사용하는 것도 좋지만
가장 중요한것은 기술의 장단점을 파악하여 사용하는 것이라는 생각도 들었으면 좋겠습니다.
부족한 글 읽어주셔서 감사합니다.
'why?' 카테고리의 다른 글
나는 JPA 를 왜(알고) 사용하고 있을까? (0) | 2021.08.15 |
---|---|
왜? EntityManager는 AutoCloseable 구현하고 있지 않은가? (0) | 2021.06.15 |