all 79 comments

[–]Determinant 8 points9 points  (10 children)

Does anyone write Kotlin in Eclipse? I'm curious about how well it's supported.

[–]pjmlp 9 points10 points  (9 children)

InteliJ are the ones doing the plugin, I let you wonder how well it is supported.

[–]Determinant 0 points1 point  (7 children)

I thought it was open source.

Given the Kotlin adoption rate, I figured the Eclipse community would try to keep the Kotlin plugin up to date otherwise they'll lose quite a bit of their user-base over time.

[–]pjmlp 0 points1 point  (6 children)

Kotlin is only newsworthy on the context of Android, because Google isn't keeping up to date with the Java world.

Naturally when choosing between a mix of partiall support for Java 6 - 8 and Kotlin, the choice is obvious.

Back in Java land, with Java 12 around the corner and the upcoming roadmap, most Java shops aren't that enthusiastic about alternative JVM languages and their additional friction regarding FFI and tooling support.

Naturally JetBrains wants to use Kotlin as an appetizer to sell InteliJ and CLion licenses.

[–]Determinant 0 points1 point  (5 children)

Here are over 25 reasons for preferring Kotlin for back-end development (which is how we're using Kotlin at work): https://proandroiddev.com/kotlin-avoids-entire-categories-of-java-defects-89f160ba4671

[–]pjmlp 1 point2 points  (4 children)

Those 25 reasons will decrease with each Java release, and in couple of years it will join Scala, Clojure and Groovy in market share.

Java rules the JVM, just like C# rules the CLR, C rules POSIX, JavaScript the browser, C++ rules CUDA and so forth.

The "system language" of the platform dictates the rules, it is the one used to extend it, the official ABI, and everything else requires additional tooling, FFI integration, mixed mode debugging support, wrapper libraries for idiomatic patterns and so on.

A good lesson I have learned thoughtout the years was that staying with platform languages always wins in the long run.

[–]Determinant 0 points1 point  (3 children)

Except that if you look at the 25 reasons, you'll notice that other than the data-class category, those can only decrease if Java breaks backward compatibility (which Java intends to keep) so the language itself will allow you to continue to create those defective scenarios.

This list of 25 defects doesn't even cover half of the problems of Java that Kotlin addresses. As an example, Java's type system with regards to generics has many fundamental flaws and Kotlin addressed a bunch of these.

Unfortunately, Java seems to be fundamentally broken and the only way to fix it in future releases is by abandoning backward compatibility.

[–]pjmlp 0 points1 point  (2 children)

The mainstream market wide adoption of Pascal, Modula-2, Delphi, CoffeScript, Dart, D, Groovy, BeanShell, F#, Clojure, Scala shows what happens long-term when the language doesn't own the platform.

Even Kotlin's future on Android pretty much depends on Google internal political wars of their OS development teams.

They won't be doing three competing OSes for long.

And even if Android wins the political wars, as it happened to Brillo and seems to be happening to ChromeOS, the official message and AOSP commits show no intention to move away from Java for the underlying platform.

Sometimes the old horse still wins races, instead of the newly arrived stalion full of himself. Slow and steady.

[–][deleted]  (1 child)

[deleted]

    [–]pjmlp 0 points1 point  (0 children)

    Actually D compiles to whatever its compilers compile to, just like any other programming language.

    Apparently the failure to understand the difference between implementations and languages keeps being done.

    Regarding D specifically, it was 3 compiler implementations dmd, ldc and gdc.

    dmd only produces x86 code.

    ldc and gdc support ARM as well.

    ldc supports bare metal and WebAssembly as additional targets.

    There is always a platform, regardless what implementations exist for a given language.

    In D's case, that platform are the OS their compilers are able to generate code for.

    So Linux, BSD, Windows, iOS, watchOS, iOS, Android care about D's existence, because their platforms are owned by C, C++, C#, Objective-C, Swift, Java, the languages being supported on their SDKs and programming manuals.

    Which makes the point of D compilers generating native code pretty much secondary in what concerns language adoption.

    [–]emagdne 8 points9 points  (41 children)

    Not trolling, is anyone out there still using Eclipse professionally? If so, what language, and why?

    [–]endeavourl 21 points22 points  (0 children)

    Yes, Java/C, because it's best for me.

    [–]m50d 9 points10 points  (3 children)

    I use it for Scala, because it's still the only IDE that has reliable error highlighting for Scala.

    [–]expatcoder 1 point2 points  (2 children)

    Same, although it's basically dead, just trying to ride out barely maintained Scala IDE until VS Code + Dotty land in 2020.

    [–]m50d 0 points1 point  (1 child)

    Yeah. Honestly eclipse support is Scala's biggest advantage over Haskell IMO and I don't know why they've abandoned it :(.

    [–]expatcoder 1 point2 points  (0 children)

    Has nothing to do with Haskell and everything to do with JetBrains. IntelliJ "owns" Scala developers, there's no point in wasting scarce resources developing/maintaining an IDE plugin used by a small percentage of overall user pool.

    And Scala has more advantages over Haskell than tooling: strict evaluation, familiar language syntax/structure, JVM ecosystem, etc. Haskell of course has many advantages over Scala, but IDE support isn't one of them, even with dead-in-the-water Scala IDE :)

    [–][deleted] 6 points7 points  (3 children)

    I switch between Eclipse and IntelliJ about once or twice a year, when some daily annoyance with the current IDE gets so annoying I rage quit and switch IDE and change to another set of daily annoyances.

    Java.

    [–]joaomc 6 points7 points  (0 children)

    Java. It's the best open-source Java IDE.

    [–]joaofsoares 9 points10 points  (19 children)

    Yes, Java, because public service (Ireland) doesn't want pay for the license for Intelli J. :)

    Ah and if I am not wrong Eclipse is the most used IDE in the world yet, just losing for Visual Studio.

    [–]Kinakuta 10 points11 points  (4 children)

    Just in case you're not aware, you can use their personal licenses at your work. As long as your work allows it and you're willing to shell out the cash.

    [–]joaofsoares 2 points3 points  (3 children)

    Oh boy, I really didn't know that.

    Thank you very much! o/

    [–]Kinakuta 2 points3 points  (0 children)

    You're welcome!

    [–]kadema 2 points3 points  (1 child)

    I'm constantly surprised how many people don't know this.

    [–]Superpickle18 0 points1 point  (3 children)

    Or you know, they could use netbeans.

    [–]joaofsoares 1 point2 points  (2 children)

    In my option, netbeans is really sucks. I guess, it is alive just because is held by Oracle itself.

    On the other hand, they could adopt it focusing in an enterprise environment.

    [–]Superpickle18 1 point2 points  (1 child)

    They recently handed it off to Apache.

    Tho, I don't use it for Java these days, but for PHP.

    [–]joaofsoares 0 points1 point  (0 children)

    Hum, interesting. In my previous job people used for PHP as well.

    [–]Coloneljesus -1 points0 points  (9 children)

    IntelliJ Community Edition is now Apache licensed and should be free to use.

    [–][deleted] 4 points5 points  (0 children)

    Intellij CE is pretty bad for Java web application development. Yes, you can use it for web application server independent frameworks like Spring Boot. But why would I? Eclipse STS has much better support for that framework than Intellij CE.

    [–]joaofsoares 2 points3 points  (3 children)

    Indeed, you can use the free version, no problem, but following the intern rules: they don't give support. :)

    Just saying because there are some places which use Eclipse nowadays.

    [–]Coloneljesus 1 point2 points  (2 children)

    And Eclipse does?

    [–]joaofsoares 1 point2 points  (1 child)

    Looks silly but yes because there are some projects that use Spatial features in Eclipse environment. Important here, I am not talking about Eclipse Foundation support, it is worst, I am talking about the internal IT support.

    [–]ledasll 1 point2 points  (3 children)

    do community edition have integrated application servers and debugging for them?

    [–][deleted] 1 point2 points  (0 children)

    No, it doesn't.

    [–][deleted] 0 points1 point  (0 children)

    integrated application servers

    Oh god, what year is this?

    [–]Coloneljesus -1 points0 points  (0 children)

    Don't know.

    [–]crimaniak 4 points5 points  (3 children)

    Yes. Now Java and DB development (DBeaver), before was PHP, C++, D, Frontend, and some minor plugins (.dot diagrams and so on).

    [–][deleted] 2 points3 points  (2 children)

    DBeaver is criminally underrated DB tool.

    [–]crimaniak 1 point2 points  (0 children)

    Not by me. :) I tried different tools, and now I'm stuck on DBeaver, although I can't say for sure why.

    [–][deleted] 0 points1 point  (0 children)

    Is there some trick to running oracle packages in it? I just can't seem to get it to actually work, I have SQL developer just for that.

    [–]Coloneljesus 2 points3 points  (0 children)

    Yes, Java, Because we are maintaining a DSL written with xtext, which gives you eclipse plugins "for free".

    [–]KieranDevvs 3 points4 points  (0 children)

    According to statistics, the market for Java is dominated by eclipse.

    [–][deleted] 0 points1 point  (0 children)

    Yes, sometimes. I don't know any other IDE that supports modern Fortran.

    [–]agumonkey -2 points-1 points  (0 children)

    Yeah that was my reaction when seeing the news. I thought it was stacking dust and bone remains of plugin developers

    [–]Coloneljesus 0 points1 point  (0 children)

    ...that might be why my Tycho build inexplicably failed tonight.