Did Scala just start winning before Kotlin was around?
I think so. By the time I heard of Kotlin, I mentally lumped it in the basket of "just another JVM language". I mean, there are so many now, and you already had Groovy, Clojure, Scala, JRuby, and Jython pretty well established, along with a couple of dozen other niche players. Then Kotlin comes along... I don't know about most people, but I never heard anything about Kotlin that was so compelling that I felt the need to go mess with it. I mean, why what instead of Nice, or Fantom, or Gosu, or Beanshell, or Mira, etc., etc...
Same thing for Ceylon. It looks like just another "also ran" to me. If the people behind these languages want people to use them, they are going to have to work hard to get the word out about whatever advantages (purported or real) they have.
I'll tell you why. Because right now Kotlin is the JVM language made by the largest company outside Java and Oracle. Well, technically, Ceylon is a Red Hat project, but Red Hat is a company that's basically built on lots of very loosely-related projects (Red Hat also fund JRuby, I believe), and one cannot say "Red Hat has Ceylon's back", while Kotlin certainly has JetBrains' back.
As a result, it is also the non-Java JVM language with the best IDE support, best Android support and best build-tool support.
Because right now Kotlin is the JVM language made by the largest company outside Java and Oracle
Truth be told, I don't really find that very compelling. I mean, do programming languages always need "big company" support to be successful? I don't know. So far Scala, Clojure and Groovy have done pretty well, with varying degrees of commercial support.
As a result, it is also the non-Java JVM language with the best IDE support, best Android support and best build-tool support.
I guess, but here's the thing... the languages I use now (mainly Groovy and Java) have at least good enough IDE support, Android support (ok, I don't really care about that) and build-tool support. So even if Kotlin is incrementally better, or hell, even dramatically better, that stuff doesn't do a lot to sway me to Kotlin.
That said, like most geeks, I like dabbling with new languages, and I am sure I'll try out Kotlin (and Ceylon) at some point. And maybe then one or the other will "wow" me. But for now, it isn't a high priority. And I expect a lot of other people are approaching it with a similar mindset.
> do programming languages always need "big company" support to be successful?
History shows that the answer to that is a resounding yes. Aside from a couple of scripting languages (BASIC and Python), there have been exactly zero successful mainstream languages without a large company behind them. Scala, Clojure and Groovy are doing fine, but their adoption is one or two orders of magnitude less than the mainstream languages (Java, C, C++, C#).
I think you're basically right, but the waters are murkier than you give them credit for. I don't really buy any definition of "successful mainstream languages" that doesn't include Ruby and PHP, and neither of those started with any sort of corporate backing, and still aren't tightly associated with any single "big company".
I think Ruby is too small to be considered an industry-wide success. PHP is indeed extremely successful, and should be added to my small list of scripting languages (in fact, it has been far more successful than Python): BASIC, PHP, Python. However, those exceptions are still only for scripting languages (even if you count Ruby), and none of the languages mentioned by the comment I responded to -- except Groovy -- falls in that category.
I think Ruby is too small to be considered an industry-wide success.
I'm not necessarily the biggest fan of the TIOBE index, but in this case I'll cite it, as it is "close enough" I think. Ruby is #13 right now, which isn't bad. And while I think TIOBE has some warts, I think it's safe to say that anything in the top 20 is fairly successful, and anything in the top 50 is "successful" to a certain degree.
This thread is a bit old for me to expect a response, but I'm always curious when I see people using this terminology: what purpose does the term "scripting language" serve? It doesn't seem to tell me anything about what a language is useful for, its runtime characteristics, or the style or philosophy it encourages.
You do know VMware/Pivotal pulled their support for Groovy in March this year and no-one else stepped in, don't you?
I do, but I also know that Groovy is becoming an ASF project[1]. So we'll see how it goes with volunteer support, and perhaps a few paid people here and there from companies that use Groovy.
Groovy has lingering problems in migrating to builds.apache.org, see [1]. Some of the Groovy despots from Codehaus times (I wouldn't know which ones specifically) are keeping some computing machinery physically separated from the Apache infrastructure to run their own build processes, going against Apache guidelines. Some of them also have control over the groovy-lang.org domain (again, I don't know who). I suspect Groovy won't ever become an ASF project, but instead just sit it out in the incubation system until the former Codehaus Groovy despots get a better deal where they don't have to share their control democratically with the ASF. They managed to keep Groovy in the Java Community Process for 9 years before being booted out, all the while using the JSR-241 to promote themselves, so they'd think nothing of leeching on Apache's incubator for just as long before stirring up conflict later on to get booted out when it suits them.
BTW, that link [1] to Nabble's Groovy mailing list archive was recently redirected to an embedded view within the groovy-lang.org website where they can collect IP addresses, and all that implies -- another indictment of the Groovy despots longstanding intention to control and instead of sharing.
Yes. None of them has a large company behind it, and none of them is within two orders-of-magnitude from the leading batch of languages (the leading pack has 5-10M developers each). Maybe Scala is, but even Scala certainly isn't within one order-of-magnitude.
None of them has a large company behind it, and none of them is within two orders-of-magnitude from the leading batch of languages (the leading pack has 5-10M developers each).
So? I'm not making a claim that a language needs adoption on that scale to be considered "successful". To me, Ruby, PHP, Python, Groovy, Scala, Clojure, etc. are all very much "successful". The languages I think of as being less so, would be things like Nice, Fantom, Frege, Forth, Modula-3, Rebol, etc.
I don't see Kotlin as a "wow" language, I see it as a "this is sort of boring but pretty nice" language like Java and Go. Maybe Ceylon is similar, I dunno. It just strikes me that Go could use a stronger competitor than Java that runs on the JVM, but doesn't seem overly fancy (Scala, Clojure) or too dynamic (Groovy, JRuby, Clojure). Kotlin is the closest I've seen to that.
I think so. By the time I heard of Kotlin, I mentally lumped it in the basket of "just another JVM language". I mean, there are so many now, and you already had Groovy, Clojure, Scala, JRuby, and Jython pretty well established, along with a couple of dozen other niche players. Then Kotlin comes along... I don't know about most people, but I never heard anything about Kotlin that was so compelling that I felt the need to go mess with it. I mean, why what instead of Nice, or Fantom, or Gosu, or Beanshell, or Mira, etc., etc...
Same thing for Ceylon. It looks like just another "also ran" to me. If the people behind these languages want people to use them, they are going to have to work hard to get the word out about whatever advantages (purported or real) they have.