views:

3882

answers:

28

What would make you to switch to Scala ?

If you are negative on the switching to Scala, please state the reason as well (or upvote).


As with all StackOverflow Poll type Q&As, please make certain your answer is NOT listed already before adding a new answer

  • If it already exists, vote that one up so we see what the most popular answer is, rather than duplicating an existing entry.
  • If you see a duplicate, vote it down.
  • If you have interesting or additional information to add, use a comment or edit the original entry rather than creating a duplicate.

Edit: More discussion on Reddit.

+11  A: 

Not familiar enough with Scala to move to it.

James Black
so when you learn scala you will move to it?
martin
@martin: that question obviously can't be answered, because if you're not familiar with it you don't know its strengths and weaknesses so you couldn't make a informed decision until you've learned (at least some) Scala.
Joachim Sauer
+6  A: 

My observation of others, as I wont code on the JVM w/o Scala personally.

1) Familiarity - FP, even a FP hybrid, can be disorienting for an OOP programmer.

2) Many programmers are "conservative" or, in Myers-Briggs typing, "preservers" - The status quo has been good enough for X years, why change it?

3) Mastering new languages takes time.

4) Scala is still evolving as a language while Java proper is relatively stable in terms of language design.

Why I did make the switch.

1) I like FP already - I love Haskell, for example.

2) I prefer composition over inheritance, and Scala is a good fit for this type of thinking.

3) I like Erlang's actor model, and prefer it to manual thread management

Shaun
why not #1 is right on... I consider myself a pretty good programmer, but reading FP gives me vertigo! I get that it's a lack of exposure, but I have a hard time wanting to even try it--- although I do like what I've seen of Erlang and think I'd move to that before any others.
David
Yeah, that was from my own experience. Haskell made my head spin at first (came from C++), and almost dismissed it out of hand. I kept at this though cause I'm stubborn. The good news is that FP language generally all to the same thing, just in slightly different ways. If any one catches your eye and you decide to learn it, then employing another FP language becomes relatively easy.
Shaun
Re #2: I think the real conservatives here are those of us who have to target the JVM, and use a Lisp dialect. That's a status quo that's been good enough for more years than just about anything. :-)
Alec
Scala supports a number of functional constructs and syntax. However, I think it's somewhat unfair to say it "is FP". It is really OOP with FP, vs. say, F# which is FP with OOP. (That is, Scala approaches the OOP model from a *similar* approach as Java or C#).
pst
Well, I called it a hybrid language (point #1). Whether that's an OO language with FP constructs or a FP language with OO constructs really doesn't matter in practice. Also, two things all "FP" languages share. 1) Functions as first class citizens in the lang (a must by definition). 2) Pattern matching. Scala provides both of these.
Shaun
The "status quo is good enough, why change it" is actually a very valid point. There is usually _REASONS_ why the status quo was chosen originally, and any change away from that needs to account for those reasons. Also it is very cheaper to maintain existing code than rewriting code anew.
Thorbjørn Ravn Andersen
I feel that I may be a bit of an odd programmer if this list is anything to go by. I use Java for university, but PHP and Javascript at work, so I'm constantly switching from OO to procedural to functional programming. While I'm not fond of procedural programming, I like the power of functional programming and the encapsulation of OO, so scala is perfect for me.
Aatch
+9  A: 

Although Scala is perhaps a better language than Java, it is obscure. It seems highly unlikely that Scala will ever become big like Java. Scala needs to become, or look as if it will become, big before I will switch.

Tom Hawtin - tackline
There are actually two reasons here: obscurity, and popularity.Can we split it?
Łukasz Lew
I'm really using obscurity as an antonym for popularity (or a euphemism for unpopular if you prefer).
Tom Hawtin - tackline
"With great power comes great responsibility." Bad programmers will write bad code in any language, but powerful languages might even amplify the effect. But on the other hand, it also allows skilled programmers to write better code. It's a double-edged sword.
Esko Luontola
Why is Scala obscure? Why does it seem highly unlikely that Scala will ever become big like Scala? Your answer would be worth much more if you'd provide arguments for your statements.
Jesper
A: 

I'm not switching from Java to Scala because I don't use Java.

MusiGenesis
are you html programmer? you must be since you came to topic about scala and java.
martin
If you have no interest in Scala or Java, then why are you reading and responding to this question?
Jesper
Because I'm hurt that no one asked me why I'm not switching from C# to Scala. You snooty Java types seem to think that Java is the only language worth giving up. Well I'm here to tell you that C# sucks too.
MusiGenesis
It is true that scala can be used with the .net clr, so it might be appropriate to ask people why they don't switch from c#, vb, or ironpython to scala.
Peter Recore
I am surprised, C# has closure, what simple thing is hard to do in C# and not in Scala? how would you improve this language ?
Nicolas Dorier
@MusiGenesis...so why does C# suck?
ShaChris23
+11  A: 

My employer is heavily invested in Java is unlikely to move. Using Scala significantly would probably involve changing company, which I do not wish to do (although I'll consider offers).

Tom Hawtin - tackline
I'll be honest that this one doesn't make sense to me. Would it be fair to assum its far more likely that your employer is heavily invested in the Java _Platform_, and may well be open to anything with compatibility with the JVM?
Shaun
That's a trendy point of view, but one that I think is bogus. I care more about programmers than a relatively cheap VM implementation (you could even give it away) and a recompile.
Tom Hawtin - tackline
It doesn't explain the "heavily invested" statement though. And I don't think "trendy" is appropriate. I wasn't attacking your answer, which I think is valid, I just don't genuinely understand it. If you look at .Net shops, for example, what they really care about is whether the app runs on the .Net runtime. Generally speaking, I haven't found shops that insist code must be in in VB.Net or in C# or whatever. The value statement is that it run ".Net". But that may be just my own experience.
Shaun
if i write code in scala and im sick than the company will have to wait for me to get better to fix it, because people will be scared to touch it. i think not many .net shops allow you to use any language since you can quit next week and they would be ... not very happy.
martin
I see. The assumption then is that you'd be the only Scala developer in-house? I get that. It's like being the only C++ guy in a .Net / Java shop.
Shaun
we used groovy for small script parts of our code and most people use it like java with properties and they dont care about any other groovy feature. they would not understand adv scala code.
martin
+6  A: 

Already seduced off of the JVM by Python. If I needed do do something on the JVM, I'd try to do whatever in Jython.

Anon
Let's include JRuby as well in this answer.
Łukasz Lew
I'm going to list Clojure as a separate answer because while Python and Ruby are their own languages also, Clojure, like Scala, originally targets the JVM.
Imagist
+6  A: 

Java is a proven development environment for about 15 years or so. Scala is new. Why move to something new when we already have something reliable?

Workshop Alex
Why would anyone have first moved to Java when COBOL had proven itself for 35 years? The claim is that "the something new" is better than "what you have". People should soberly evaluate that claim, but simply dismissing all new technologies with "what I have works, so why should I change?" will almost inevitably lead to commercial disadvantage.
Matt R
Actually, no one really moved from COBOL to Java.Java just opened up new technologies. Just like no one moved from e.g. Delphi Pascal to .NET c#. The old code is still done in these old languages. COBOL is still very much in use. But Java and .NET offer new technologies, especially related to the Internet. They aren't competing with older technologies but are making new things possible. That's progress! Offering a new way to do an existing technology isn't progress. It's a risk which provides no gain.
Workshop Alex
You appear to be implying there are only two possibilities: either a language allows you to do something completely new, or else it has no benefit whatsoever over existing ones. That's a false dichotomy: a language might simply let you do existing things better. Suppose, for the sake of argument, using a new language would halve your development costs. Would that be a "risk which provides no gain"? I'm not claiming such advantage for Scala, but I do feel a reasoned rejection should go beyond "I don't like new things" or "Scala is identical to Java".
Matt R
If a language allows me to do something better, it is doing something new. But it wouldn't be immediately used since there's already a lot of work done with existing solutions. Just take a look at .NET, which did offer something new, yet it still took a while and a lot of pushing from Microsoft to become as popular as it is now. And .NET did offer to reduce development costs a lot, but no one wants to start over and redesign their current projects. Most used .NET to create something new. Maybe similar to the old projects yet still new, with new techniques.
Workshop Alex
It's not that I dislike new technologies. I love them and have learned to embrace them, but only when they've proven their value. There are more new technologies designed every day than the number of farts from the average cow. And most just stink, since they're not really improving things. In general, most people are already working with certain technologies and switching to something new is risky and time-consuming. The true value is only gained when the new technology allows adding new features faster than the older technique. And it's better if they can be combined.
Workshop Alex
+13  A: 

While Scala has lots of interesting features that make it much more concise than Java (e.g. functions as first class objects and easier object literals), the syntax is too short and cryptic for my taste. The verboseness of a language should be aimed at the optimal ease of reading / understanding code for reviewers and maintainers, with a little bit of concession towards code writers but they only have to create code once.

I wish there had been an intermediate language between the two.... my preference would be something like Javascript with types (i.e. the not-yet-implemented Javascript 2.0) if it were compiled at compile-time, rather than compiled-at-runtime-and-interpreted. Javascript object literals ({a: "ha", b: [1,2,"spiffy"], c: function(x) {return 2*x}, d: {xx: 22, yy: null}}) are both readable and concise, and e4x is the same way towards XML.

Jason S
Almost wrote a similar reply, I strongly agree with the cryptic syntax argument!
Esko
Please provide few examples of cryptic expressions in Scala. Maybe what is cryptic for you is not that cryptic for others. Or maybe you just didn't used to the syntax :)
Alexey
A: 

It has such an ugly syntax, and if you don't wanna code Java in it, you'll get unreadable code. So, no win.

Geo
there is some true in that, writing bad code in scala is easier and yoru IDE wont help you in refactoring.
martin
This answer surprised me. Scala isn't exactly on my list of "pretty" languages, but in a contest between Java and Scala, I would definitely say that Java has the uglier syntax.
Imagist
If you're going to give subjective viewpoints, back them up with examples, and comparisons with what is "better". If you don't, this is all so much FUD.
oxbow_lakes
I think "ugly" here is referring to complexity. Learning Scala for Java programmer is like French vs. Chinese - it's just hard to wrap a brain around. Look for someone assemble Rubik is trivial too.I would laugh my butt off watching 85% of my work force trying to learn it - they program for years and still use copy/paste as most frequent design pattern
DroidIn.net
@DriodIn.net Actually, I find Scala *much simpler* (barring the various corner cases) as a language than C# and just slightly more complex than Java. Really, if one of your "programmer" peers can't learn Scala, I feel for you :(
pst
Unreadable is usually coupled with the usage of non-alphanumeric characters in the source. The most readable code I've seen, was written in Cobol...
Thorbjørn Ravn Andersen
+2  A: 

I think the biggest problem with Scala is that its one of the new languages on JVM. If I had moved to jRuby/Groovy/etc in the past would I now be re-writing that code in Scala? Should the whole team know all languages for JVM? Until there is one single best(most popular) language for JVM moving to it is not a good idea. Next week there can be another great language that could make scala look like really weak language. people should stop inventing languages for JVM, because they are hurting adoption of existing languages. if they have cool idea than put it in scala or groovy.

martin
Łukasz Lew
So if James Strachan says he would rather earn his existence by writing machine code from now on, will you make a poll about that too?
Geo
c'mon Geo, hes just saying that scala is better language. however groovy is backed by spring and jboss(i have used groovy in jboss products) and that make it better language for enterprise(since APIs are already there).
martin
Look at how many people use Groovy, and how many people use Scala. Judging by that, Scala's not the better language.
Geo
I think this answer sums up my own views. 2 years ago Groovy was the language de jour. Today it's Scala. I'm going to wait until Scala is a little more mature (not technically, but in the literal sense) before investing serious time in it.
Brian Agnew
Scala and Groovy are entirely different languages (the entire approach to typing is well, entirely different) and it is not really fair to compare them. I prefer Scala because, well, I like decent static typing, but that's just what I like in a language. Groovy is more comparable to Jython or JRuby.
pst
+8  A: 

Team inertia is the biggest problem: we have spent a lot of energy recently moving most of our code away from scary Perl & C CGI stuff to slightly less scary things in Java. Another paradigm jump to a FP-style language would be too much. (And, of course, politics is as much a part of this as the technical considerations)

jlc
What kind of politics?
Łukasz Lew
Management where I work tends to favor homogeneous environments and is rather risk adverse. Not being Java is enough to make them worry a bit. We've had the same problem with JRuby/Jython/Groovy; management wants to be sure that if a bug comes in they could find someone who groks the code, even if those of us interested in other languages are out. (I should note that this is true for production systems, not every last bit of code the team writes)
jlc
Good explanation, thanks.
Łukasz Lew
+20  A: 

This is like the "Why not D instead of C++?" question.

The newer language is in many ways superior, but until a language gains a critical mass of mindshare, there is not much point in switching. The mature tools, IDEs, open source apps, frameworks, operating platforms, jobs, fellow programmers, etc., etc., are all in the more dominant language.

Of course, it's a chicken/egg question, because somebody has to make the leap to the new thing or we never advance. Unless you want to work in a vacuum though, there is little benefit in being on the bleeding edge.

Buggieboy
frameworks? Can't scala use all of the numerous java frameworks?
CrazyJugglerDrummer
I agree with CrazyJugglerDrummer, this is one of Scala's strengths. You can deploy your Lift applications on any Servlet Container, use Spring for DI and handle your High-IO Applications with MINA just to name a few. Java Compatibility rocks. And its not limited to Frameworks.
Malax
+6  A: 

I've dabbled in JVM languages and have at least a passing knowledge of all the major ones. From what I've seen, I am more tempted by Clojure than by Scala. As soon as I learn Haskell a little bit better, I'll be starting in on Clojure.

Imagist
why do you prefer Clojure?
Łukasz Lew
It's a LISP, giving it clean syntax compared to either Java or Scala. Persistent data types and laziness are pervasive.
Imagist
It's probably related to the reason that Lisp is more popular than ML.
Alec
+9  A: 

The main concern -- EDIT: for us for even considering -- moving from Java (the language) to any other language on the JVM is sheer maintainability. We create very long lived programs so we need to be concerned about future employees being able to look at the code base, understand it and enchance it.

So far the standard Java distribution has proven to be very robust and maintainable, so the incitament to look for something "better" is very small. Please note, that this includes everything inside the standard Java distribution, so it is perfectly fine to use XSLT to generate a complex web page or a regular expression (a language on its own) to split a string.

Using a "new" language is tempting but what if it fails to catch momentum and turns into another old, unmaintained, unused language that you are the only one in the whole world using? Just being in fashion does not mean it stands the tests of time, so you need to be careful.

Oh, by the way - consider which job is most attractive to future employees: "The main application is written in Java" or "The main application is written in Java, Prolog, Haskell, Lisp and Visual Basic" (where the Visual Basic compiler is written inhouse and you need to maintain it). Just a thought :)

Thorbjørn Ravn Andersen
A very well written answer. However, many businesses owe their advantage to working with a fast-moving language that allowed them to reduce their time-to-market and they care little about the job market if they are small. The "common denominator" is not the right choice for everyone.
oxbow_lakes
I edited my answer to indicate that this is _our_ viewpoint, as we have customers whose business depend on our product. For those who need all the agility they can get this is most likely different, but then you would not chose a Javabased platform. They are for big trucks, not racer cars. See http://www.paulgraham.com/avg.html for a good article about using Lisp as a secret weapon for a start up.
Thorbjørn Ravn Andersen
The obvious answer to the employees is the place that does Java, Prolog, Haskell, Lisp and Visual Basic. I'd think this would be a pretty decent filter for where people would be happy. My assumption would be that virtually no one would choose the pure Java shop though.
James Moore
@jamesmoorecode, I believe I was not explicit enough that the various languages were chosen by inexperienced coworkers which implemented the projects in a COBOL mindset, and have since left, and nobody remaining knows those languages. Hence it is your job as the new guy to lift the burden.
Thorbjørn Ravn Andersen
+41  A: 

Lack of mature IDE support. Scala is still quite much behind Java in its IDE support, although the situation is improving slowly. Many Java developers are used to the excellent IDEs that Java has, so some might not want to make the switch to Scala until its IDEs are closer to the quality of Java IDEs.

At this moment, IDEA's support is acceptable enough for me to begin using Scala in non-critical projects (it has some basic refactoring, navigation and code completion), but there are still lots of rough edges that would need to be improved (the biggest issues are some performance problems and the lack of Extract Method and Inline Method refactorings).

Esko Luontola
Can you elaborate on the performance issues ? Is there any article on the current issues with IDE support ? What will change with Scala 2.8?
Łukasz Lew
With IDEA's Scala plugin, typing text in a .scala file is slow. An easy way to reproduce this is to type text in a comment by holding down a key in the keyboard. When the key is repeated, the UI freezes about once a second. I've reported it as http://www.jetbrains.net/jira/browse/SCL-928
Esko Luontola
Agreed. The Eclipse and Netbeans plugins are pretty much unusable.
Jay Conrod
IntelliJ IDEA Scala plugin is already quite mature. I can highly recommend it. I'd really like to see IDEA as _the_ Scala IDE.
Alexander Temerev
I agree, I can't even get the Scala Eclipse plugin to work in Ubuntu 9.10. Tried installing it as root, and various troubleshooting to no avail. I was excited for Scala, but no more maybe in a few years...
Sheldon Ross
The Netbeans plugin is super and 100% free. Can't believe you didn't try it.
Seun Osewa
My current biggest problem with IDEA's Scala plugin is its slow compile speed. I'm right now working on a IDEA plugin for integrating with SBT to build projects faster. It will soon be available at plugins.intellij.net.
Esko Luontola
+6  A: 

Previously I had two excuses for not using Scala: performance and lack of a good IDE.

Now Scala's performance is on par with Java, and Scala plugin for IntelliJ IDEA looks quite mature (and works). So the only excuse is my inertia and laziness. I can write Java almost like I can write English (or even better), in a subconscious way. When I code in Scala, I have to, you know, think. It is exciting, but, for now, slower. And I have projects to deliver on time.

Alexander Temerev
I'm not sure if I would say "on par" -- while "The Language Shootout" has some "strong numbers for Scala", much of the code there is written to be as fast as possible, within the guidelines, and not idiomatic. Scala isn't particularly slow, but it does trade resources (many more classes, many more objects, etc) for a higher-level of programming.
pst
+8  A: 

I can't switch to Scala for my day job, because most of the time I don't get to choose which programming language is being used on the project I'm working on, and there are not many clients that are willing to use Scala (yet).

For my hobby projects, I've been using Scala for the past few months and I like it.

I don't think there is anything inherent in the Scala programming language itself that would prevent it from becoming popular.

The lack of really good IDE support (refactoring, debugging, profiling) is one thing that needs to change to help Scala become more popular.

Jesper
+19  A: 

The biggest reason is that for every version x.y, x.y+1 is binary incompatible with x.y. That is, if you build a system on 2.7.4, and then upgrade to 2.7.6, it might be broken; if you upgrade to 2.8 (or whatever it gets called next) then it will be broken. And, if that wasn't enough, Scala 2.8 is source incompatible with its previous versions.

No-one in their right minds should build on a language whose foundation is constantly moving. It's like erecting a building on quicksand. Sure, it might look good from above, but it's only a matter of time before it falls to pieces.

AlBlue
That's a good point.Of course, that is not such a big problem as long as previous versions receive all the bug fixes as well.
Łukasz Lew
Yeah, right. You're lucky if the current version gets bugfixes, let alone any previous ones.
AlBlue
I don't buy this argument. The same problem exists with .Net and it's quite popular. I've moved 1.0 code to 1.1, 1.1 to 2.0, and even 3.0 back down to 2.0 and really stupid, basic stuff that you'd think would never change, does between versions.
Brian Knoblauch
Well, it is just because Java is taking care of the compatibility of previous compilers that Java 7 is still in the incubator...
sza
There is always a trade-off between staying backward compatible and improving the language. For example Sun chose the backward compatibility route when implementing generics in Java 5, thus limiting the usability of their implementation (i.e. type erasure at runtime).
Zsolt Török
+4  A: 

I am in the process of experimenting with Scala on a small project. I have programmed extensively in Java and Ruby.

I'm frustrated by Ruby's lack of strong typing, open module messiness, and the resulting lack of documentation (*). In my experience, Java's greatest weakness is the lack of closures, which makes many operations verbose and error prone. That might be the biggest reason I'm looking at Scala.

I am finding Scala on the surface to be beautiful and concise. On the other hand, the number of idioms, patterns, and rules that lead to WTF moments have been far more than I expected. For example:

scala> val line = "123abc"

scala> val Foo =  """(\d+)(\w+)""".r            
Foo: scala.util.matching.Regex = (\d+)(\w+)

scala> val Foo(a,b) = line                      
a: String = 123
b: String = abc

Ok, so there is an unapplySeq method on RegExp, which is called because of a "compiler trick" when this is on the left side of an assignment (or in a match). That performs an "extraction" on the right side and assigns the resulting List to the new vals passed into the constructor-like call. It's an interesting construct, and I'm still learning about its usefulness, but features like this make the language scary and unnecessarily complicated in simple cases.

Basically it's:

// Note: this doesn't work, since unapplySeq does not return a Tuple
val a,b = Foo.unapplySeq(line)

That makes a lot more sense to your average Bill, especially if we give unapplySeq a nicer name like, say, "match". Sure, there's some fancier stuff you can do with matches (the Scala kind, not the regexp kind,) although I'm not sure how much that buys you in most cases.

These types of tricks strike me as a violation of my keep-it-stupid-simple philosophy. Increasing the brainpower required to understand simple constructs unnecessarily is counter-productive. Perhaps that construct has it's place, but this doesn't seem to be it.

These complications are compounded by the tendency of Scala documentation to use rich examples instead of simple ones. For instance, the example for this in "Programming Scala" uses some advance type notation and for some reason introduces the Scala version of symbols, rather than showing a dirt simple example.

That said, hopefully I'll continue to be interested in Scala once I grasp all the concepts.

(*) If you think specifying an object type is too much work, you're unlikely to think documenting the type is much fun either. And if you're going to document the type, why not specify them programmatically? I digress.

Alex Neth
+22  A: 

Nothing, I have switched to Scala.

David Crawshaw
Uh yeah, I was about to do it.....but you beat me with around 1 year....
Felix
A: 

The Scala compiler is too buggy for my taste. While implementing the Universal Machine for the ICFP Contest 2006 I ran into 4-5 compiler bugs (usually exception thrown somewhere deep inside of Scala for no apparent reason). For a program that is only ~200 lines long, that's really bad.

mdm
And it is slow.
Berlin Brown
+3  A: 

Number of jobs available in Java v Scala.

SteJav
A: 

No (private) time to learn Scala - spending too much time on forums :-)

As soon as there is a Scala job assignment I'ld have (non-private) time to learn it... but that's not very likely to happen that soon.

Carlos Heuberger
+2  A: 

I studied Scala for a while and as others have pointed, Scala has some advanced language features. Does the benefit of new language features trump the 15 years of Java code that is out there.

  • Tools: I have had several issues with the Scala Eclipse plugin. I was so fed up with it that I just wrote a simple Scala syntax highlighter (see below). The scala emacs highlighter wasn't much better, especially as new language features were being added.
  • Compile time is still slow. If you build large projects, scalac is pretty slow. This can really effect coding productivity.
  • Scala based libraries? Are there any? We don't really need scala libraries because scala will build java bytecode libraries just like the Java language. But, I would be more included to seriously use Scala if there were libraries built with scala. For example, Haskell had some good tools out there for a while like Pugs, Darcs. I don't know any popular scala libraries out there yet.
  • Web libraries? Is Lift ready for the Enterprise yet. It seems like the answer is maybe. Can Scala interact with existing web frameworks?
  • Maybe Scala needs a long code freeze or port. It seems that new language features are being added every couple of months and I can't tell the differences between the many versions of Scala. This may cause concern for developers that will right code in one version, then upgrade a year later, will the code work with the new upgrade?

At least Scala and languages like Clojure started out on the right foot by being targeted for the JVM. Sure there are issues with the Java runtime but a JVM language will see way more adoption than something completely new like Haskell.

Scala syntax highlighter: http://code.google.com/p/lightscalaplugin/

Note: the highlighter isn't robust but the color code matches that of the Java language. It is lightweight and has worked on many versions of Eclipse.

Berlin Brown
A: 

More discussion on Reddit.

Łukasz Lew
+2  A: 

For me, personally, it's the TIME problem.

For a more logical answer I think there are 3 major road blocks:

  1. Lack of mature IDE support.
  2. Scala version changes. As old libraries could get deprecated as new concepts are merged into the language. We have seen quite a few quick version updates in the language in the previous year only.
Monis Iqbal
+2  A: 

For me,I already switched to scala, and love it and don't want java anymore but in my compagny not, because :

  1. The multiple paradigm (object/functionnal) is too complex to understand for my co-worker (most of them still don't understand object programming well).
  2. Lack of mature IDE support is a problem
  3. My co-worker still think php is the best language ever (Should i resign ?)
lapinferoce
Your co-worker should resign :)
Łukasz Lew
A: 

I've never heard of it.

John
OK, now what's stopping you?
Randall Schulz
There are a billion languages I never heard of. It was a serious answer - I can't possibly evaluate or even know about every language out there so until it starts becoming widely used, it's useless to me.
John