Iodine: A full superset of Java with enhancements
blogs.remobjects.com
blogs.remobjects.com
Uh... I don't agree for IntelliJ/Android Studio, and I'm sure some people love to work with NetBeans and Eclipse.
I use IntelliJ daily without issues, literally the only difference between my work and that of a Android Studio user is the Android plugin and the different build system.
And at least on my computer (I know this isn't representative) Android Studio isn't the laggy piece of crap everyone says it is. It works just like Intellij but with Android support.
My impression is that people who don't like IDEs haven't put the effort into figuring out how to use them effectively -- modern IDEs have incredible power to increase productivity, but you have to learn how, and you have to make some accommodations in how you work.
I say this from experience: I started my career coding C/C++ in Emacs and I didn't get the fuss with IDEs. Then 10 years ago I started working in Java in Eclipse and I realized what I had been missing. But in order to realize the full benefit of the IDE I had to adjust to how the IDE wants to work, e.g. spend time configuring the automatic code formatter, and let go of some of my formatting quirks that the automatic formatter couldn't handle.
Also, I haven't written much go, but my general impression is that the language trends on the verbose side because of the lack of things like generics and it's error-handling strategy, so I'm not too surprised that it's more pleasant to use an IDE for go than it is to produce it manually.
Also, most of my side-projects are in Common Lisp and, I've yet to find a "mainstream" programming environment that's more pleasant to work with than my SLIME/emacs setup for writing CL.
Even basic things - ability to see all callers, all available methods, warnings on bad constructs and yeah, templates for often needed sysouts ...
Refactoring. Oh just a simple thing, like simplest of all available refactorings, rename something with zero worries about forgetting some place or changing one more ... I missed this ability so much ...
Also, depending on the language, the tooling in Emacs can get all the other IDE features you are talking about: for haskell there's ghc-mod + intero, for common lisp there's slime, etc. if you install the appropriate plugins and then use something like Syntastic/Flycheck, you can have all the nice editing abilities of vim/emacs as well as most of the useful parts of an IDE's language support.
Furthermore iodine is already the name of a popular IP-over-DNS tool.
To use a JavaScript analogy, Kotlin is CoffeScript, and Iodine is Typescript.
Codegear had a partnership with them.
They were also the only company to offer a Swift compiler, before Apple released it as open source.
This sounds like it’s not going to be successful soon. In the long term, if you want to compete with Java, you’ll need good integration with existing IDEs, and with existing JVM languages.
Especially because of the IDE and compiler support for this, which means it can only reasonably be developed on Windows, and then you might as well use C#.
Here is my guess at an answer.
Iodine: our Java implementation should include features from newer languages
For the initial release, these include:
optional type inference with the var keyword "out" and "by-reference" parameters type extensions partial classes powerful aspects accessing getters/setters using property syntax global (class-less) methods and fields Cocoa-style multi-part method names (aka named parameters) and the list will continue expanding, with support for structs/records and easy property definitions, for example, coming in version 9.3. Read about all the language extensions here.
Iodine also does away with some silly limitations that plague Java developers, such as being limited to having one class per file (or, indeed, one file per class) or having to match the package/namespace structure of your code with folders on disk.
because rent and food isn't, either.
no, that's just entirely false.
Good luck with that.
Unfortunately "almost" doesn't cut it with programming languages. And they changed, not "removed", syntax. Because Apache Groovy has those (many, not "few") incompatibilities with Java (e.g. meaning of == , public visibility as default, closures instead of lambdas, etc), it might as well be a different language.
Especially when superior options exist, because "C# on the JVM" also isn't even particularly valuable when you're a competent programmer who is capable of learning new things.
Kotlin does not support value types, unsafe low level coding, and it is going to be a while until it can match .NET Native.
I would definitely call this a regression, not an enhancement