4 ms·
To what if don’t mind asking?
by sheeshkebab 8y ago
To what if don’t mind asking?
- virmundi 8y agoI'm moving to Go, as much as I dislike the language. Java is bulky. I need to buy servers from Linode, but on a budget. Because Java 11 is not supported on the alpine docker, the apps take up 512 MB even with stack set to 128k and heap at 64m. I can do the same systems in Go for a fraction of the sitting still memory consumption. I also get better performance/MB of RAM. Add to this that Spring is becoming a sprawling behemoth with massively outdated tutorials lurking in the top results of Google. At this point I wanted something that was easy, GC'ed, with good tooling. That's Go. DLang looked promising, but it's not easy. It also suffers from the out-of-date tutorials and books issue (my D book still says I have to pick between Pheobos and Tango collections). C++ seemed like overkill. Go provides a simple binary with a simple runtime with a simple RAM pattern. I do like Java. I know it well. I'm literally typing this with a Java Ring on (https://www.ebay.com/itm/JAVA-RING-RARE-Sun-Microsystems-JAVA-ONE-Promo-/300495374337 https://www.ebay.com/itm/JAVA-RING-RARE-Sun-Microsystems-JAV...). Sadly, the JVM at this point doesn't fit my needs. Go is pretty terrible in some of aspects, errors and the way the community decides to carve files up, and the annoying way functions on structures float freely within a file, but I couldn't find another language that compiled to a binary, was simple, and had good library support for threading (so OCAMLs out)and RabbitMQ.
- nine_k 8y agoI suppose you ruled out Rust because of the lack of simplicity?
- kjeetgill 8y agoThe choice for between them is like asking, "Do I start my project today or do I learn Rust and start it in 3-6 weeks?" If you don't already know Rust I'd never recommend it for a project from a "your requirements meet its strengths" perspective. Python or Go you can pick up as you go pretty easily. Even Java can annoying if you're new just getting set up with Maven and Intellij. Rust is on my "Things I'm Excited to Sit Down and Learn" list but it's not something you'd pick up in 2 days. Learning Rust is a project unto itself.
- zvrba 8y agoWhat about .NET Core?
- virmundi 8y agoThree things. Core, to my knowledge doesn't compile. It has an option to bundle the VM, but I've never played with it much. Two, I solely run Linux. My understanding is that Linux is still the redheaded step child of MS. Finally, I don't like MS. This is a bias that is waning with my use of VSCode. I don't want to spend the money on the licenses. Also, I got bit by a compiler error in VB.net where branches of IFs were ignored. You'd enter the first block (if true), then fall into the second (else). All that combined soured me on MS.
- pron 8y agoThere's a lot of work being done on making Java more container friendly. E.g., Project Portola [1] (Java on Alpine Linux), jlink and modules, and Valhalla would likely reduce memory consumption. You can even compile some Java apps AOT these days with native-image. Plus, there are plenty of lightweight alternatives to Spring. [1]: https://openjdk.java.net/projects/portola/ https://openjdk.java.net/projects/portola/