기술지원 문의는 로그인 후에 가능합니다.

확인

소식

JetBrains 관련 소식

공지사항

2020년 Java를 그려보다_2편

2020-10-20


안녕하세요 JetBrains 한국 총판 단군소프트입니다.
오늘은 지난 시간에 이어 Java의 현황에 대해 알려드리겠습니다.

자세한 내용은 아래에서 확인하세요>>
-Java가 사용되는 주요 산업
-Java 도구
-가장 많이 논의된 Java 도구 및 기타 언어
-Java 커뮤니티에서 논의되는 핫토픽


Java가 사용되는 주요 산업
수많은 전문 개발자가 Java를 사용하는 이유는 이제 알았으니 Java가 사용되는 산업에 대해 자세히 살펴보겠습니다.

2020년 개발자 에코시스템의 현황에 따르면 Java 프로그래머는 주로 IT 서비스(42%)와 금융 및 핀테크(44%)에서 일합니다.하지만 이는 Java가 다른 산업에서 사용되지 않는다는 의미는 아닙니다.


◆ 전문가 분석
-금융 및 핀테크: 금융과 핀테크는 거의 Java로 구축됩니다. 대부분 금융 거래소, 소매 금융 시스템, 계산 엔진 제작, 자체 개발한 맞춤형 도구 및 서비스 개발에 관한 것으로, 기업이 시장 경쟁력을 갖출 수 있도록 돕습니다. IT 기업이 아닌 회사를 위한 급여 시스템과 재고 관리 서비스도 대부분 Java를 기반으로 하고 모바일 개발은 Android 때문에 높기 때문에 Java가 이같은 비중으로 사용되고 있을 것입니다.

-빅데이터 및 데이터 분석: 빅데이터 및 데이터 분석의 경우는 Python이 주도하고 있다는 점에서 매우 특이하지만 백엔드에서 Java 및 JVM 언어가 어느 정도 사용되고 있을 수 있습니다.

-소프트웨어 개발 도구: 소프트웨어 개발 도구의 경우는 JetBrains IDE도 현재 Java로 구축되었기 때문에 당연한 결과라 할 수 있습니다. 그러나 다른 산업은 약간 수수께끼입니다. 사실 해당 산업에서 Java가 어떻게 사용되는지 들어보면 상당히 흥미로울 것입니다.



Java 도구
Java 버전, 인기 있는 애플리케이션 서버, 상위 5개 웹 프레임워크, 상위 5개 JVM 프로파일러, 상위 5개 IDE/에디터


1. Java 버전
Java 8은 여전히 ​​가장 인기 있는 버전입니다. Java를 기본 언어로 사용하는 전문 개발자 중 75%가 이 버전을 사용합니다.아래 그래프는 개발자가 2020년 개발자 에코시스템에 관한 설문조사에서 선택한 Java 버전(복수 선택)의 분포를 보여줍니다.


◆ 전문가 분석
Java 8이 이렇게 인기 있는 이유에는 몇 가지 요인이 있습니다.

첫째: 일반 Java 8은 개발자가 해당 언어에서 필요한 모든 기능을 갖추고 있고 람다와 스트림이 있으며 전반적으로 사용하기 간편한 버전입니다.

둘째: Oracle은 격년으로 릴리스를 발표했습니다. 그리고 Java 9, Java 10, Java 12, Java 13은 6개월 동안만 지원되는 등 모든 릴리스가 오래 지원되는 것이 아니라서 그 사용자의 수가 매우 적습니다.

* Java 13은 이 설문 조사가 나왔을 때 최신 버전이었기 때문에 그만큼 수치가 높은 것뿐이며, 이는 몇 달 내에 떨어질 것으로 예상됩니다.

셋째: Java 8이 인기가 많은 이유 중 하나는 많은 기업들이 Java9 이후 버전으로 변경을 꺼려하기 때문입니다. Java 9는 몇 가지 큰 아키텍처 변경이 적용되었기 때문에, 개발자들은 Java 8로 구축된 애플리케이션에 문제가 생길까 변경을 하지 않고 있습니다. 마찬가지로 2018년에 출시된 Java 11은 장기적으로 지원되는 최신 버전이지만 아직 많은 기업이 Java 9(아키텍처 변경 포함) 이후 버전으로 이동하면 모든 것이 망가질까 봐 우려하여 이 버전으로 이전하지 않았습니다. 또한 Java 11은 새로운 라이선스와 구독 정책을 도입했기 때문에 잘못된 버전을 잘못된 방식으로 사용하면 Oracle이 벌금을 물릴 거라는 우려도 더해졌습니다.

​넷째: 대다수 개발자가 Java 11로 업데이트하지 않는 마지막 큰 요인은 새롭고 흥미로운 새 기능이 많지 않아 언어의 기능이 업그레이드 위험을 걸 만큼은 아니기 때문입니다. Java 17은 장기적으로 지원되는 다음 버전이 될 것이며 많은 새로운 기능이 함께 제공되지만 Java 8에서 Java 17로 바로 업데이트하면 자체에 문제가 발생합니다.


하지만 Java 11 다음 장기 버전인 Java 17이 출시될 예정입니다. Java 17에 대한 준비로, 큰 문제를 피하려면 먼저 코드베이스를 Java 11로 업데이트한 다음 Java 17로 업데이트하는 것 추천드립니다.



2. 인기 있는 애플리케이션 서버
지난 3년 동안 Apache Tomcat은 JBoss EAP 및 WildFly의 사용이 절반으로 줄어도 여전히 가장 인기 있는 애플리케이션 서버였습니다. 제공된 데이터는 2018 및 2020에 개발자 에코시스템 설문 조사에 참여한 사람 중 기본 언어로 Java를 사용하는 개발자의 데이터입니다.


◆ 전문가 분석
Jetty가 2위를 차지했지만 수치는 놀라울 정도로 낮은 것 같습니다. Spring Boot 및 기타 마이크로서비스 프레임워크를 사용하는 일부 개발자는 내부에서 사용 중인 것이 무엇인지 인식하지 못한 채 Tomcat 또는 Jetty를 사용하고 있을 수 있습니다.



3. 상위 5개 웹 프레임워크

2018년, Spring MVC와 동일한 인기를 차지했던 Spring Boot 가 2020년에는 인기가 더 올라갔습니다.


◆ 전문가 분석
이는 결과는 기본적으로 그저 Spring이 시장을 독점하고 있다는 사실을 확인해 줍니다. 여전히 Struts 1을 사용하는 사람들이 있지만 기존 애플리케이션에서만 사용하는 것이 거의 확실합니다.



제공된 데이터는 Java를 기본 언어로 사용하는 모든 전문 개발자로부터 취합한 것입니다.


4. 상위 5개 JVM 프로파일러

2020년 개발자 에코시스템의 현황에 관한 설문 조사에 따르면 사용자의 24%가 VisualVM을 사용하는 반면 절반은 사용하지 않는 것으로 나타났습니다.



제공된 데이터는 Java를 기본 언어로 사용하는 모든 전문 개발자로부터 취합한 것입니다.


5. 상위 5개 IDE/에디터

2018년과 2020년 개발자 에코시스템에 관한 설문 조사에 따르면 IntelliJ IDEA는 2018년 55%에서 2020년 72%로 점유율이 증가한 반면, 나머지 4개 도구는 감소했습니다.


◆ 전문가 분석
이 정보가 JetBrains의 개발자 에코시스템의 현황에 관한 설문 조사에서 가져온 것이고 JetBrains의 주요 제품 중 하나가 IntelliJ IDEA라는 점을 감안할 때 설문 조사 결과에 가중치를 부여하더라도 정보가 약간 왜곡되었을 수도 있습니다. 그러나 다른 설문 조사에서도 IntelliJ IDEA가 일반적으로 가장 많이 사용되는 IDE 중 하나이며 일반적으로 사용자의 약 55~60%를 차지하고 있습니다.



가장 많이 논의된 Java 도구 및 기타 언어

Java는 IT 커뮤니티에서 곧잘 논의되며 그러한 커뮤니티 중 하나가 Stack Overflow입니다. JetBrains는 이곳의 Q&A 섹션에서 데이터를 가져와 “java”와 함께 가장 많이 올라오는 태그를 확인했습니다. 세로축은 Java 관련 언급 내용을 나타내고 가로축은 총 태그 발생 횟수를 나타냅니다.

◆ 전문가 분석
이 차트는 자신이 올바른 기술을 사용하고 있는지 확인하거나 자신에게 적합한 도구를 확인하려는 사용자에게 유용할 수 있습니다. 여러 언어가 보이는 것이 다소 흥미롭지만 이유는 아마 사람들이 Java와 다른 언어를 비교하기 위해 검색하기 때문일 것입니다. 정규 표현식은 사람들이 어려움을 겪는 특정 분야이지만 목록에 포함되어 있어도 놀라운 일이 아닙니다.



Java 커뮤니티에서 논의되는 핫토픽

“java” subreddit 의 게시물을 분석하고 Reddit에서 Java 사용자가 가장 많이 논의한 주제를 찾아보았습니다.


◆ 전문가 분석

Java로 코딩하는 사람들은 이 언어가 여전히 수요가 있는지, 나중에 수요가 조금씩 증가하는지에 항상 관심이 있을 것입니다. 게다가 Java는 이제 막 25주년을 맞았기에 사람들은 이 언어가 오래된 구식이 아니라 여전히 유효한지 확인하고 싶어 합니다. 특히 대학을 막 졸업하고 배운 언어가 취업 기회를 제공할지 아직 알 수 없는 상태라면 더욱 그러할 것입니다.

컨테이너에 Java를 배포하는 것은 매우 관심을 끄는 주제이며 모두가 알고 싶어 하지만 정보를 거의 찾을 수 없습니다. 성능 최적화라는주제는 실제 대부분의 경우 개발자가 애플리케이션을 최적화할 필요는 없기 때문에 약간 불필요하다고 생각되지만 중요한 경력 기술이라고 생각하는 개발자가 많기에 납득이 됩니다. 백엔드와 프런트엔드를 함께 작동시키는 작업도 매우 복잡할 수 있기 때문에 이에 대해 많은 질문이 올라오고 있을 것입니다.



오늘 포스팅은 여기까지입니다.
긴 글 읽어주셔서 감사합니다.

이 게시물은 Valeriia Karpenko가 작성한 A Picture of Java in 2020를 번역한 글입니다.

​ ​

목록