JVM languages - Scala, Groovy, Grails, Jruby
The Java platform is highly robust because the Java Virtual Machine (JVM) supports much more than just the core Java language. Application developers need to choose which of the JVM languages to run on the virtual machine. Scala, Groovy, Grails, and Jruby are all popular choices. Scala is an object oriented language designed to be highly scalable. Groovy is similar to the standard Java language with several additional features. The Grails framework leverages Groovy under a "coding by convention" paradigm. Learn about all of these Java languages and more in this topic section.
Top Stories
-
Tip
12 Jan 2023
Tips and tricks for TypeScript programming
For those new to TypeScript or for Java developers transitioning into JavaScript, these three TypeScript tips and tricks modern day software developers will come in handy. Continue Reading
-
Tip
13 Apr 2022
Either log or rethrow Java exceptions, but never do both
When an exception occurs in your Java code, you can log it or you can rethrow it -- but don't do both. Here's why you must avoid that exception handling antipattern. Continue Reading
-
Blog Post
16 Dec 2022
How to program to an interface in TypeScript
Abstraction is a key element in and domain driven design. For TypeScript developers, the ability to program to an interface helps make the concept of abstraction a reality. Continue Reading
-
Tip
13 Apr 2022
Either log or rethrow Java exceptions, but never do both
When an exception occurs in your Java code, you can log it or you can rethrow it -- but don't do both. Here's why you must avoid that exception handling antipattern. Continue Reading
-
Tutorial
30 Mar 2022
An example of how suppressed exceptions in Java work
Don't ignore suppressed exceptions. In this quick tutorial we show you how to anticipate when code will throw suppressed exceptions, along with the best practices to handle them. Continue Reading
-
Tutorial
11 Feb 2022
Fix the top 10 most common compile time errors in Java
Flummoxed why your Java code won't compile? Here are the 10 most commonly encountered Java compile errors, along with the fixes that will get your code working in no time. Continue Reading
-
Answer
15 Apr 2021
Interpreted vs. compiled languages: What's the difference?
Learn the difference between compiled languages like Go and interpreted ones like Java. One language is platform agnostic. The other can run a bit faster. Continue Reading
-
News
03 Feb 2021
Oracle adds GraalVM Enterprise to Java SE subscription
Oracle's GraalVM Enterprise compiler technology is now available to developers as part of the Java SE subscription. GraalVM increases application performance. Continue Reading
-
Answer
18 Dec 2020
Declarative vs. scripted pipelines: What's the difference?
Scripted pipelines were once the standard for CI/CD but they are nearly extinct, and since supplanted by declarative pipelines. See how they compare and when each works best. Continue Reading
-
Quiz
15 Dec 2020
Test your knowledge of variable naming conventions
What's the difference between snake case and camel case? Or kebab case and pascal case? Try this 10-question variable naming quiz to learn more about programming variables. Continue Reading
-
Tip
13 May 2020
The Ben Franklin Effect and software developer career advice
Are you a new programmer in need of a quick and simple way to blend in with your team? Here's some career advice from none other than Benjamin Franklin that might help you do just that. Continue Reading
-
Video
20 Feb 2020
How to integrate Nexus with Jenkins for simpler builds
Integrate Nexus with Jenkins in your local environment to simplify development and run build jobs with minimal headaches. Continue Reading
-
Blog Post
23 Dec 2019
Top 5 functional Java interfaces
Many developers get intimidated when they look at all the new APIs that accept lambda expressions as arguments, and wonder how they'll ever figure out which Java function to use and what the proper ... Continue Reading
-
Feature
14 Nov 2019
Ideas on how to hold a successful code hackathon
Want to host a hackathon? Here are some ideas on what a company can do to host an event that solves problems and reenergizes the organization. Just don't forget the food. Continue Reading
-
Podcast
16 Oct 2019
Java video games, like Minecraft, keep the language popular
The next generation of Java developers can learn the ins and outs of the language through an unlikely source: video games such as Minecraft. Continue Reading
-
Opinion
19 Sep 2019
Microsoft vs. IBM: A major shift in Java support
Once an afterthought in the Java community, Microsoft has seemingly overtaken IBM as the preeminent advocate among developers at the Oracle Code One conference. Continue Reading
-
Feature
18 Sep 2019
Java's popularity hinges on future developers, adaptability
Java needs to focus on the youth, adapt to emerging tech and constantly evaluate its performance to remain popular among developers. Continue Reading
-
Feature
17 Sep 2019
No doubt now about Java release cycle
At the Oracle Code One keynote, the recent track record of on-time releases and feature enhancements is a topic to boast about. Continue Reading
-
Blog Post
15 Sep 2019
10 Oracle Code One 2019 sessions to check out
If you're in San Francisco for Oracle Code One 2019, here are 10 sessions to visit to make the most out of your conference experience and chat with TheServerSide's Cameron McKenzie. Continue Reading
-
Blog Post
12 Sep 2019
How to get the most out of Oracle Code One 2019
There's a lot to digest at Oracle Code One 2019. Here's some sage advice from a conference veteran to make the most out of your experience in San Francisco. Continue Reading
-
News
07 Mar 2019
Red Hat eyes cloud-native Java future with Quarkus
Red Hat's Quarkus project aims to raise Java up to the cloud and update the popular programming language for cloud-based computing situations and projects. Continue Reading
-
Blog Post
19 Feb 2019
A simple Java Function interface example: Learn Functional programming fast
Interested in Java functional programming? The first place you need to start, especially if you use the Streams API, is with this Java Function interface example. Continue Reading
-
Blog Post
13 Feb 2019
Don't struggle to learn new programming languages
Developers need to learn new programming languages to stay ahead in their field and improve their skills. But, this can be a cumbersome process since people learn in different ways. Continue Reading
-
Video
29 Jan 2019
Install the Jenkins Artifactory plugin in 5 easy steps
Jenkins and Artifactory integration can be a major timesaver for DevOps engineers. Follow these five steps for an easy plugin installation in your CI/CD pipelines. Continue Reading
-
Blog Post
01 Jan 2019
How to use Java's functional Consumer interface example
The functional consumer interface is a key part of the Java Streams API. Here is a simple Consumer interface example to show you how to use this Java component. Continue Reading
-
Blog Post
13 Dec 2018
Learn Java lambda syntax quickly by example
Don't be intimidated by the prospect of doing functional programming in Java. This step-by-step example will help you learn basic Java lambda syntax quickly and effectively. Continue Reading
-
Opinion
07 Dec 2018
Why there's not really a best first programming language to learn
Some consider Java to be the best first programming language for developers to learn. But does it really matter? Most languages are made up of the same building blocks. Continue Reading
-
Blog Post
01 Dec 2018
Benefits of lambda expressions in Java makes the move to a newer JDK worthwhile
If you haven't used lambda expressions before, you might be wondering what the fuss is all about. After all, at the most basic level, they're nothing more than a new, somewhat simpler way to ... Continue Reading
-
Blog Post
01 Dec 2018
What is a lambda expression in Java? Where did the term 'lambda' come from?
What is a 'lambda function' and more importantly, where did the term 'lambda expression' come from? Here we look at the basics of lambda functions in Java and computer science. Continue Reading
-
Blog Post
01 Nov 2018
Reinhold advocates adding fiber to your Java diet in Oracle Code One keynote
What's new in the Java ecosystem? Well, Project Amber, Loom, Valhalla and Panama to name just a few. Continue Reading
-
Blog Post
01 Nov 2018
Ballerina language promises to improve app integration
The Ballerina language, promises to streamline integration development for enterprise apps. Continue Reading
-
Feature
30 Oct 2018
This history of GitHub and Java's role in it
Ruby played a big role in the history of GitHub, but Java now plays a bigger part. At Oracle Code One, GitHub engineering manager Rafer Hazen provided plenty of reasons why. Continue Reading
-
Blog Post
23 Oct 2018
Lamenting the death of JavaOne at Oracle Code One 2018
The JavaOne conference is no more, but that doesn’t mean we can’t lament its death at the new Oracle Code One conference in San Francisco. Continue Reading
-
News
29 Aug 2018
Developers favor JVM languages for mobile, enterprise
A recent RedMonk report finds more developers use programming languages that run on the Java Virtual Machine to build mobile and enterprise apps. Continue Reading
-
Blog Post
17 Jul 2018
Get started with GoLang maps: A tutorial
Object oriented programming has been the standard for years, but more and more use cases are demanding a functional programming approach to solving problems. In this tutorial, we will look at ... Continue Reading
-
Blog Post
25 Jun 2018
An introduction to Scala functional programming
Object-oriented programming has been the standard for years, but more and more use cases are demanding a functional programming approach to solving problems. In this tutorial, we will look at Scala ... Continue Reading
-
Blog Post
15 Jun 2018
Introduction to Scala for enterprise Java developers
This introduction to Scala programming will introduce you to a new way to program one the JVM. Scala rides atop the Java virtual machine. In compiles into Java bytecode. It can be packaged in Jar ... Continue Reading
-
Blog Post
13 Jun 2018
ObjectOutputStream example: A Java object serialization tutorial
Java object serialization is a feature of the JDK that is far too often overlooked. When a developer puts together a prototype or cooks up a proof of concept, simply saving a serialized Java object ... Continue Reading
-
Feature
29 Mar 2018
Java versioning: Why Java 10 maps to version 18.3 of the JDK
When it comes to Java versioning, things have never been straightforward. Java 2 mapped to JDK 1.2. Java 5 mapped to JDK 1.5. But how did Java 10 end up mapping to JDK 18.3? Continue Reading
-
Blog Post
22 Mar 2018
Why the new Java 10 features list is so small
Was it just me, or did the Java 10 release just creep up on everyone? Given, a March release for Java 10 was planned a long time ago, but given Oracle's spotty history in terms of pushing out ... Continue Reading
-
Feature
20 Mar 2018
Rust and Python top list of most popular development languages
A new Stack Overflow survey of over 100,000 developers indicated Java and JavaScript are not as popular as they had been before. Find out what developers really want to program with. Continue Reading
-
Tutorial
16 Jan 2018
What Java developers need to know about TypeScript syntax
For Java developers transitioning into JavaScript frameworks, like React and Angular, this TypeScript tutorial on syntax will help make the transition easier. Continue Reading
-
News
02 Oct 2017
Keynote speakers open up at JavaOne 2017
From the release of JDK 9 to the open sourcing of serverless programming technologies, the JavaOne 2017 keynote paved a path for a progressive future. Continue Reading
-
Feature
28 Sep 2017
JavaEE 8 and Java 9 trending large at JavaOne 2017
What are the big trends in the Java world today? Just look at the JavaOne 2017 schedule and you'll see it goes way beyond just JavaEE 8 and the new Java 9 release. Continue Reading
-
News
29 Jun 2017
IBM, Lightbend team up on cognitive application development platform
IBM and Lightbend join forces to help bring microservices to IBM's WebSphere platform, with new Scala- and Java-based tools for cognitive application development. Continue Reading
-
Blog Post
19 Apr 2017
Java 9 will finally give the term 'deprecated' meaning
They are finally pruning away deprecated methods out of Java 9. The deprecated value will now have deprecated meaning. Continue Reading
-
Opinion
24 Mar 2017
Does reading XML while writing JSON make me a bad person?
I'm always writing JSON code, loving its flexibility and forgiveness. But when I call an external service, I want to be reading XML. Does that make me a bad person? Continue Reading
-
Feature
01 Dec 2016
From chatbots to IBM's Watson: How software deals with conversational language
The next big thing in software development is conquering the conversational language development hurdle. Here's how the big players are currently doing it. Continue Reading
-
Feature
29 Nov 2016
Conversational UI approaches pushing AI development forward
Find out about the latest AI conversational UI approaches available for developers today from Apple, Amazon, Google, IBM, and Facebook. Continue Reading
-
News
21 Sep 2016
The future of Java promises a cleaner, more readable syntax
Java has always been derided as being too verbose, especially when compared with languages like Groovy or Scala. But, according to Brian Goetz, that's all about to change after Java 9. Continue Reading
-
Feature
12 Sep 2016
How wearable apps are influencing the future of software design
As new wearable applications are constantly emerging in the marketplace, their development and design are changing how software is being written. Experts discuss the future of apps. Continue Reading
-
Opinion
22 Aug 2016
The reasons the COBOL language is irrelevant -- and why Java's okay
Word in the Java community is that it is slowly becoming outdated. Some beg to differ, including those who suggest that COBOL is the dying language. Continue Reading
-
Blog Post
07 Aug 2016
A cheat sheet for Java exceptions
A collection of tips and insights for handling Java exceptions Continue Reading
-
Feature
25 Jul 2016
Java evolution into a functional programming language reflects demand
Many changes have come to the Java languages over the years, with Project Coin and lambda support making it more of a functional programming language. Continue Reading
-
Feature
06 Jun 2016
Java's lambda syntax rigidity exposes spoiled programmer's frailties
Consternation over Java's lambda syntax is the perfect example of how Java's evolution and incremental improvements have created a community of spoiled programmers. Continue Reading
-
Feature
24 May 2016
Best programming languages for enterprise development
There's no shortage of choice when selecting the best programming languages for back-end apps. Learn what the ultimate decision depends on. Continue Reading
-
Feature
23 May 2016
Why Java is the most popular programming language
Roger Smith examines why 20 years after its release, Java tops the TIOBE index as the most popular programming language. Continue Reading
-
Feature
30 Mar 2016
Kotlin makes a splash in the crowded pool of peripheral JVM languages
From Groovy to Scala, there is no shortage of peripheral JVM languages from which to choose, but JetBrains' Kotlin provides some compelling features that just might make it right for your next project. Continue Reading
-
Podcast
15 Mar 2016
JVM language Kotlin simplifies Android app development
JetBrains, a company known for its popular IntilliJ and RubyMine IDEs, has released Kotlin, a new JVM language set to simplify both server-side and Android-based development. Continue Reading
-
Tutorial
29 Jan 2016
How to use Java conditional statements effectively
Our first tutorial on learning Java left room for improvement. Here are ways to use Java's if, else and switch statements more effectively. Continue Reading
-
Tutorial
29 Jan 2016
Comparing Java and JavaScript: Advanced conditional logic
How do the conditional logic semantics of Java and JavaScript compare? In a browser versus JVM language comparison, this is one place where the two languages are very similar. Continue Reading
-
Tutorial
29 Jan 2016
This Java programming example will help you learn the language
Learning Java in a way that is both fun and effective is possible. In this tutorial, we take a problem-based approach to developing a stand-alone Java application. Continue Reading
-
Tutorial
29 Jan 2016
Learning modern programming languages like Ruby made easy
Interested in learning Scala, Ruby, Java or JavaScript? Do you want to learn one of these modern programming languages quickly? Here's a strategy to help you do just that. Continue Reading
-
Tutorial
29 Jan 2016
Learning Ruby for Java developers: A comparative tutorial
This comparative tutorial helps you learn how to program in Ruby, while also showing differences and similarities with Java. Continue Reading
-
Tutorial
29 Jan 2016
How to perform conditional logic effectively with Ruby
Our first Ruby versus Java tutorial offered some refactoring opportunities. Here we look at using Ruby's if, elsif and case statement more efficiently. Continue Reading
-
Tutorial
29 Jan 2016
Understanding JavaScript for the Java developer
After writing a simple application in a Java tutorial, we now move to the world of JavaScript, contrasting the languages to make the learning process easier. Continue Reading
-
Feature
13 Jan 2016
Why learning Scala, JavaScript and Ruby will make you a better Java developer
Obviously a JVM stack developer is going to know Java. But in this world of polyglot programming, knowing a bit of JavaScript, Ruby and Scala as well is a must. In fact, it might even make you a better Java developer. Continue Reading
-
Feature
22 Dec 2015
Learn why Azul Zing is the Editors' Choice for Innovation
Azul Zing collects garbage out of enterprise Java workloads. Learn more about this innovative product. Continue Reading
-
Feature
10 Nov 2015
Containers and microservices take center stage as Devoxx 2015 kicks off
Containers like Docker, and microservice development, are the big topics at Devoxx 2015, but with more session rooms than every, there's plenty of other great fare for Java professionals. Continue Reading
-
Feature
01 Nov 2015
Valhalla and value types to change the way developers code in Java
In 2014, just as Java 8 was released, JavaOne was looking towards the future and talking about what was coming with Java 9. In 2015, Java 9 is still in the future, but that hasn't stopped the architects at Oracle from prognosticating about what might get included in Java 10. Continue Reading
-
News
15 Oct 2015
Barry Burd's guide to the best sessions to attend at JavaOne 2015
Going to JavaOne this year? Wondering which sessions to attend? Conference veteran Barry Burd is here to help guide your way through Oracle's big conference in San Francisco. Continue Reading
-
Feature
07 Apr 2015
Google's Project X: Solving the worlds problems, one moon-shot at a time
Using the ambitious plans to put humans on the moon as a source of inspiration, Google is asking young minds to come up with their own 'moon-shots' that approach solving important problems in new and creative ways. Continue Reading
-
News
18 Mar 2015
Java 9 promises modularity and new value types
Modularity and new value types could come with Java 9. This could mean improved startup performance and easier programming of arrays. Continue Reading
-
News
13 Nov 2014
Devoxx officially kicks off with Spring, Java EE 8, lambdas and value types
As Devoxx 2014 officially kicks off, Geertjan Wielenga is there to tell us exactly what's hot at this year's conference. As one might expect, the Java EE versus Spring debate never goes away, but this year is about so many more things, from Scala to Docker, than that. Continue Reading
-
Feature
15 Oct 2014
Choosing the right log aggregator to mine your performance data
To maintain and improve an existing system, being able to read and understand log files is an absolute requirement. Here we look at how various logging technologies compare with each other. Continue Reading
-
Tutorial
31 Aug 2014
JSF Tutorial: Completing the Ajax based Facelets application
If you're using JSF, you're probably using Facelets, and if you're creating modern web based applications, you'll likely want to use Ajax based request-response cycles. Here we conclude our tutorial on JavaServer Faces, Facelets and Ajax based programming. Continue Reading
-
Tutorial
19 Jul 2014
An introduction to template building with Facelets, CSS, HTML and JSF 2.2
Facelets is a great technology for creating templates for websites and then adding dynamic functionality. In this tutorial, we will introduce the idea of creating a template page with CSS, HTML, JavaScript and JavaServer Faces 2.2 (JSF). Continue Reading
-
Feature
09 Apr 2013
Alternative JVM languages: Scala explained
Watch this video lesson to learn the benefits of exploring the JVM alternative language Scala. Continue Reading
-
Feature
23 Aug 2012
How cloud computing is impacting enterprise Java developers
How do cloud computing technologies impact the day-to-day development patterns of typical Java developers? Continue Reading
-
Feature
01 Jun 2012
Scaling Web applications with Scala, Clojure and Groovy
Scaling Web applications written in Java can be difficult due to thread concurrency and locking issues. However, immutable peripheral languages like Scala, Groovy, and Clojure can make scaling up more feasible. Continue Reading
-
Feature
31 May 2012
Why Java applications fail to scale linearly: A simple explanation
The process of scaling up Java applications often runs into the problem of diminishing returns, where adding another processor no longer adds significant benefit. Why won't Java programs scale? Here's your answer. Continue Reading
-
Feature
30 May 2012
Java EE 7 migration: Risk mitigation strategies
Some enterprise Java shops are weighing the risks of a migration to Java EE 7 against the potential benefits, which are incremental and cloud focused. Continue Reading
-
Tip
26 Jan 2012
Java 7 and the intricacies of safe and unsafe casting
One of the problems with casting is that it does have the potential to cause a loss of precision, especially if the number that gets cast does indeed fall outside of the range of the target type. Here we will explain why this happens. Continue Reading
-
Feature
26 Jan 2012
Has Computer Programming Really Changed Much Since Lovelace's Time?
Everyone always talks about these new computer programming languages, and how great one is over the other. But really, has computer programming really changed that much over time? Continue Reading
-
Tutorial
12 Jan 2012
New Java 7 Features: How to Use a More Precise Rethrow in Exceptions from Project Coin
Afficionados of other languages such as Scala or Clojure are always slagging the fact that Java is too verbose and cumbersome. So, it's not too surprising to find out that Java 7 introduced a number of new facilities that can help to trim down the code an application developer is required to write. Continue Reading
-
Tutorial
22 Dec 2011
New Java 7 Features: A Numeric Underscores with Literals Tutorial
If you're doing the OCPJP upgrade exam, or just hitting the full blown OCPJP 7 Java certification, you need to know the ins and outs of the new language features. One fun and friendly syntax introduced with Java 7 is using numeric underscores. It's also an objective on the OCPJP7 exam: Using Numeric Underscores with Literals Continue Reading
-
Tip
15 Mar 2011
Dependency Injection in Java EE 6 (Part 6)
In this last article of the series, we will cover portable extensions, available implementations as well as CDI alignment with Seam, Spring and Guice. Continue Reading
-
Feature
01 Feb 2011
Scala and the cloud
As the cloud becomes more popular, so does the functional programming language Scala. Don't worry though, it's Java compatible and it runs on a JVM. So why are people using it? Perhaps because it's so functional. Continue Reading