[JAVA] What revolution happen in programming

Here are few datas which is analyzed in this programming era

Many companies are rightly shifting their platform from in-house infrastructure to cloud-based solutions like AWS or Azure, meaning software architecture also tends to be more Domain-Driven in order to benefit from such platforms.

Rapid prototyping is seen as increasingly important in order to get a solution of out the door quickly but also to prove the viability of the projects, hence I have seen a shift into using more language-diverse systems (eg Python and Java and JavaScript), which is perfectly fine since most of them are based on Microservice architectures, where components can be replaced with a different implementation without impacting the overall system. You are more free to use the tool right for the job.

Linked to the above points, Containerization is increasingly important, allowing to encapsulate applications into a container without worrying about system dependencies.

Also Event Sourcing is becoming more popular, allowing the changes to application state to be stored as a sequence of events, which can be replayed on demand. Reactive programming is taking over the UI development approach where you want real-time information to be displayed, mainly, but also very commonly used in backed applications working with asynchronous data streams, and many backend frameworks are adapting to this.

Security is still a huge problem for companies, mainly to do with exposing information to the world wide web, so I can see there is more awareness of OWASP vulnerabilities and some teams are taking actions to adapt their development practises, other don’t and are in danger of malicious attacks or exposing sensitive information. This is also linked to User Data Protection another huge topic to be aware of. There are also new techniques like Chaos Engineering.

In the Testing development world, Visual Testing is getting more importance because of the multitude of devices with different screen sizes, from laptops to smartphones and tv monitors etc.

Also Artificial Intelligence is getting applied to more and more fields, even the one mentioned above (Visual Testing).

Modular programming is getting embraced by most programming languages (see JavaScript ES6 or Java 9 for example).

Cross platform mobile app: it’s not very new, but it had reach a good level of maturity to make it a very good choice over native mobile development for most cases since libraries like React Native make it easy to release good performance mobile apps for different platforms.

CI tools, these days there seem to be more options than ever out there, no matter what programming language you use, there are very valid alternatives to the old fashion Jenkins for automated builds and Continuous Integration.

I am running out of concrete examples but in the programming world there are changes every 18 months or so, hence we must be able to adapt quickly but also don’t fall into the trap of jumping on the bandwagon of the last trendy names. There is no point in that because firstly tooling is often not mature enough to be production ready. So you just have to find the right moment to understand what’s important for your work, or you risk become obsolete as a developer.

Source:

Hibernate interview questions

spring boot interview questions

Recommended Posts

What revolution happen in programming
What is a snippet in programming?
What is programming?
Constraint programming in Java
What is object-oriented programming? ~ Beginners ~
[Java] Basic terms in programming
How to master programming in 3 months
[Java] What got caught in encapsulation
What is @Autowired in Spring boot?
What are the rules in JUnit?
Let's think about what declarative programming is in Java and Elm (Part 1)