I am a high school student who is interested in becoming a professional software developer, and I am currently learning Java. I would like to understand the current state and future of Java in the software industry.
What exactly makes Java still relevant and widely used today, and what factors are likely to keep it relevant in the future?
I currently see Spring and Spring Boot being used very frequently in Java development. However, Spring Boot has been around for quite some time, so I would like to know what modern frameworks, libraries, tools, and technologies Java developers are actually using in the industry today. What exactly is being used in current Java development, and are there newer or alternative frameworks that have become popular alongside or instead of Spring Boot?
I am also trying to decide whether Java is a good language to build my career around. With the rapid growth of Python, machine learning, and AI, would it be better to focus on:
Java for backend/software engineering and AI-related applications
Python for AI/ML and software development
A combination of Java and Python
For someone starting their career now, what Java technologies, frameworks, libraries, cloud technologies, and architectural approaches would you recommend learning to become relevant to the current industry and remain employable in the coming years?
I am not looking for a comparison based simply on popularity. I would especially appreciate answers from experienced Java developers who work in the industry and can explain what technologies, frameworks, and architectures they actually use in their current projects.