Slashdot Mirror


Kotlin 1.0 Released

Qbertino writes: Kotlin, one of the challengers to Java's VM, has been released in version 1. Kotlin is object-oriented, statically typed and comes with professional IDE support by Jetbrains — which is no big surprise, since it's the Jetbrains employees who developed the programming language that saw the light of day four years ago. Kotlin is already in real-world use and development will be moving into fleshing out the Kotlin feature set without breaking backwards compatibility. These features include planned support for JavaScript — which sounds interesting considering JS has gained quite some traction recently. Kotlin is FOSS and is released under the Apache license.

121 comments

  1. First major security hole in 3...2....1 by Anonymous Coward · · Score: 0

    I would imagine this is literally riddled with security vulnerabilities at this point. I think I'll wait 4 more years until 2.0 comes out.

  2. challenger to JVM, or language that runs on it? by Anonymous Coward · · Score: 1

    According to its webpage, this is a JVM-based language.

  3. How to get 30% of corporate Java users in one move by Anonymous Coward · · Score: 3, Interesting

    Provide an actual working installer, instead of that Sun invented piece of misnamed, misplaced piece of camel dung instlaler. First you have the magicalliy renumbering component versions, then the "you have to formally sign a user agreement" to instlal it, then for RHEL and CentOS and Fedora and SuSE users you get misnamed "rpm.bin" piece of sticky doggy mess that violates the File System Hierarchy and whose RPM package name does not match the name of the RPM file.

    There are reasons some of us gave up on using anything from Sun, and it's sad to see Oracle continued the same stupid practices. If these Java variant exert the slightest care in packaging, they can pick up a few clients right there.

  4. does it run Java?
    The Java VM can run a couple dozen languages, including Javascript, Ruby, Python ... Why not either invent a language or a VM?

    Inventing a language is stupid if you don't take advantage of existing libraries -- in particular for Java.

    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    1. Re:So by buchner.johannes · · Score: 4, Informative

      So of course I had not read the link. It is not a VM as TFS claims, but just a language within the Java VM, therefore an alternative to Groovy, JRuby, Scala. In particular it is different because it is statically typed but more compressed/expressive.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:So by HiThere · · Score: 2

      You want to know what's stupid? If you go to the main web page the only description of the code you get is a sample "Hello, World" application, and the link that claimed to lead me to more examples instead lead to an advertisement for a book on the language.

      If you won't let me look at it... Why do you expect me to buy a pig in a poke.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  5. JVM challenger OR Java challenger on the JVM? by Anonymous Coward · · Score: 4, Insightful

    Which is it? The summary makes it sound like Kotlin has its own VM (JVM compatible I'd assume) to compete with Oracle's JVM. The web page makes it sound like Kotlin is just a language that compiles to the JVM's bytecode. Which is it? Or is it a both?

    1. Re:JVM challenger OR Java challenger on the JVM? by buchner.johannes · · Score: 1

      It's neither. It is 100% Java compatible says their page, so ... just another language for the JVM I guess.

      --
      NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    2. Re:JVM challenger OR Java challenger on the JVM? by Anonymous Coward · · Score: 0

      The article summary is wrong, or at least misleading. It's a language mostly intended to be run on the JVM, although it can also be compiled directly to Javascript, to run without the JVM (and instead to run on whatever VM is running Javascript). It is not a VM of its own.

    3. Re:JVM challenger OR Java challenger on the JVM? by pddo · · Score: 1

      It is NOT it's own JVM. It runs on the JVM and uses all the goodies that Hotspot provides (if going with the Oracle JVM). One of the big things going for it is it's small footprint when used as an alternative to JAVA for Android apps.

  6. Not a VM by pchasco · · Score: 5, Informative

    Kotlin is yet another language to be run in the JVM. It is not a competitor to the JVM as the description suggests.

    1. Re:Not a VM by BoberFett · · Score: 1

      Thanks for RTFAing for me. I was confused based on the summary.

    2. Re:Not a VM by Anonymous Coward · · Score: 0

      Wow, thanks. What a horrible summary

    3. Re:Not a VM by Lunix+Nutcase · · Score: 1

      Duh, it was posted by timmay. So that means it will usually be full of grammar/spelling errors and/or just be plain misleading and wrong.

    4. Re:Not a VM by BarbaraHudson · · Score: 1

      Don't blame timmy. Someone had to submit this into the firehose - probably someone from JetBrains.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:Not a VM by wwalker · · Score: 1

      Kotlin is yet another language to be run in the JVM.

      Only on Slashdot you have to read the user comments to actually understand what the fuck the summary was about. And it only took one simple sentence.

  7. Too bad JetBrains turned into a shit company by Anonymous Coward · · Score: 0

    Switching from yearly upgrades to their current rent-seeking behavior has lost them a ton of customers already.

    Their self-inflicted wound will kill them sooner rather than later so this is meaningless.

    1. Re: Too bad JetBrains turned into a shit company by pchasco · · Score: 0

      Don't get me started on Resharper. Just a massive waste of CPU cycles and my clients' money on licensing and billable hours due to me waiting for it to yield back control of my IDE. And before you lambaste me for havig not just disabled it: I'm required to use it.

  8. This seems pointless by Anonymous Coward · · Score: 0

    Its syntax is Java like in its lack of expressiveness and verbosity. What is the point when Scala, Clojure and JRuby are all more expressive and much more mature?

    1. Re:This seems pointless by sribe · · Score: 1

      Its syntax is Java like in its lack of expressiveness and verbosity. What is the point when Scala, Clojure and JRuby are all more expressive and much more mature?

      Good summary, AC. Which is why I'm quoting it and putting my name to the sentiment ;-) Kotlin seems to be slightly less verbose than straight Java, but not more semantically expressive in any meaningful way. I'd call it a worthless experiment doomed to failure because it simply does not offer enough to make it worthwhile.

    2. Re:This seems pointless by WOOFYGOOFY · · Score: 1

      concision != clarity. This is a common misperception.

    3. Re:This seems pointless by sribe · · Score: 1

      concision != clarity. This is a common misperception.

      That's a good point in this context. What little I remember of Kotlin specifics, I'd say that its concision comes from reduction in useless boilerplate, and therefore contributes to clarity. But only very mildly. In order to be worth anything, a JVM language needs to be substantially different than Java, not mildly improved here and there...

  9. This JVM stuff is BS by NotInHere · · Score: 3, Insightful

    All the new JVM based languages that are popping up are just syntactic sugar on top of Java. The real concepts can't be shaken, as the JVM is pretty much limited in what it can do and what it can't.

    Telling from the examples, Kotlin seems to be a good example: Yet another poor copy of Java with some "obsolete" things like the semicolon removed (why is there so much hate for it?), and you write "fun" instead of "function". So what. I don't think this makes me more productive than Java. Its just for all the people who keep preaching "java is shit" because they've heard it somewhere and now they want to use a "much better" language.

    If Kotlin suits, Java is fine for the job as well, and most likely its even better.

    1. Re:This JVM stuff is BS by JoeMerchant · · Score: 0

      But Java is shit, and anything that compiles to JVM bytecode is going to have in indelible odor to it.

      What I don't understand is: in today's landscape, why we can't use C++ and C++ style derivatives for compiled code (cross compiled to many platforms), and then for interpreted needs use javascript, python, or whatever floats your boat on top? You can call the C objective, sharp, or what you like, but compiled object oriented code will be just that, and garbage collected, interpreted, "script" will be what it is.

      Java was an interesting concept, in 1999. It quit being interesting about the time that browsers all shut it down as a security risk, or when it got purchased by Oracle, depending on your perspective.

    2. Re:This JVM stuff is BS by NotInHere · · Score: 3, Insightful

      C# is Microsoft's copy of Java. Its garbage collected and runs in a VM. Just like java. They even had a language called J# for a while (guess what its a copy of), but abandoned the project.

      Java and C# and the like fill a nice niche. Nobody really wants to touch javascript, its more a mess than a language (C++ is a mess too, with std having been very limited in the past, before C++11, and thus every major codebase using their own NIH containers and stuff, but javascript is much much worse). And python has this issue with obligatory indentation.

    3. Re:This JVM stuff is BS by Anonymous Coward · · Score: 1

      The semicolon thing really bothers me.

      We can learn to finish sentences with a full-stop in primary school, but apparently fully-grown adults can't cope with using a statement terminator when programming.

      I don't mind languages that use a statement _separator_ rather than terminator - but that's not what these languages do. By making the statement terminator optional - but still a terminator, not a separator, they've made carriage-return a statement terminator too. Which means that suddenly white-space matters.
      And then because people sometimes like to split long statements over multiple lines, they have to add a bunch of weird exceptions to the carriage-return-as-terminator thing, and you end up with a mess.

      If you just require a statement terminator for every statement, it's simple. The parser is simple, and understanding what's been written is simple, and you can format it any way you like.

      If you really don't want to use a terminator for the case of single line methods, then you can take the Smalltalk approach, where they have a statement _separator_, that is only used when you need to separate two statements within a block. So a single line function wouldn't need one, but if you add a second statement, then you need to use one, and you don't need to terminate the last statement in the block (since you're not separating it from anything). That lets you unambiguously use whitespace to format your code any way you want, and still keeps the parser simple.

    4. Re:This JVM stuff is BS by vilanye · · Score: 1

      The JVM is king in the server room and will likely be that way for a very long time.

      I hate Java the language, it is a verbose pile of feces and it provides very little type-safety for all that verbosity compared to Scala. Ocaml or Haskell. The fact that Scala and JRuby exists makes working in the JVM environment very nice, although I prefer Erlang in a server environment for most things since its concurrency is better than anything the JVM can offer.

      I am not sure Kotlin offers any advantages over Scala but the more solid non-Java languages for the JVM the better it will be for everyone.

    5. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      Java is not shit. The JVM is shit.

      Java is a perfectly good language in itself, it just needs to be able to be compiled to native binary. Garbage collection could still happen automatically through careful use of invisible destructors.

    6. Re:This JVM stuff is BS by vilanye · · Score: 1

      I don't know Kotlin but not using ; in a language like Ruby is no worse in regards to multiline expressions(there are no statements in ruby) over java.

      some_method(a,b,
      c)

      or if you like:

      some_method a,b,
      c

      No whitespace issues or ambiguity.

      Compared that to Java:

      someMethod(int a, int b,
      int c);

      Is the semi-colon really that meaningful?

      Using a semi-colon or anything to denote the end of a statement or expression is largely redundant. It is weird that programmers get hung up on non-issues like this.

    7. Re:This JVM stuff is BS by BarbaraHudson · · Score: 1

      Look out or they may decide to use indentations to delimit code, same as python. Then they can waste their time on what is a "true tab" as well as the "tab vs spaces" holy wars.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    8. Re:This JVM stuff is BS by sribe · · Score: 1

      I am not sure Kotlin offers any advantages over Scala...

      Bwahahaha oh lord. If you want to waste some time look into Kotlin. It is nothing even remotely close to Scala. It is some small unimportant changes to Java with no real advantaged, whereas Scala is a truly impressive effort and semantically much richer language. Comparing Kotlin to Scala would be like comparing a Yugo to a Model X.

    9. Re:This JVM stuff is BS by stdarg · · Score: 1

      Are you making the code as ugly as you can? It's a mistake to think that leaving out useful visual cues like parentheses and semicolons is "no worse" or that these markers are redundant. They may be to a compiler but not to a human. (Not most humans anyway.)

    10. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      why we can't use C++ and C++ style derivatives for compiled code

      hooray for unsafe pointers! who would ever want better? thousands and thousands of software updates for security problems can't be wrong!

    11. Re:This JVM stuff is BS by vilanye · · Score: 1

      That is good to know, thanks

    12. Re:This JVM stuff is BS by JoeMerchant · · Score: 1

      Safe pointers have been available in C++ libraries for ~10 years now.

    13. Re:This JVM stuff is BS by jma05 · · Score: 1

      > And python has this issue with obligatory indentation.

      For Python fans, indentation is a feature, not an issue. Either you like it or you don't. I like it myself.

    14. Re:This JVM stuff is BS by jma05 · · Score: 2

      > And to tie it all together, the .Net Runtime is a natural evolution of VBRUNxx.DLL

      The .Net runtime was a complete break from VBRUNxx.DLL. Most VB6 users felt as much and many refused to move for a long time.
      C# did have a strong Delphi influence since Anders Hejlsberg is/was the architect of both.

    15. Re:This JVM stuff is BS by jdeisenberg · · Score: 5, Informative

      Possible candidate for a counterexample: Clojure (https://clojure.org/). It runs on the JVM, but, as it is a dialect of Lisp, I would not consider it "just syntactic sugar on top of Java"

    16. Re:This JVM stuff is BS by PCM2 · · Score: 1

      Nobody really wants to touch javascript, its more a mess than a language

      Not wanting to use it and having millions of people who use it anyway are two different things. And the countless JavaScript libraries that are available (jQuery, etc), plus the rise of things like Node.js, would appear to disprove your point.

      --
      Breakfast served all day!
    17. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      > The JVM is king in the server room and will likely be that way for a very long time.

      Yeah. So was COBOL. Java, the COBOL of the 1990ies. And, since you mention it -- all this on-top-of-the-JVM bestiarium reminds eerily of all those "code generators" (Delta anyone) built on top of COBOL to wring the last drop of *that* dead corpse.

    18. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      It's great if you have auto save set in your editor. Less good if you've been working for a while and ask the editor to reformat and the preferences are set up incorrectly and it unindents things. But then I learned very quickly to check both the auto save and the indentation preferences...

    19. Re:This JVM stuff is BS by jma05 · · Score: 1

      I think everyone learns quickly to pay attention to indentation settings in Python. I make sure that mine converts tabs to spaces and that tabs are always visible so that there is no trip up when editing code from other people. I use autoformat a lot in languages like Java but don't in Python. So I never ran into that problem. Since one does frequent runs with Python code, my editor just saves whenever I hit run. So I never needed a separate timed (if that is what you meant) autosave.

    20. Re:This JVM stuff is BS by angel'o'sphere · · Score: 1

      as the JVM is pretty much limited in what it can do and what it can't.
      That is incorrect. The only limit the VM exposes is true multiple inheritance. But even that can be tricked ...
      Regarding Kotlin, I did not really like it either. In case you want more power full languages then there are Scala and Extent on the "static type" front and Groovy on the "dynamic type" front, or Closure if you can stand Lisp.

      Pure old school Java I find rather cumbersome ... to much visual noise, but most projects till use it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      Indentation weakens the language.

      Everyone formats their code but forcing it makes for a less powerful language, so why do such idiocy?

    22. Re:This JVM stuff is BS by vilanye · · Score: 1

      They are as simple as it can be, you must really love java if you are looking for complexity in a method call and calling it ugly if it isn't complex. The semi-colon in the Java example offers no more clarity than omitting it. Even the one Ruby example with no parenthesis is very clear and concise.

      The fact that a comma at the end of the first line is all the visual clue one needs to know that it continues on the next line, whether it is a person or a compiler.

      The only time they are really needed is when putting multiple expressions on one line, then it offers non-redundant clues.

    23. Re:This JVM stuff is BS by Anonymous Coward · · Score: 0

      Poor you, it must irk you to know that Java will eventually win out over all of those. Every time it adds a new feature (let's say lambda's), you lose half your users as they realize that they'd rather put up with good ole Java then with some language that is still struggling with basics like reliable auto completion and advanced refactorings.

    24. Re:This JVM stuff is BS by vilanye · · Score: 1

      Hardly. You have an odd fantasy.

      The hard core, bureaucratic Java devs that I know hate the addition of lambdas and proper closure support. I kind of agree with them, the lambda implementation is massively complex, a pure testament to the suck that is Java.

      Auto-completion is not a feature of any language. It is a feature of IDE's. I am not shocked you don't know the difference between a language and an IDE, it is a common trait among Java "devs".

      Java is the only language I know that requires an IDE to be at least somewhat productive.

      The fact that Java require 10-15 times the LOC that proper languages need is something that Java zealots never seem to grasp.

    25. Re:This JVM stuff is BS by jma05 · · Score: 1

      > Indentation weakens the language.

      The goal of a syntax is to, first and foremost, promote human readability. Python philosophy is to discourage clever code. Many, like myself, find consistent indentation and low character noise to be more readable. If you don't, that's fine. It is a preference. If you like complete flexibility, go with Lisp (or Hy in Python), since its minimal syntax gives maximal power of expression - we all should, if it was all about power. But we don't. I prefer reading Python than Lisp, most of the time. We all like a balance between a helpful syntax and maximal expressive power. Where we individually draw the line differs.

      > Everyone formats their code but forcing it makes for a less powerful language, so why do such idiocy?

      It's not idiocy; it was clever and it was a well-considered choice. We already indent anyway. So why not codify that into syntactic rules, thereby making the language more clean to read? Python tries to get rid of needless punctuation. We write single line expressions/statements most of the time. So Python (and many others) makes them the default by making the semi-colon optional and instead provides a back-slash if you want multi-line code.

      I used/tried every major modern language. I find Python to be the simplest and cleanest to read (many functional languages do a good job as well). That's a preference of course. I like Boo over C# because it has a Python-like indentation syntax. YMMV.

      Nimrod, Delight, Converge and Cobra are other lesser known programming languages that use indentation syntax. Haskell uses it to some degree.

      When I first saw Python and indentation syntax some 15 years ago, I thought: How clever... and immediately got used to it. Some don't and never get over it. Some get the same feeling with Lisp, but I didn't, even though I acknowledge the arguments. It's a preference.

    26. Re:This JVM stuff is BS by the_womble · · Score: 1

      Not true. Clojure is dynamically typed, Frege has the same type system as Haskell and is pure functional. Ioke is prototype based. Jython is source compatible with other python implementations Python. These are not just syntactic sugar.

      The JVM is becoming less limited with each release

    27. Re:This JVM stuff is BS by tigersha · · Score: 1

      Er, no, you have it the wrong way. Java = sh*t. JVM = excellent, but I am thinking things running on JavaScript/V8 is better nowadays.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    28. Re:This JVM stuff is BS by tigersha · · Score: 1

      And tail recursion. JVM does not like that.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    29. Re:This JVM stuff is BS by angel'o'sphere · · Score: 1

      The older java compilers did not use it.
      However the VM supports it as Scala e.g. shows: also, important imho, it is not called tail recursion, every machine with a branch or sub routine call supports it. It is called tail recursionoptimization as in optimizing away a sub routine call by a simple jump/branch.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    30. Re: This JVM stuff is BS by Anonymous Coward · · Score: 0

      The fact that people have figured out how to retrofit those into the JVM doesn't mean it supports it. People compile C++ to Javascript after all.

  10. Re:Java, utter bloat to sink your boat by Anonymous Coward · · Score: 0

    Your opinion is full of factually incorrect and incoherent blather.

    Pro-tip: Save time and what little brain-power you have by posting these simple words: "I am a fucking moron".

    It says the same thing you posted.

  11. Timothy, you fucking moron by Anonymous Coward · · Score: 0
  12. Great news by Anonymous Coward · · Score: 0

    Red Hat managed to spend five years on Ceylon, a JVM language almost nobody wants to use.

    Great to see a sane alternative gaining traction.

    1. Re:Great news by BarbaraHudson · · Score: 1

      Red Hat managed to spend five years on Ceylon, a JVM language almost nobody wants to use.

      Great to see a sane alternative gaining traction.

      Everyone knows they should have named it Cylon - the Cylons had a plan for universal domination. Ceylon was deprecated for Sri Lanka.

      But no, Kotlan is not a sane alternative and it's not gaining traction.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    2. Re:Great news by jblues · · Score: 1

      But no, Kotlan is not a sane alternative and it's not gaining traction.

      Kotlin is though.

      --
      If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
    3. Re:Great news by Anonymous Coward · · Score: 0

      or a hot catchup http://studencik.com.pl/shop/4276-530-thickbox/ketchz-piekla-450-kotlin.jpg

    4. Re:Great news by BarbaraHudson · · Score: 1

      Wow, you didn't read what the graph was, did you? It's the number of lines of code, not the adoption rate. Kotlin is going nowhere.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:Great news by jblues · · Score: 1

      There's not need to be condescending and patronizing. I did read the chart. Just didn't realize that by 'gaining traction you meant 'adoption rate', and that you were an expert despite the incorrect spelling of 'Kotlin'. I'm not sure what the adoption rate is, however, we've adopted Kotlin a few months back, and the experience has been a pleasant one. I place a high level of trust in Jetbrains, and have been a fan of their products for years.

      --
      If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
    6. Re: Great news by Anonymous Coward · · Score: 0

      Continue getting raped by their subscription model. You seem to enjoy it ohhh so much.

      Seriously jetbrains jumped the shark years ago. They have been nothing but a slow resource hog for years. Only way I'd use it is if I had to for my job, and if I had to for my job I'd quit and find another job.

    7. Re:Great news by Anonymous Coward · · Score: 0

      How is a language going to "gain traction" if no one uses it?

  13. It'll be forgotten by next year. by Anonymous Coward · · Score: 0

    If there's one thing we should have learned about these languages that target the JVM it's that they're all hype-driven and are largely forgotten about a year or two later.

    JRuby and Jython were widely hyped a few years ago, then they were promptly forgotten.

    The hype moved on to Scala. It, too, has been largely forgotten.

    The hype then moved to Clojure. The hype wore off of it pretty quickly, and it also has now been largely forgotten.

    Ceylon was hyped briefly, but it hasn't gone anywhere, and has been forgotten.

    Now Kotlin is the hyped JVM language of the day.

    My prediction is, like all of its predecessors, that it'll be forgotten soon enough.

    The hipsters who are hyping it will have moved on to the next hyped JVM language, perhaps as early as next year.

    Meanwhile, everyone doing real work with the JVM will continue to use Java, just like they've been doing for about two decades now.

    1. Re:It'll be forgotten by next year. by Anonymous Coward · · Score: 2, Informative

      Jython is a non-starter because it is stuck on Python 2.5 compatibility.

      JRuby, Scala and Clojure are still growing.

      Just because you are ignorant of them it doesn't mean they are dead.

    2. Re:It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      Ruby as a whole is bleeding users. Losing users each month isn't consider "growing"!

      Scala is also not growing. The Scala community is now being fragmented thanks to their Dotty project.

      Clojure is surely not growing. It barely saw any use to begin with, since most of the attention it got was purely hype generated by Lisp weenies.

      I also forgot about Groovy. But I can be forgiven; everybody else has forgotten about it, too!

    3. Re:It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      *citations needed*

      Your limited experience and fantasies is not evidence. It is amazing how you can transfer what you know in your little world to the world in general. You might want to see an optometrist to get you some glasses for your myopia.

      JRuby is most definitely growing as is Ruby. JRuby keeps as close to the current Ruby version as the JVM allows for. There are a few minor features of Ruby that are impossible on the JVM.

      It is the Java language that is shrinking in usage on the JVM, not Scala, Clojure and JRuby.

      Those three languages are the primary driver in Oracle finally adding real lambdas and closures to that bloated language. In your little world it must be because usage of Java is going up.

      If not for Android, the Java language would be pretty much a legacy language like Cobol by now.

      The JVM really has no use for the Java language anymore.

      Kotlin will likely fail because most languages fail. The three you are crying about are actually successes.

    4. Re:It'll be forgotten by next year. by BarbaraHudson · · Score: 1

      ^^^ Damn, you beat me to it!

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:It'll be forgotten by next year. by HiThere · · Score: 1

      I believe that you excessively denigrate Java. But Oracle sure hasn't helped it much.

      I expect that JRuby will only be successful until Ruby manages to successfully implement a reasonable parallel execution of threads.

      Perhaps you are right about Scala and Clojure, but I don't know. I have my doubts about any VM that insists that the character type is 16 bits. 32 I could understand, and 8 I could understand, but 16 seems a historical relic that only made sense on machines with 16 bit registers.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    6. Re: It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      All the haters, and yet... Java keeps getting the job done to this day.
      Your post is like a repeat from 10 years ago, same every year, but Java stays on top still.

    7. Re:It'll be forgotten by next year. by vilanye · · Score: 1

      JRuby is Ruby implemented in Java. It uses Java threads. The difference between Java threads and JRuby threads is that you don't typically create an entire class for the thread to run it. You just create it and run it wherever.

      It is the same syntax and usage as Ruby threads, but behind the scenes it is a Java thread that runs it.

      Ruby still uses green threads, but it does support fork() on operating systems that support it, and that has zero bearing on JRuby.

      Or am I missing a deeper point?

      Yeah, I agree, the OP went a little too far, but only a little.

      Scala uses the same byte sizes as Java but it doesn't have to.

      Well, JRuby doesn't have a character type but an ascii string of 1 character is 1 byte and can go up to whatever size is needed to hold the codepoint, so it is not the JVM demanding that characters are 16 bits, it can obviously be worked around.

    8. Re:It'll be forgotten by next year. by gl4ss · · Score: 1

      java is doing just fine.

      it's doing so fine that people are all the time trying to invent new stuff to write java.

      --
      world was created 5 seconds before this post as it is.
    9. Re: It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      for fuck sake if you guys are going to argue about what is growing what isnt, pr9vide some stats.

    10. Re:It'll be forgotten by next year. by HiThere · · Score: 1

      Ruby's current threads cannot do concurrent operations. There's a "global interpreter lock", though I'm not sure that's the terminology they use. This is *the* JRuby advantage. And every program that implements things via Java underneath uses 16-bit characters for it's characters. And this *does* affect the strings.

      When Java was designed CPUs had 16 bit registers, so a 16 bit character seemed to make sense. But they baked that definition into the language spec, which was a mistake. They've had plenty of chances to fix it but never seemed to care to do so. Currently there's a work-around using arrays of codepoints, but that's clumsy compared to any language that has a decent character implementation, whether it's based around utf-8 or utf-32. 16 bit characters combine the worst features of both.

      FWIW, I often need to handle single characters from strings. In the languages that are based around 32 bit chars this is trivial. In the languages based around 8 bit chars this means using library routines, but if the language has implemented things well it's still easy, and it *does* save on memory. Java has library routines that presume 16 bit chars, and JRuby is implemented on top of that with all the inherent problems. (Ruby doesn't really handle unicode chars at all well, but there are decent libraries, and Ruby 2.1+, at least, handles the basics.)

      For JRuby to handle characters well would require abandoning Java Strings. I'd really be surprised if they do that.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    11. Re:It'll be forgotten by next year. by the_womble · · Score: 1

      Jython is up to 2.7 http://www.jython.org/

    12. Re:It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      Ruby green threads had NOTHING to do with JRuby acceptance.

      Ruby and JRuby can handle unicode just fine. I have made a string with 5 different character sets within it and all of the built in string functions performed flawlessly, including sort().

      JRuby String DO NOT use Java String, they have a proper Ruby String implementation. If you want to use Java Strings, you have to jump through some hoops but you can pass a Ruby string to a method expecting a Java String and JRuby will autoconvert, in that small use case, there might be some issues.

    13. Re:It'll be forgotten by next year. by Anonymous Coward · · Score: 0

      Took them long enough, they are still years behind Python. Compare that to JRuby where the lag can be measured in single-digit weeks.

  14. javascript engine in java already exists by Anonymous Coward · · Score: 0

    java8 already has a javascript engine.

    1. Re:javascript engine in java already exists by Anonymous Coward · · Score: 0

      So did Java 5, what is your point?

      It also pretty much blows chunks.

  15. As someone just learning Java via OpenXava by GerryGilmore · · Score: 1

    I took a quick look at it and - while I kinda get the appeal - it just seems to me to be too much variation from standard coding practices and, as someone who spent way too much time deciphering kabuki-like single line C statements that should have been a proper function, I'm not a big fan of shortness for the sake of shortness. I personally have found that standard JPA and Java, with much help from OpenXava, is the best combination of ease-of-development and flexibility for my app needs. But, that's just one man's opinion...

  16. Languages have different features by mx+b · · Score: 1

    why we can't use C++ and C++ style derivatives for compiled code (cross compiled to many platforms), and then for interpreted needs use javascript, python, or whatever floats your boat on top?

    There's some interesting languages out there with other features. Haskell comes to mind, as a pure functional language. It's not just pretty syntax, but a different way of thought that provides some features and power that C++/Java style imperative languages can't match. They're so different that you need different compilers really. You can't always write a Haskell program and "translate" it to C++, certainly not without re-architecting. Of course, there may be things an object oriented style is better suited for too, but just pointing out that some languages have different paradigms and therefore contribute new ideas to software development. That sort of exploration and research I think is important. I don't think we should be so quick to assume Java/C++/Python/whatever is the only language that is ever needed (which maybe is not what you meant, so I don't mean to attack you comment, just writing a thought that popped in mind based on yours).

    A large amount of the languages these days seem to be more "domain-specific", that is, not very different from some underlying language, just adding some syntactic sugar for some specific problem or complaint while ignoring other drawbacks. I suppose that iteration is good though, as its catching the most important -- and serious? -- errors and making it easier to avoid those problems. 'm partial to investigating totally new concepts to see if we can build more resilient and secure software than to keep iterating what is already known to have drawbacks, but it's probably good that we do research from both ends -- incrementally improve what we have to take away certain known bugs and get it out the door *now*, while researching new ideas that perhaps will do away with whole classes of bugs for good (as well as make more powerful software in general).

    1. Re:Languages have different features by tigersha · · Score: 1

      I wrote a compiler for Haskell-like lazy FP a long time ago (in 1989!) and I can assure you the compiler technologyfor lazy functional programming languages and the tech for imperative or OO languages are about the same as cats are from dogs. Or tather, as far as cats are from bacteria.

      Functional languages work on an entirely different theoretical basis, never mind implementation

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    2. Re:Languages have different features by angel'o'sphere · · Score: 1

      Functional languages work on an entirely different theoretical basis, never mind implementation

      Depends on the implementation. Bottom line they use the same machine, calls, stacks heap etc. And keep in mind, plenty of languages are hybrid in our days, as Scala or if you want C++ show.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  17. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 0

    Developing for java using one of the popular IDEs is a real resource hog. There's no getting away from that. Developing for java using make files and bash scripts is FAST. Problem is, most people need code completion, etc. to hold their hand. If c programmers needed that level of support, they'd be told to go back to school and really learn the language.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  18. Re:How to get 30% of corporate Java users in one m by vilanye · · Score: 1

    Huh?

    In OpenSuse using the binary from Oracle gives no issues. It installs in usr/bin/java and unlike Windows, I never need to change JAVA_HOME because there are softlinks in usr/java/latest to the most recent java version, so I never have to futz with update_alternatives unless I need an older version, which I never do.

    I am not sure what weird thing you are doing to get the behavior you describe but that is not the case with any version of opensuse I have ever used and I have used every version from 9.x to Leap 42.1.

    Formally sign a user agreement? You mean clicking a checkbox on the download page? I am not sure that qualifies as formally signing anything.

  19. Re:Java, utter bloat to sink your boat by Hussman32 · · Score: 1

    I'm more into numerical modeling and such, and I agree IDE's need a lot of resources, but what's wrong with an IDE checking your variable consistency, object exposure, and having a debugger that makes it easy to see your values without writing print files?

    --
    "Who are you?" "No one of consequence." "I must know." "Get used to disappointment."
  20. Re:Java, utter bloat to sink your boat by Zontar+The+Mindless · · Score: 1

    The best XML IDE on the planet is written in Java.

    (And, no, I don't work for them; I've just been using their product on a daily basis for nearly ten years.)

    --
    Il n'y a pas de Planet B.
  21. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1, Troll

    The best XML IDE on the planet is written in Java.

    (And, no, I don't work for them; I've just been using their product on a daily basis for nearly ten years.)

    That's kind of like saying "The best dog poop comes from $WHO_GIVES_A_SHIT." :-) xml was a big mistake we will always be paying for.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  22. Re:Java, utter bloat to sink your boat by Anonymous Coward · · Score: 1

    > Problem is, most people need code completion, etc. to hold their hand. If c programmers needed that level of support, they'd be told to go back to school and really learn the language.

    You are either missing the point of introspection or are like the mighty caveman telling people they don't need a roof. Both kinds of ignorance are controlled for in the market and by genetics. SMH

  23. Wrong: it runs on the JVM by emblemparade · · Score: 1

    How can you be so wrong?! It tells you exactly what it is on the page you linked: an alternative to Java that runs on the JVM. Why "assume" things when you can just spend two minutes reading about it/

  24. Re:Java, utter bloat to sink your boat by Anonymous Coward · · Score: 1

    Don't need it, it makes things faster and mistakes less likely. I know a variable is called height in a class called Rectangle, but why would I not have it basically type out int height = rectangle.height by me typing int height = rec, hitting enter then hitting enter again? That's just one feature, it has hundreds or thousands of small things that make developing faster. Why would you drive a car when you could just walk? Why would you drink water out of a tap when you could just go to a river? The answer is that it's easier and faster and if you don't recognise that it is YOU that needs to go back to school.

    JetBrains also has a C/C++ IDE that does practically the same thing and I guarantee projects are finished faster with less mistakes using it.

  25. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    You don't need introspection if you know what you're doing. Plenty of C/C++ programmers work without it and do quite well. The more you know what you're doing, the less likely you are to make a mistake. But keep on claiming that requiring hand-holding is somehow the hallmark of an experienced professional instead of training wheels.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  26. Re:How to get 30% of corporate Java users in one m by Zontar+The+Mindless · · Score: 1

    I've been using Sun/Oracle Java on (open)SUSE since SuSE 9.something times. Never ran into any of the issues you describe. 'which java' always gives me '/usr/bin/java', and the provided symlinks to /$latest/ take care of the versioning issues.

    --
    Il n'y a pas de Planet B.
  27. Re:Java, utter bloat to sink your boat by Anonymous Coward · · Score: 0

    JetBrains C and C++(no such language as C/C++) IDE is unadulterated shit.

  28. Re:How to get 30% of corporate Java users in one m by Anonymous Coward · · Score: 1

    Java is about the easiest versioned software you can deploy with configuration management tools like Puppet.. unzip -d /anywhere/jdk_anyversion jdk_anyversion.zip
    Optionally make a symlink to a default version.
    Zip it up once, extract anywhere you want, as many versions as you need, totally location independent. Rinse and repeat for any OS.

    Try deploying multiple versions of the Perl runtime, on multiple OS. See how far RPM and FHS takes you.

  29. Re:Java, utter bloat to sink your boat by bondsbw · · Score: 1

    Professional developers often need to work with multiple languages. No developer needs to completely learn every language before using it; that would be very counter-productive and much of that knowledge would likely be lost in a couple of weeks. If I was supervising a developer that insisted on completely learning a new language before starting to use it at all, I'd tell them to take a hike.

    And that doesn't even mention frameworks and third party libraries. I've been developing primarily in C# for 14 years and I still don't have the entire BCL memorized. Particularly frameworks I rarely use and new APIs I haven't gotten around to using.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  30. Re: Java, utter bloat to sink your boat by pchasco · · Score: 1

    So says every C programmer, just after they commit another heartbleed to the repo...

  31. if only by Anonymous Coward · · Score: 0

    Kotlin isn't a "challenger to Java's VM"; it would be great if it were, given how awful the Java VM is. In fact, Kotlin is simply one of dozens of languages on top of the Java VM.

    Kotlin doesn't seem to be too different from C# or Swift to be worth investing time or money in it.

  32. JVM hate by Anonymous Coward · · Score: 0

    I'm always interested in new languages, unless they are JVM languages. I just don't like JVM.
    Scala was interesting to me, but I don't use it because I don't want to mess with JVM.
    Kotlin looks interesting, but... I just can't stand the pain of messing about with JVM.

  33. Re:Java, utter bloat to sink your boat by mwvdlee · · Score: 1

    Do you develop using notepad, or do you use some sort of syntax hilighting and macro-enabled editor that you refuse to refer to as an IDE for some illogical reason?

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  34. Re:Java, utter bloat to sink your boat by angel'o'sphere · · Score: 4, Insightful

    If c programmers needed that level of support, they'd be told to go back to school and really learn the language.

    Code completion is rather useful for libraries. It has obviously nothing to do with "language".

    And I rather have my method calls autocompleted, especially when I also autocomplete arguments, than having the compiler give me 25 errors per file I worked on the last hour because I have a typo every where.

    There are plenty of reasons why people use auto completion ... "not knowing the language" is very likely the least one.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  35. why Kotlin is so hot? It's devil's work by Anonymous Coward · · Score: 0

    http://studencik.com.pl/shop/4276-530-thickbox/ketchz-piekla-450-kotlin.jpg

  36. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    You would expect a developer to become more proficient as time goes on (unless you're jumping from one language fad of the week to another, which is poor planning, and the supervisor should be fired, along with whoever hired them). Training wheel IDEs mitigate against developing said proficiency.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  37. Re: Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    Lame comeback. Is that all you've got?

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  38. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    gedit, gmake, and bash, with a few perl scripts to take care of versioning. That's not an ide. And no, I don't use macros or syntax highlighting.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  39. Re:Java, utter bloat to sink your boat by bondsbw · · Score: 1

    I wrote an extension for my company's bug tracker, Redmine. None of us knew Ruby, but we needed to write an extension for it. I got up to speed but I didn't need to learn the entire language, and didn't need to work with it for quite a long time after the work was completed. There was no need for me or anyone else in the company to "become more proficient as time goes on". And it wasn't some fad as you suggest. It was a legitimate professional need.

    --
    All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
  40. Re: Java, utter bloat to sink your boat by Anonymous Coward · · Score: 0

    Lame comeback. Is that all you've got?
    --
    this post brought to you by the letter 't ' for transsexual, which has nothing to do with the greater LGBT group

    Your mother's a whore and should have aborted her tranny baby

  41. Re: Java, utter bloat to sink your boat by Anonymous Coward · · Score: 0

    Ruby is and was a fad. It's a dying language so now you are going to have to rewrite it in a proper language. Perhap C? C++?

  42. Re: Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    Come on, tell us how you REALLY feel ...

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  43. Re:Java, utter bloat to sink your boat by tigersha · · Score: 1

    Please tell my you are joking. When in Eclipse the Java is incrementally recompiled WHILE YOU ARE TYPING. It is not FAST, it is INSTANTANEOUS.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  44. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 0

    Dream on. NOTHING is instantaneous, and certainly not Eclipse. Make too many edits too quickly, and have fun typing while it tries to catch up. Not all of us are hunt-and-peck typists.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  45. Re:Java, utter bloat to sink your boat by Anonymous Coward · · Score: 0

    Any IDE is a resource hog. Try VS, that is just as piggy.

    InteliJ doesn't need 8 GB or anything near that.

  46. Re:Java, utter bloat to sink your boat by Jahta · · Score: 1

    gedit, gmake, and bash, with a few perl scripts to take care of versioning. That's not an ide. And no, I don't use macros or syntax highlighting.

    Ah the memories of the 1990s, and flame wars in comp.lang.perl over whether syntax highlighting editors were evil or not. Who knew it would come around again?

    Your whole argument is an example of Anecdotal Fallacy; "using a personal experience or an isolated example instead of sound reasoning or compelling evidence". Your setup presumably suits your personal purposes, but asserting that everybody who doesn't do it your way is stupid, wrong and unprofessional is fundamentally flawed. And makes you look foolish. Good developers use the appropriate tools for the job.

  47. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    Never claimed that my personal setup is the one that everyone should use. I was pointing out the FACT that it's easy to do Java development without a bloated hand-holding IDE (see the subject line). So what fallacy have you just engaged in? Hmm... where do I start ...

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  48. Re:Java, utter bloat to sink your boat by Jahta · · Score: 1

    I was pointing out the FACT that it's easy to do Java development without a bloated hand-holding IDE.

    ...the FACT that it's easy to do small-scale Java development without an IDE

    FTFY

    You keep using the terms "bloated" and "hand-holding" without providing any evidence; just your own personal opinion.

    Judging from your own choice of tooling ("gedit, gmake, and bash, with a few perl scripts to take care of versioning") you've never worked on a significant development project, or in a serious development team.

    gmake for build? Really? Never heard of Maven, or Gradle, or other modern build tools? They not only build your code but they also do things like run your unit and system test suites too (you do use automated testing, right?). And you don't have to hand hack make files. And they can even be run directly from the command line.

    "bash, and a few perl scripts to take care of versioning"? Really? Never heard of git, mercurial, or even subversion. Or is using an actual version control system too "bloated and hand-holding" for you?

    And how do you think your DIY approach will work in continuous build and continuous deployment environments? Or with a team of 20+ developers. Or when half the team is in a different city, or a different country?

    You are fully entitled to your own opinion. But making out that everyone who doesn't agree with your approach is some kind of feeble-minded loser just displays a profound ignorance of modern professional software development.

  49. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    Funny how the original developers of Java didn't need a bloated Java IDE to develop it ... or is Java "small-scale"?

    As for the rest, to each their own. I never said that my way was the best way for everyone, so go dunk your head in a bucket of water and cool off a bit.

    A file-based version control system should allow you to rebuild any or all versions in one shot. Makes it easy to keep everything backed up on other media without installing and configuring other software, and sharing with others. KISS beats complex any day. Having policies of who can modify what is also important - "you touch this, I KILL YOU" - so that takes care of teams. Being able to build, or branch off, any specific version at any time takes care of the rest.

    "Modern professions software development" "using industry-standard best practices" has failed in too many ways to even begin to count. Or haven't you noticed that, instead of shipping completed products on floppies or cds, they now "ship and patch and patch and patch and patch and patch and ..." because of the mindset of "we can patch it later so who gives a crap." The so-called "gold masters" are a lie.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  50. Re:Java, utter bloat to sink your boat by Jahta · · Score: 1

    Funny how the original developers of Java didn't need a bloated Java IDE to develop it ... or is Java "small-scale"?

    As for the rest, to each their own. I never said that my way was the best way for everyone, so go dunk your head in a bucket of water and cool off a bit.

    A file-based version control system should allow you to rebuild any or all versions in one shot. Makes it easy to keep everything backed up on other media without installing and configuring other software, and sharing with others. KISS beats complex any day. Having policies of who can modify what is also important - "you touch this, I KILL YOU" - so that takes care of teams. Being able to build, or branch off, any specific version at any time takes care of the rest.

    "Modern professions software development" "using industry-standard best practices" has failed in too many ways to even begin to count. Or haven't you noticed that, instead of shipping completed products on floppies or cds, they now "ship and patch and patch and patch and patch and patch and ..." because of the mindset of "we can patch it later so who gives a crap." The so-called "gold masters" are a lie.

    I'm tempted to mod this as "Funny". It's certainly the most hilarious thing I've read today.

    FWIW I haven't shipped software on physical media in years. That's what "continuous deployment" means; a continuous rolling cycle of automated build, test, and live deployment - sometimes daily. And the "test" part matters, because most paying customers do "give a crap" about the software working correctly.

    As for the rest of it, it just confirms what I said in my last post.

    Good luck in your programming career. You're going to need it.

  51. Re:Java, utter bloat to sink your boat by BarbaraHudson · · Score: 1

    Continuous deployment is an excuse for not being able to nail requirements the first time. Get the requirements right the first time, write it right the first time, test it right the first time, is a lot better than the sorry excuse that is "continuous deployment." It might be good enough for a piece of shit website, but it's not good enough for real software - the users simply won't tolerate paying for something that is in continuous alpha.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.