Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Dynamic Language Shootout: Groovy vs. Jython vs. JRuby

Travis Jensen has an interesting post titled Our Dynamic Language Shootout:

For a variety of deployment reasons, we've decided that whatever we choose will be deployed on the JVM. As a result, this comparison is for the JVM versions of the languages, e.g. JRuby, Jython, and, of course, Groovy, which has no other deployment option. I want to also clarify that I have the most experience with Python and I really like the language. There is no doubt that the language influenced me in my evaluation, but I really tried to remain objective in spite of that.
As I did the evaluation, I tried to come up with a broad spectrum of important information. Others at my company gave feedback on the important characteristics. In the end, these are the features that we felt were most important: the interaction between Java and the selected language, the IDE support, the learning curve, existing web frameworks, and the existing community support for the JVM implementation of the language.

His conclusion: Groovy.

I don't think it should surprise you at this point that we chose Groovy. Even being openly biases towards Python first and Ruby second (hey, it's cooler :), I could not, in good conscience, choose either of them for melding into our existing environment.

If I were starting from scratch on a project, my choice would be very different. If I wanted to target the JVM, I would choose JRuby (at least until Jython 2.5 and Django are available); if I wasn't targeting the JVM, then it would be, for my Python, but I'd be equally comfortable choosing Ruby.

Well written Travis - I look forward to reading more about the new life you're breathing into your stilted development practices.

Posted in Open Source at Feb 20 2008, 12:08:29 AM MST 12 Comments

Nice article but I wonder why not mention Scala as a JVM language? I am going to choose between Groovy, JRuby, Jython, Scala, Erlang and Scheme as new year's language (I know they are not so much interrelated: just wanna to extend my skillbox with different tools) and have many similar metrics as Travis.

Posted by Ashkan on February 20, 2008 at 10:19 AM MST #

In the article, Travis says "Scala is an interesting option, but we did not feel that we were ready for that significant of a switch."

On a related note, it seems that other Scala enthusiasts agree it deserves more respect.

Posted by Matt Raible on February 21, 2008 at 12:41 AM MST #

Scala is a statically typed language. Why is it showing up in a dynamic language shootout?

Posted by Shashank Tiwari on May 30, 2009 at 06:10 PM MDT #

Scala is a statically typed language "and is a" dynamic language , and it deserves to be in a dynamic language shootout.

Posted by Bien Benigno on June 11, 2009 at 05:35 AM MDT #

@Bien: Could you please explain why you would consider auto type inference the same as dynamic typing?

Posted by Shashank Tiwari on June 11, 2009 at 10:09 AM MDT #

@Shashank: Let me google that for you.

Posted by Bien Benigno on June 19, 2009 at 07:18 PM MDT #

@Bien: Very kind of you to send those Google links but how does it answer my question my friend. It appears to me that you either don't understand the concept of "typing" clearly or don't know enough about Scala. In either case Scala is a statically and strongly typed language. It supports type inference and has many other benefits, primarily emerging out of its support for OOP and FP. It's support for case classes provides for an Erlang style Actor based concurrency model (which is quite effective in some scenarios). Its a great language and I have spoken about its benefits at a few software development conferences (like SD Best Practices) myself. However, it is not a dynamically typed or a dynamic language. It does not even claim to be a dynamic language and is very proud to be a productive and effective statically typed language. There is nothing wrong with static typing and Scala in some ways proves that point that if implemented properly static typing works just fine. Instead of googling and sending links of half baked blog posts, consider going to and read the free online tutorials. It will do a lot of good to you.

Posted by Shashank Tiwari on June 19, 2009 at 08:32 PM MDT #

@Shashank: Now that's very informative. I'll try to delve in deeper to learn about Scala. I want to ask what particular IDE do you use for Scala? Eclipse and Netbeans plugins seems problematic for Scala, and I don't want to use plain text editor for real projects. Thanks for the comprehensive information my friend.

Posted by Bien Benigno on June 19, 2009 at 08:57 PM MDT #

@Bien - the LinkedIn Scala developers use IntelliJ IDEA.

Posted by Matt Raible on June 19, 2009 at 08:59 PM MDT #

@Bien: Eclipse Scala IDE is fraught with problems. In terms of an IDE for Scala -- IntelliJ is as good as it gets at this point

Posted by Shashank Tiwari on June 19, 2009 at 09:11 PM MDT #

Thanks guys!

Posted by Bien Benigno on June 19, 2009 at 09:14 PM MDT #

@Bien: If are a complete newbie start with "Scala by Example", which is available online at

Posted by Shashank Tiwari on June 19, 2009 at 09:26 PM MDT #

Post a Comment:
  • HTML Syntax: Allowed