Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I meant alternative languages not in sense if not Java use C#. But I meant if not Java use Groovy, Jruby etc, if not HTML use HAML and so on.

Yes, there are many alternative languages available, which makes coding fun and reduce the developers works. Trying these languages is good or bad? Well learning new things never going to hurt, these alternative languages are pretty easy to read and write them.

As a student for example, using Groovy I can create a Swing based application easily and it would take very less lines of code when compared to Java. When I enter into a IT company where they use Java to build the Swing applications, will it be tough for me to build in Java(because I have used alternative languages a lot in my college days)?

Note: Example is given with Java and Groovy, but I need an answer that is common.

Hope my question is clear enough!

share|improve this question

closed as not constructive by Walter, Mark Trapp Oct 17 '11 at 19:55

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

Please can you repharse your question. Currently its not clear what your asking –  Tom Squires Oct 17 '11 at 8:05
@TomSquires : I have edited my question(as much I can) to make it clear. . . –  Ant's Oct 17 '11 at 9:14
@Ant's. Still not very clear at all. Short sentences help. Focus helps. "So my question is..." is noise. Most of the rest of that sentence is just a statement. Please write down something you don't know and you want us to tell you. –  S.Lott Oct 17 '11 at 10:24
I'm closing this as not constructive because there's no knowledge to be gained from asking should you learn alternative language: sure, why not learn them? A more constructive question could be something like "Does using an alternative language increase code reuse?" or something else specific like that. But since this question has already attracted answers to the non-constructive formulation, it'd be better off reasked as a new question. –  user8 Oct 17 '11 at 19:57

5 Answers 5

up vote 9 down vote accepted

Learn them.

Maybe one day, this knowledge will make the difference between two candidates.

share|improve this answer
+1 for the line Maybe one day, this knowledge will make the difference between two candidates –  Ant's Oct 17 '11 at 9:08
@Ant's so... +1 for basically the entire the answer then? ;) –  DisgruntledGoat Oct 17 '11 at 10:05

Imho, trying these new Languages for fun and for small projects is always good. You learn something, you keep an open mind, and: you help to field-proof them

In IT-Departments, new Languages (or technologies in general) are not adopted as fast as for educational or hobbyist use, because, when money and jobs are on the line, people tend to be a bit more conservative, and want a little proof if the language can acutally be used to successfully complete a project.

For private use, the language basically just have to compile. For professional use, it needs to be sure that

  • you can find Programmers for it, or that Programmers can switch to that Language fast enough
  • is there an ecosystem, so you don't have to reinvent the wheel for everything?
  • it will be there in 2 years? 5 years?

So, it's natural that business adopts Languages later than hobbyists. But i think, it tends to adopt the languages, that hobbyists proofed to be fit for business.

share|improve this answer

There is an old saying "Learn Lisp, it's good for your brain". In general each language you'll learn will help you see the general concepts and how the concepts in various languages relate to each other. Once you know couple of languages, picking up another one will be a breeze.

It is more useful to learn languages that are different. Learn some dynamic language, some functional, some objective (I mean really objective like Smalltalk or Ruby, not object oriented like Java), perhaps even some logical (Prolog) language. And than there are some highly influential languages that are really worth looking at just to get the concepts:

  • Lisp (with the recursion orientation and unique macros)
  • Smalltalk (being purely objective; Ruby comes close too)
  • Haskell (being purely functional and lazy)
share|improve this answer

The purpose for learning a language should be to learn "Programming concepts" and not to learn the language as an syntax etc. A good programmer is someone who is familiar with various programming concepts (both at high level and till some extent to a low level as well). Some times another programming language teach you a concept that you can use in your day to day language (sometimes it may be hard to do so, but you can always find a workaround to do it). Do not learn a language if it has the same concepts that you already know, as that is just waste of time.

Due this this point of view, my favorite programming language is - Pseudo code :)

share|improve this answer

i know you've selected an answer for this question, but here's a quick tip ... take a look at the following book : http://pragprog.com/book/btlang/seven-languages-in-seven-weeks

It gives the reader an overview of 7 different programming languages (and programming paradigm), these concepts while not all mainstream have starting to flow into the mainstream programming languages ... who knew that functional programming will be in C#?

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.