6 ms·
As someone who there's a lot of programming with C# and loves it, are there any good alternatives? This plus the stuff they're doing with Minecraft recently ha
by bioemerl 4y ago
As someone who there's a lot of programming with C# and loves it, are there any good alternatives?
This plus the stuff they're doing with Minecraft recently has me very much wanting to get away from them. They've made it clear that they will abuse any power they have.
However, none of the alternatives seem that good. Python is slow, dynamic, and a pain to write large projects in, JavaScript is reliant on typescript and TypeScript is Microsoft.
Go is Google. Enough said.
Rust seems cool, but I'm not really on the system's side of programming so it's not super suited to the sort of things I want to do.
Is the only alternative Microsoft doesn't have their fingers in right now Kotlin? It's going to be expensive, but jet brains even provides the IDE so I can get away from VS code.
- sidpatil 4y agoWhat about Java?
- Pokepokalypse 4y agoYou mean: Oracle™ Java®.
- bioemerl 4y agoUnless I'm wrong, my understanding is that Java is just kind of a bad language. What makes C# great is how heavily it has leaned towards functional programming. Java, As far as I understand, is still very object-oriented and very clumsy. Kotlin, as far as I understand, fixes those issues.
- thesuperbigfrog 4y ago>> Java, As far as I understand, is still very object-oriented and very clumsy. How much modern Java have you read or written recently? Modern Java supports functional programming and is not as clumsy as it used to be: https://betterprogramming.pub/functional-programming-in-java-explained-ae396e9e516f https://betterprogramming.pub/functional-programming-in-java... Java also has better cross-platform support than C#.
- lostmsu 4y agoWhat is Java's equivalent of Xamarin or Avalonia? How do I run Java on iOS?
- thesuperbigfrog 4y ago>> What is Java's equivalent of Xamarin or Avalonia? Xamarin - RoboVM was a Java-based competitor to Xamarin which Xamarin acquired in 2015, but it was shutdown in 2017 after Microsoft acquired Xamarin. There are some Java-based toolkits such as https://www.codenameone.com/ https://www.codenameone.com/ that target mobile, but they are probably not as well funded as Xamarin has been under Microsoft. From what I hear Xamarin will be deprecated and replaced by MAUI. Avalonia - Java has had multiplatform windowing for much longer than C# has. The Java Swing toolkit has been part of Java for more than a decade and is still supported in OpenJDK. JavaFX (https://openjfx.io/ https://openjfx.io/) is a newer toolkit that was originally part of Java and was later spun out into its own project. How well are Xamarin and Avalonia supported if you are doing C# development on Mac or Linux? >> How do I run Java on iOS? As stated above, some tools such as https://www.codenameone.com/ https://www.codenameone.com/ and https://github.com/google/j2objc https://github.com/google/j2objc that convert Java code to target iOS. I have never tried using those tools so I am not sure how good they are.
- lostmsu 4y agoXamarin was quite descent even before Microsoft. MAUI (from little I saw) looks like a rewrite of Xamarin Forms, but the rest is basically Xamarin with terrible name. Neither codenameone nor j2objc seem to be anywhere close in terms of features (including tooling).
- invalidname 4y agoCodename One is more like flutter with a few other things tucked on top. Since it integrates with maven etc. it works with Javas native tooling out of the box. I'd argue it's way ahead of Xamarin.
- nequo 4y agoYou don’t need to write your code in Java for it to run on the JVM. You can write functional code in Clojure and use libraries written in Java.
- kbenson 4y agoAh, Oracle, the last bastion of restraint, good sense, and companionship with open source. /s
- cabraca 4y agowhile i understand your sentiment, over the last few years java became a lot less oracle-centric. JavaEE moved to Eclipse Foundation, openjdk became a reliable open source alternative to the oracle version, a lot more companies are involved in the development process. yeah, oracle still provides a lot of manpower but it moves in an overall positive direction.
- bioemerl 4y agoThis is part of the reason I'd be all right to move to something that relies on the JDK. I had heard this before when people were talking about how c sharp has gone open source.
- kbenson 4y agoI understand and mostly agree, but as a solution to someone that stated "Go is Google. Enough said." they might not find it sufficient...
- rhapsodic 4y ago> JavaScript is reliant on typescript How is Javascript reliant on Typescript? I've written an enormous volume of Javascript without ever having touched Typescript.
- bioemerl 4y agoI guess I should say I don't want to code in a purely dynamic language, and because of that it is reliant on TypeScript. I don't want to use JS without types. You 100% can do that, I just don't want to.
- thesuperbigfrog 4y ago>> As someone who there's a lot of programming with C# and loves it, are there any good alternatives? Java is probably one of the most similar in terms of capabilities and use cases. Rust is popular, but targets more of the same use cases as C++ does. Unlike C# and Java, it does not use garbage collection which might be an advantage or disadvantage depending on what you are trying to do.
- daviddever23box 4y agoThere are quite a few Microsoft contributors to Golang, some of whom also work on Rust (which is itself quite well suited to embedded use). Not sure what the hate on Google is based on; solid engineering goes a long way.
- bioemerl 4y agoGoogle is another one of those companies that controls people with whatever power you give them. I don't want to be reliant on them as much as I don't want to be reliant on Microsoft. I'm sure their engineers are great, as is the code they write, but that makes them what you might call a tasty poison.
- UnpossibleJim 4y agoI mean, you like speed and compiled, C and C++, depending on what types of projects you're into. They aren't really replacements for backend systems, though. I know people on HN are tired of hearing the same drumbeat over and over but Rust really is an exciting space and community to develop in right now. As far as IDEs, you can try Atom or CodeBlocks or something (I'm not sure... I use VSCode because I used it before MS made it evil and I'm not going to let them make me stop).