8 ms·
Kotlin 1.2.60 comes with native compiler binaries
- rooam-dev 8y agoIs it just me or it's strange that there are so many IDE related fixes in a programming language release?
- floatboth 8y agoWell, it's a language created by an IDE company…
- rooam-dev 8y agoYeah. It used to be "choose IDE that supports your language", now it will be "choose a language that is supported by your IDE".
- giancarlostoro 8y agoI mean it's sorta in the name "Integrated"
- vorg 8y agoThe dividing line between what's a language and what's the IDE is fairly arbitrary. E.g. a language could conceivably come with a tool chain that includes CLI-driven refactoring, and an "IDE" would only need to be a graphical interface calling it.
- eloff 8y agoGo is a language like that, with e.g. the gorename tool for refactoring.
- opencl 8y agoThis is basically the idea behind the Language Server Protocol. The language toolchain provides a server and the IDE is a client. https://microsoft.github.io/language-server-protocol/ https://microsoft.github.io/language-server-protocol/
- pvg 8y agoThe dividing line between what's a language and what's the IDE is fairly arbitrary How do you figure? The language defines the runtime semantics in a way no IDE or refactoring tool does. It's a very bright line, unless you're conflating the distribution package of the language with the language itself.
- sigjuice 8y agoA language and an IDE are completely separate things.
- kevinherron 8y agoI believe those fixes are for the IDE plugin they release in parallel with every Kotlin release.
- rooam-dev 8y agoThanks!
- skocznymroczny 8y agoI think it's a symptom of times changing. People don't want to code in vi/nano anymore. A general purpose language launching today is expected to have a good support in an IDE. At least autocompletion, support for building and debugging, refactoring if possible. Also people prefer to have a one well working IDE plugin than several half-baked ones that don't offer much more than syntax highlighting. That's why IDE plugins are becoming important part of language development, either through IDE specific plugins like IntelliJ ones or more generic solutions such as language servers.
- meddlepal 8y agoThis. I really only bother touching languages with good to great IDE experiences which is why I basically concentrated on JVM tech for most of my career. The good news is that the tools story is improving across all languages these days.
- kleiba 8y agoIn other words, you're intenionally limiting your horizon because of convenience?
- meddlepal 8y agoNot really practically but yes in theory? The JVM is host to many languages with different paradigms and it is not like I don't futz around with other stuff. I refuse to write serious code in poorly tooled languages and at this point in my career there are also some areas of exploration I just don't care about (e.g. machine level programming with ASM or C/C++ and web dev with JavaScript).
- kleiba 8y agoAh, okay. What I didn't quite get from your original post was that you were talking about professional-level coding. That makes sense, I guess.
- geezerjay 8y ago
- skrebbel 8y agoIsn't that fantastic? The whole idea that developer productivity (and thus, tool support) shouldn't be a part of programming language design has been flawed from the beginning and I'm happy times are finally changing.
- seanmcdirmid 8y agoC# also has always been done like this, but 20 years ago only Microsoft could pull that off.
- pookeh 8y agoThe father of C# also created Typescript and we now see the same level of language tooling support OOTB with the Typescript compiler. It's a fantastic initiative -- in such a short time we see many IDEs support consistent auto-complete, refactoring and so much more.
- rpeden 8y agoHe also created Turbo Pascal and Delphi, which both had pretty great tooling support in their respective heydeys.
- jillesvangurp 8y agoC# emerged around the time that Java IDEs emerged. Basically, MS did a decent job with the C# language and tooling. However, it was very much inspired by Java, Java IDEs and Microsoft's own Java IDE (Visual J++). I think IBM was first with supporting refactorings for Java in Visual Age and Eclipse. Refactorings themselves emerged out of the Smalltalk community. MS was very motivated to support that for C# as they were getting worried about losing marketshare to Java at the time and because J++ got a lot of negative press (compatibiltiy issues, vendor lockin, the usual MS stuff). In the end C# was held back by the same factors that held back J++ and it took them until very recently to openly support it on platforms other than Windows.
- seanmcdirmid 8y ago
- kodablah 8y agoIt's not just you, and it becomes a huge pain for those that do lots of deep JVM development with Kotlin. I run into multiple language issues daily, and many of them are just undocumented facets of the language that you find YouTrack issues for. Many many corner cases are not accounted for, and the way Kotlin is under-spec'd and developed with so many of the IntelliJ libraries, you'll never see any independently developed implementation. This is not to say the language isn't great, it is. It's only heavy development while focused on lower level aspects that this becomes a constant theme.
- jillesvangurp 8y agoNot so strange if you realize that an IDE needs to do essentially the same type of things as a compiler in order to offer things like refactorings, autocompletion, etc. Idea developed Kotlin as a better Java. Most of their IDE is now written in it. Deep integration with the IDE was a design goal from day 1. They release the IDE plugin and compiler with the same version number. They are basically developed together. I usually find out about new Kotlin releases because my IDE prompts me to update the plugin. Happened to me this morning with 1.2.61.
- namedlambda 8y agoAn IDE is essentially an extended front-end for a compiler.
- floatboth 8y agoNot to be confused with https://github.com/JetBrains/kotlin-native https://github.com/JetBrains/kotlin-native — this is the Java version compiled with Excelsior JET, a proprietary AOT Java compiler thing.
- maaaats 8y agoSo it's the compiler that's native, not the output. Or?
- meddlepal 8y agoThe submission is about the compiler which is now shipped as native binaries that have been compiled using ExclesiorJET AOT. There is also a compiler for Kotlin that builds native binaries instead of JVM bytecode. It is a different project from the same company.
- _old_dude_ 8y agoI wonder why they have not used jlink + jaotc ? Maven is already able to compile a the code with Java 6/Java 8 and the module-info with Java 9. With jlink, you can then create your own jdk and AOT the part of the code you want with jaotc. Maybe those tools are too new and the perf are not great ?
- ptx 8y agoPerhaps the compiled output of jaotc is not suitable for distribution, but is intended more as an equivalent of ngen in .NET? JEP 295 says: "AOT compilation must be executed on the same system or a system with the same configuration on which AOT code will be used by Java application."
- mlevental 8y agosorry dumb question (i think that answer is yes): can i use this to build a statically linked binary of my kotlin app?
- 8y ago
- msl09 8y agoTons of bug fixes with no new features makes me very happy
- kodablah 8y agoThat's because it's a point release. See 1.3-M1: https://github.com/JetBrains/kotlin/releases/tag/v1.3-M1 https://github.com/JetBrains/kotlin/releases/tag/v1.3-M1 (blog https://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-in-kotlin-1-3-m1/ https://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-i...)
- repolfx 8y agoThat's true but JetBrains have been iterating the 1.2.x releases for a year now, and each one is like this - tons of bug fixes and small polishes. They add new IDE features but not new language features. That said, the IDE plugin can still use some stability work.
- hondadriver 8y agoJetbrains is like a new Borland. I hope they don’t end the same...
- h1d 8y agoWhat does that mean?
- bdavisx 8y agoThey had their own "languages" - Turbo Pascal (Delphi) and Borland C++, while not "new" languages, they were both very specific to Borland in their own ways. Their IDE's were much better than just about anything else available at the time. Then they made mistakes and competition came in big time (Visual Studio iirc). Anyway, it was a "long" time ago and I don't remember all of the details, but that's the gist of it. I'm sure someone will be happy to correct anything I got wrong :) edit: I don't think this will happen to JetBrains. edit2: Forgot the "Delphi" name, but it was basically TP w/ libraries.
- hondadriver 8y agoThis
- Doradus 8y agoYour history is a little mixed up there. The original author of Turbo Pascal, and Chief Architect of Delphi, became the Lead Architect of C#. It’s not like Microsoft came out of nowhere and ate Borland’s lunch.
- nobleach 8y agoI'm going to guess it's a reference to a language that sells an IDE. Even though Delphi could feasibly be written in any text editor (It was really just Object Pascal) the VCL was the big selling point. I've yet to write any Kotlin in anything other than Vim and Atom though... and Gradle built those apps just fine. So I'm not sure I see a real comparison here.
- deleted 8y ago