4 ms·
Why didn't you port it to Kotlin instead? Much better language than Go in every aspect and also comes with an auto-conversion tool.
by edem 8y ago
Why didn't you port it to Kotlin instead? Much better language than Go in every aspect and also comes with an auto-conversion tool.
- kjksf 8y agoKotlin can already use existing Java library, I presume. The goal for the company was to enable an estimated 1 million of Go programmers to use RavenDB database. This is Java AND Go (and Python and Node) scenario, not Java OR Go.
- deleted 8y ago[deleted]
- hactually 8y agoSingle executables yet without JVM? Static typing? Simplified toolchain without make/maven files? My big one after swearing off of Java was never needing an IDE to do even the simplest things - is Kotlin useable without an IDE?
- mustardo 8y ago> Single executables yet without JVM? Kotlin native is coming along, uber jars are popular so only other departments is the JRE, Docker can bundle that > Static typing? Yes with good type inference and "null safety" > Simplified toolchain without make/maven files? You can use the compiler directly? But for anything serious a build tool is pretty essential for any language? At least you have options > My big one after swearing off of Java was never needing an IDE to do even the simplest things - is Kotlin useable without an IDE? You could write it with a Morse Code Keyer if you really wanted
- eikenberry 8y ago> Single executables yet without JVM? Yes. The JVM is Java's biggest downside, so why would you want to just move to a different language on the same overly complex (to put it mildly) runtime.
- mustardo 8y agoI'd argue it's one of javas strengths, its fast and other than increasing max heap size tuning is only necessary for the hardcore FAANG etc What's complex about installing openjdk-<version>jdk from your package manager? Your app normally bundles library dependencies so no virtual environment fuckery like python Ruby et.al
- rsynnott 8y agoI can assure you that you don’t need to be a FAANG for tuning to be necessary...
- deleted 8y ago[deleted]
- Tharkun 8y agoWhat's your basis for this rather contrary opinion?
- eikenberry 8y agoIn order to understand the issues you might have with an application you need to have a decent understanding of its runtime environment. From the hardware on up. The JVM adds a huge new runtime that you need to understand how it works and its possible failure points in order to be able to effectively develop software and diagnose issues. So, IMO, it goes against the basic precept of software engineering. That of taking a problem and breaking it down and simplifying it in order to develop a well understood, maintainable systems. You don't simplify something by adding complexity.
- svick 8y ago> You don't simplify something by adding complexity. Yes, you do, it's called abstraction. For example, C compiler adds complexity when compared with assembler, but that lets you significantly simplify your code. And without abstraction, modern software development would not be possible. Of course too much abstraction can be a problem (which is why some people still program in assembly), but that does not mean JVM will always be the wrong solution.
- luord 8y ago> Static typing? Not only not an advantage, but kotlin does have that so I don't understand what you were going for here.
- masklinn 8y agoIt's a client library for a database server. They were contracted by RavenDB to build a Go client library, the existing Java client is not a bad starting point for that as the languages are fairly similar. Kotlin can just use the Java client directly.