Over a million developers have joined DZone.

To Polyglot Or Not To Polyglot?

· Java Zone

Discover how AppDynamics steps in to upgrade your performance game and prevent your enterprise from these top 10 Java performance problems, brought to you in partnership with AppDynamics.

Andres Almiray in his recent post How many times are we going to "kill" Java is advocating "polyglot programming". I think that the topic is not very simple and it may depend on the situation, environment, developer skills, number of people in the development team etc. We are real developers and need to make real decisions on what to use or not. So, here I would like to suggest everybody to post their opinions and real uses cases where they consider polyglot programming to be good or bad. Please be critical and honest. I'll start with my use case:

I do quite a lot of Swing-based application programming with a remote backend. On the other hand there are a lot of projects using Java on the server side and HTML, JavaScript on the client. When I compare debugging possibilities for both cases I see a very big advantage of the usage of the same language on the client and server. E.g. debugging of Swing application which calls some remote Java method I can do quite easily because:

1. I can do step-by step debugging from client code to server code and back in a single debugging session (server must be executed in the same process)

2. I can use only one IDE for debugging instead of bunch (Firebug, Eclipse or whatever)

3. Mapping between variables is transparent because I have Java at both sides! I don't have to think which Java type is mapped to which in JSON or in some Webservice

Personally I didn't work with Groovy + Scala + Whatever +Java mix programs but I suppose that similar problems with debugging could appear.

Your opinions, use cases guys?

(I didn't posted it as a comment to Andreas's post because I'd like to stress attention on use cases.)

The Java Zone is brought to you in partnership with AppDynamics. AppDynamics helps you gain the fundamentals behind application performance, and implement best practices so you can proactively analyze and act on performance problems as they arise, and more specifically with your Java applications. Start a Free Trial.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}