1. 자바와 자바스크립트
1) CPU연산과 복잡한 연산에 불리한 노드(Node.js), 자바스크립트
자바는 멀티스레드를 사용해서 CPU연산이 많거나 복잡한 프로그램에 적합하지 않은 싱글스레드 기반의 Node.js(javascript) 자바스크립트와 달리 대기업ERP등에 널리 사용될 수 있다고 생각한다.
2) 역사가 긴 자바와 커뮤니티 지원
자바는 상대적으로 역사가 길고 커뮤니티와 시니어가 많다. 그래서 참고할 만한 것이 많지만 문제는 진입장벽이 조금 높다. 그래서 스프링부트가 나왔고 어플리케이션 설정과 의존성 관리가 편리해진 부분이 있다. 백엔드를 하려면 역시 자바기반이 조금더 깊게 배울수 있다.
3) 자바의 공장인 스프링프레임워크와 JSP
자바는 스프링프레임워크기반인데 반해 Node.js는 라이브러리고 프레임워크로서 Next.js가 나왔으니 조금더 두고봐야 하지만 풀스택 관점에서 Node.js태크에 Javascript를 하는게 좋을 수 있다. 그러나 전반적으로 백엔드는 스프링으로 하고 프론트를 react나 vue로 개발하는 것도 가능하기에 후순위로 배워두면 좋을 것이다. 일단 JSP는 프론트에 자바코드를 쓰는 것이 클린아키텍처나 클린코드, 그리고 가독성면에서 점점 개발 후순위로 밀리고 레거시가 되어가고 추세라고 한다.
결과적으로 복잡한 제어나 대규모 개발에 자바가 많이 쓰이기 때문에 포지션을 보다 여러 사람과 보다 많은 사람과 함께 개발하는 것을 원한다면 자바개발자가 되는 것이 낫다고 본다.
2. 자바와 파이썬
- 빅데이터와 인공지능의 파이썬
파이썬은 인터프리터언어라 자바스크립트와 같이 한줄한줄 번역된다. 그러나 자바는 클래스파일을 만들어서 객체지향적 구현을 해야 결과물을 볼수 있다. 단순 직관적이고 개발 편이성적인 면에서는 파이썬이 낫다고 할 수 있으므로 빅데이터와 인공지능 면에서 자바개발자가 파이썬을 한다면 좋은 점이 있다고 생각한다.
파이썬으로 복잡한 웹개발을 하는 경우는 없다고 알고 앱개발은 할 수 없기 때문에 모바일 까지 생각하는 웹개발자라면 자바개발자가 되는 것이 낫다.
3. 자바와 코틀린
- 파이썬과 같은 직관적 코딩을 도입한 코틀린
안드로이드 진영의 구글이 코틀린을 2017년 추천했고 자바를 코틀린으로 변환하는 작업도 많은 플랫폼기업들이 했다. 왜냐하면 소스량면에서 코틀린이 더 적게 가능하기 때문에 앱과 연계를 생각한다면 코틀린을 하는 것이 낫기 때문이다. 앱과 웹은 조금 다르다. 웹은 http프로토콜을 사용해서 전세계를 이어놓은 공공재 성격이라면 앱은 안드로이드, ios 기반으로 각각 다르게
일반적으로 b2b나 b2g기반으로 개발을 할 것이고 앱을 사용하지 않는다면 기존 자바만 있어도 충분하지만, 앱을 많이 사용하는 b2c를 고려하는 분야까지 망라하려면 코틀린을 배우는 것이 낫다. 자바와 코틀린은 jvm을 같이 쓰기 때문에 상호 호환이 된다. 코틀린은 자바8기반이라 지금 자바언어 자체가 자바21까지 나왔기 때문에 성능층면에서는 밀리는 부분이 있을 것이라 본다. 그리고 자바는 자바 8이후부터 자바21까지 하위호환이 어느정도 되게 개발되었기 때문에 좀 더 안정적이다. 그래서 msa가 지향된다면 둘 다 아는 것이 결과적으로 나을 것이다.
4. 자바와 C,C++
- 웹과 시스템소프트웨어로 무엇을 개발한 것인가?
C는 절차지향언어라 시스템 소프트웨어 개발에 사용되고 임베디드개발자가 된다. C++은 절차지향에 객체지향까지 섞여 있어서 보다 어렵지만 게임과 같은 고성능 프로그램 소프트웨어 개발에 용이하다.
무엇인가를 연결하는 네트워크와 관련된 웹을 개발하고 싶으면 자바를 하는게 낫고, 컴퓨터에서 돌아가는 사용자의 편이성, 엔터테인먼트적인 요소에 관심이 많다면 C나 C++을 배워서 시스템 소프트웨어 등을 개발 하는 것이 낫다. 다수가 아닌 개인을 향한 프로그램을 개발하고 싶다면 결국 C나 C++을 배워야 하는데 어렵다.
참고로 2023년 12월 기준으로 TIOBE에서 집계한 프로그래밍 언어순위에 따르면
파이썬, C, C++다음으로 자바가 있는데 모두 하향 추세이다.
C#은 상승세를 타고 있는데 마이크로소프트 쪽에서 무엇인가를 하고 있는 것인가..
C#은 전혀 모르는 필자로서는... 무언가 연구할 거리가 더 생겼다.
자바개발자는 Oracle DB쓰는데로 가라
C#의 마이크로소프트는 소프트웨어 쪽이고 DB도 가지고 있지만 그쪽으로 가면 테크트리가 애매해진다. 마이크로소프트에서 Java를 이기기위해 C#에 공을 들이고 있다고 하니 자바개발자는 Oracle DB쓰는데로 가야 장수할 것이며 테크가 맞을 것이다.
다만 마이크로소프트에서 git을 인수하고 vscode를 지원하며 최근 chatgpt까지 관여하고 있으니... 실상 인공지능과 연계된 개발 분야에서는 오라클의 자바가 밀릴것 같다.
오라클 2024년 전망: 혼조세를 보였지만 여전히 긍정적 ORCL (tistory.com)
그러나 마이크로소프트 운영체제 윈도우의 경쟁자로 애플이 있다면, 윈도우를 쓴다면 오라클로 가는 것이 낫다. 왜냐하면 위의 기사에서 참고하듯이 마이크로소프트는 오라클과 파트너쉽 관계에 있기 때문이다.
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
모니터링 WIL (0) | 2024.01.07 |
---|---|
[장애대응 시나리오] JMeter 모니터링 (0) | 2024.01.07 |
typescript 기본 (4) | 2023.12.18 |
TDD와 Junit5 정리 (0) | 2023.12.15 |
항해플러스3기 아고라 참여 후 무신사 하헌우 코치님 티칭 정리 (0) | 2023.12.14 |