Why use java in 2018?

Don’t get me wrong I have known the java language since 1.2 and built a few things here an there with swing and applet. Plus I’m aware of the JVM implementations like jython/jruby and why jars and the jvm are suppose to be good.

But everytime I go to take a serious look at it there’s doesn’t seem to be an actual reason to use java.

So, How can one take BDD practices (like those used in node/python/ruby/c++) and apply that to java.

Which technology make it still a viable use and what one can do to jump into it other than “download x ide that just calls gradle to do all the heavy lifting”?

I’m asking with no options or bias and seriously wanting to know why and what technologies even make it still relevant other than android, elastic, minecraft modding, jdbc, selenium, hadoop, tomcat, and the ever bloated spring framework/eclipse?

Based on my limited experience, Java looks to be pretty thoroughly entrenched in the *nix world doing server-side automation - Tomcat doesn’t look to be going away anytime soon.

1 Like

What makes Java relevant other than this list of ubiquitous systems that rely upon it?

For as much as I’m not a fan, it is undeniably flexible, easy to learn, cleans up after itself, and there’s a vast market for Java applications.

I believe one reason is it makes a good teaching language and is often taught in college

It’s frequently taught even in high school level computer science courses. Really easy to wrap your head around a lot of concepts, particularly in object-oriented, in Java.

Not that I necessarily think it’s any excuse to not pick up a different language afterwards, but if the basis for your skills is already there, and the demand is there for Java applications…

If you are working with a large group of engineers, Java helps keep people writing impossible to maintain cowboy code.

If you have never worked on a project with dozens of other engineers, it can be difficult to see how this helps.

Hey now! This ain’t my first rodeo. Some Cowboys might be as dumb as box of rocks.but the same can said for other folks. :stuck_out_tongue:

1 Like

I’m a site reliability engineer by trade. I am painfully familiar with the fact that it doesn’t matter what language your devs know; if you get enough devs together, any code will be impossible to maintain.

3 Likes

Sorry, I meant to post on the thread generally and not your specific post. I know nothing about what experience other people may have or not have.

keep people writing impossible to maintain cowboy code

I’ve seen that too much in the wild and it really seems to be a part of the heart of my question. Anytime one does a search for anything Java they’re just told to use eclipse and some arbitrary other language in the jvm then presented with a bunch of “enterprise” solutions that are heavily written for non-techie managers and marketing types.

One reason that monolithic applications are moving bit by bit by the way side for large applications. Micro-services are starting to take the lead. This way each group can work independently in their own languages and have it all function as a coherent whole.

server-side automation

I haven’t really seen that in the Linux world, that tends to be more from python and ruby. Do you have any examples from the Unix side?

The cluster of applications I support at work use Tomcat as a critical function. I know it’s key to the batch interfaces that handle requests from upstream. It runs on the downstream nodes as well, but I’m not as versed on that since it’s vendor black box.

1 Like

I don’t feel like we are on the same page here.

If you want a real reason to not use Java, then I think it’s ties to oracle should be enough.

It’s also easier to containerize and scale an application efficiently when you break down it down into services. Though, when you do this, someone has to maintain the mechanism through which the services communicate to each other- it can increase the code maintenance load if you’re not careful in your engineering.

2 Likes

real reason to not use Java,

Anyone can come up with a million and one reasons not to use X. The question is for someone that’s on the outside of the “java inner circle” looking in.

At both my former employer and my present one, the f__king middleware is the source of at least as many problems as the core applications themselves. Bring on the microservices model with commom databases between them - maybe we can retire some of the profligate legacy systems in the process.

Likely to choose Java for ones next project

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

0 voters

Likely to choose a third generation lanugage for ones next project

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

0 voters

Which language(s)

  • C/C++
  • .NET
  • Swift
  • Java
  • Ruby
  • Python
  • NodeJS
  • Go

0 voters

Types of solutions one would use java with

  • Enterprise Business solutions
  • Data Science
  • Web Applications
  • Desktop Applications
  • Games
  • Simulations
  • Industrial Applications
  • System Applications
  • IoT
  • Mobile Applications
  • Embedded systems
  • IT Automation
  • Financial Applications
  • Other ( comment bellow )

0 voters

I use Java every day with Software Test Automation. You can use Python, C#, and others but I find in testing automation Java adoption is much higher. I can’t think of a tool that I couldn’t use with Java, but I can think of plenty that do not support Python, and a few that don’t support or under support C#.

1 Like

Any examples of Software Test Automation that you could give?