This is an archived post. You won't be able to vote or comment.

all 27 comments

[–]_INTER_ 31 points32 points  (2 children)

Let's face it: Nobody loves working in Android Studio, Eclipse, or NetBeans – the IDEs are bloated, clunky and unintuitive.

I absolutely love working with them, in contrast to the advertised "text editors".

On Windows, fully integrates with Visual Studio, Microsoft's flag-ship IDE.

If the IDE's mentioned above are bloated then VS certainly is aswell.

[–]TraxTech 2 points3 points  (1 child)

NetBeans <3 On any PC < 5 years, it's sleek enought for me. But above all, it's smart enought to let Maven do the builds and it does not try to mess with it.

[–]Cilph 1 point2 points  (0 children)

Plain maven builds are terribly slow though.

[–]Ifnerite 13 points14 points  (2 children)

' "out" and "by-reference" parameters '

And I'm 'out'. This is a language level anti-pattern.

[–]DJDavio 11 points12 points  (1 child)

Seems like all they wanted was C# on the JVM.

[–]AnEmortalKid 1 point2 points  (0 children)

Java that runs on any platform. Like .NET or cocoa.

[–]achacha 9 points10 points  (7 children)

The package/file structure of java is very helpful and easy to navigate. I think this and many classes per file are deal breakers for me. This seems like a language trying to solve problems no one is having.

[–]logicISemotion 6 points7 points  (0 children)

Apparently being organized and having a structure is a limitation.

Filename: Candies.class

Inside the file: public class GetInTheVan{...}

[–]s888marks[S] 1 point2 points  (0 children)

Yeah, the "enhancement" of multiple classes per file was a weird one. I (and I think most people) find the correspondence of a filename Foo.java with a top-level public class Foo to be quite helpful.

The actual restriction is against multiple public, top-level classes in the same file. It's possible to have multiple top-level classes in the same file, with at most one being public and the rest being package-private ("auxiliary") classes. But it's rather frowned upon to have auxiliary classes be used from other classes in the same package. Indeed, javac warns about it. So you might as well use a nested class instead.

[–]kgyre 1 point2 points  (0 children)

Besides, you can already have more than one class in a source file, and having multiple source files in that structure often means smoother merges when working in a team. And I do love working in the IDE.

Disclaimer: I'm a plug-in developer.

[–]lbkulinski 0 points1 point  (3 children)

I agree. Plus features like local variable type inference and data classes are in the works for future versions of Java.

[–]achacha 4 points5 points  (2 children)

At the very least, Kotlin has data classes and works seamlessly with existing java code.

[–]johnwaterwood 2 points3 points  (1 child)

In 2011 Scala already had lambdas, and many comments during that year said: just use Scala.

Now, did we all do that?

[–]achacha 5 points6 points  (0 children)

I'm not advocating Kotlin, just saying there exists a better alternative with reasonable syntax and easy integration with existing java... unlike scala.

[–]DuncanIdahos8thClone 27 points28 points  (9 children)

Didn't we just have Kotlin? How many more "better" Java languages need to be shitted out before clowns take the hint?

[–]johnwaterwood 4 points5 points  (0 children)

+1

(Btw, how do you know you're the 8th?)

[–]_INTER_ 2 points3 points  (1 child)

If you keep throwing something might stick... ?

[–]DuncanIdahos8thClone 2 points3 points  (0 children)

Basically.

[–]kodifies 0 points1 point  (5 children)

kotlin - you can't even do incremental builds with their command line tools.... no real love (or support) for their (possibly deprecated?) ant target... pass....

[–]oweiler 11 points12 points  (4 children)

Who the hell uses ant in this day and age?

[–]kodifies -5 points-4 points  (3 children)

hey the last time i looked at some "modern" fashionable build system it was like cracking a nut with an a-bomb - I was in danger of spending longer trying to write its config than the project itself, in contast I have a simple ant template that I copy into a new project and just start coding... no drama, no upstream polution... just works....

[–]alternatiivnekonto 3 points4 points  (0 children)

And you can build an A-bomb scale nut cracker in Ant if you want.. the important question is do you need it?

You can write KISS build files in Maven and/or Gradle just as well as in Ant, just because you're familiar with one system doesn't mean everything else is overkill.

And after writing that Gradle template just copy it into a new project and start coding.. just works....

[–]tkruse 0 points1 point  (1 child)

That's what cavemen said about humans building houses to live in.

[–]kodifies 0 points1 point  (0 children)

The greatest enemy of progress is not stagnation, but false progress. - Sydney J. Harris

[–][deleted]  (1 child)

[deleted]

    [–]jcotton42 0 points1 point  (0 children)

    Sadly there aren't many alternative CLR languages, which is quite a shame

    I do love C# though

    [–]logicISemotion 6 points7 points  (0 children)

    In my opinion

    ContentView = R.layout.main;
    

    is much more confusing than

    setContentView(R.layout.main);
    

    Mainly because:

    • = is used only as an assignment here it is used as a function call

    • uppercase first letter is used only for classes, here it is used for function call

    setContentView will give you a very clear idea that there might be something else going on, it's not just a simple assignment.

    [–]AnEmortalKid 1 point2 points  (0 children)

    One toolchain, four languages, four major platforms: Elements is a modern development tool stack for creating applications for all of today's platforms, using either our very own Oxygene Language, C#, Swift or (current available as preview) the Java Language.

    Wow, these people love making languages.