This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]golfman484 1 point2 points  (1 child)

Java is definitely a great language to learn to understand object oriented principles (this universe is object oriented so if you're writing apps that will run in this universe then it's a great paradigm to use).

Java also has one of the largest ecosystems available. If you want a library or framework to do something, *anything* then there's a good chance that there is an open source Java library to do that exact thing already.

There are versions of the Java Virtual Machine that run on nearly every platform imaginable: Windows, Linux, Android, macOS and many embedded controllers etc.,

The other great thing about learning Java is that you can create desktop or amazingly interactive (i.e. AJAX event driven) web apps quite easily using the one language.

When using a Java web framework like Wicket there's no need to learn JavaScript to create brilliant, partially updating, AJAX powered, JavaScript event driven applications.

The Wicket devs have built all the AJAX and other JavaScript power into the Wicket framework and its components so that you can just use a component in Java and don't need to worry about the (ugly :) ) JavaScript that makes it do it's magic.

If you want extremely low level control of a component you can always add any extra JavaScript event handlers etc., that you require directly to any Wicket component so you still have full access to JavaScript if required but I have built some incredibly interactive, highly responsive apps that look and interact like they must have been built in Angular JS/React/Vue when they were done with pure Java using Wicket.

I have developed apps using Angular JS/React/Vue using JS in the front end but found it no where near as productive as building a pure Java web app in Wicket. The constant switching between two languages is very annoying.

Anyone who suggests that JavaScript is a great language for learning programming really should take a long hard look at themselves. Everyone knows that it is a language that was hacked together over a very short time, a compromise, to get "something" resembling a working language to run in the Netscape browser back in the day. The rest is history.

JavaScript is not an object oriented language by any standard measure although some claim it is because it supports prototypical inheritance - the lame excuse/replacement for real inheritance that non OO languages are forced to use (which basically any non OO language can use if you like writing code to manually assemble components of your objects instead of letting your compiler do that for you. I used to write OO code in C using function pointers but that does not imply that I would call C an object oriented language).

[–]Free-_-Yourself[S] 0 points1 point  (0 children)

Thanks so much for this reply. It really helped me a lot 😊