Rust, it is a pleasure to work with and far more flexible in where/what it can run then a lot of languages. Good oneverything from embedded systems to running on the web. Only really C and C++ can beat it on that, but those are farlesss pleasant to work with. Even if it is not as mature in some area quite yet, it just gets more support for things as time goes on.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
DotNet Core as a whole (C# + F# + other languages that are being ported to compile down to a DotNet binary).
Because it has all the things Java promised us - frictionless, painless, cross-platform programs - but is implementing it far better than Java ever could.
Honestly, DotNet Core is now at least a half-decade or more ahead of Java in terms of the base platform and C# language functionality/ease-of-use. The only advantage Java has at this point is it’s community ecosystem of third-party features and programs.
I remember my first job working with C# - this was the common sentiment: it's a Java that is better than Java at being Java. I mostly agree with that.
Try using Kotlin some day, though. I consider that language to be even better than C#, and it additionally gets to leverage the JVM ecosystem.
Kotlin > C# > Java, in my book
I've been meaning to give F# a go but I never seem to get around to it. Seems like an interesting language
Get around to it, F# is fantastic! 😄
C, because it can run everywhere and I won't be limited on the things I can make
Python. I'm in data science. Sure I could write all that code in C or C++, but my time spent coding all that extra boilerplate is better spent on analysis.
I'd probably pick something esoteric and then just stop programming, tbh. I enjoy being a polyglot programmer, and learning many languages and learning from many ecosystems is incredibly interesting to me, far more than hyper-specializing in a single language would be.
Malbolge
INTERCAL
C, can build any other language from that :D
And if i am gonna be miserable, may as well inflict as many vulnerabities on everyone else while I am at it.
Rust:
- It covers all bases, from embedded to backend to webdev to gamedev.
- I could create libraries with it, which can be called from other languages.
- It's good.
It would be C++. Its versatile enough to do everything with it.
Scala. Expressive, concise, can scale from simple to sophisticated. Sufficiently powerful - has metaprogramming, advanced types. Runs on a world-class runtime and takes advantage of a huge, mature package ecosystem that isn’t going anywhere.
Likely either C or C++, both languages have been around for a long time and both are still used in huge projects
For me it would be C/C++.
Probably Ruby. For some reason .. no, that's a lie .. playing with Exherbo, Gentoo and Funtoo, but mostly Exherbo, made me loathe Python. However, everyone in the data processing arena seems to use it, so I'm bound to have to change my ways eventually! For "Ruby": read "Python".
My days of needing high-speed low level languages are long gone. I learned C on Borland C++ back in 1990 to price derivatives on 386s. Loved it.
If I mess around with any language it's for fun. I intend to commit suicide, when my time is done, by the percussive head trauma that learning Haskell will cause me.
See, I love Haskell, and the reason I'd choose Rust for my one language is the feeling that in principle anything I can do in Haskell I can do in Rust, with a little extra percussive head trauma; but I can never have the control in Haskell to do the beautiful efficiency I can do with Rust if I ever actually did any programming.
C, because I can find a compiler or interpreter for other language written in C (I may need to run a few steps to get there), and thus work around your silly and nonsense question. Seriously, I use multiple languages because there is no one true language to rule them all. I use C++ for problems where bash would be wrong, and bash where C++ would be wrong. And some python, cmake, lua mixed in for good measure. I'm looking at Rust to add (rust doesn't like the way our system designed so it is hard to figure out how to implement it)
PHP or C++, I love both of them for different reasons. Tough one deciding between the two.
What are you?
A satanist?
Don't lump them in with us! I'm a proud member of the Satanic Temple, and I wouldn't touch PHP on my most hedonistic night.
There's the Devil, and there's the Devil.
Ruby. It’s designed for developer happiness, and it’s beautiful. Not as beautiful as it once was, but still lovely to code in.
I just can't comprehend how anyone can think ruby is enjoyable to work in or beautiful. To me it's a dumpster fire. I would almost rather write php.
I can’t imagine thinking the opposite either. People are different. Matz’s attempts at backwards compatibility in Ruby 3, particularly wrt typing haven’t been kind to its more elegant origins, but ‘dumpster fire’ is baffling to me. Some people do like php , though, so 🤷🏻♂️
Unison. If it were to gain mainstream adoption, it would change the world. It’s a crazy futuristic idea and no one else seems to even remotely be approaching the same thing.
I know this is a harmless "what if" but let's be encouraging people to explore more languages not to choose a single one to be everything for all time.
Kotlin without a doubt.
Gives you more flexibility and freedom that most scripting languages. The syntax is clean and concise, the tooling is amazing and can compile to JVM, JS, Native and WASM.
Ideally I'd choose Rust because I enjoy working with it, but don't have enough time to commit to it at the moment. But being Practical I'd probably say Java, its easy to get stuff going and has been around forever so it's easy to find solutions etc.
I don't really want to do everything in one language but if I did have to pick it would probably be Julia. It's slightly simpler than Python, and significantly faster without relying on APIs written in C. And has some really great features like broadcasting, multiple dispatch, and a good type system. The only place I feel like Python has it beat is quantity of libraries and support network, which both basically come from the same origin of just having more users. I'm hoping more data science types switch over in the next few years, since Julia is already great for most things mathematical. And I hope that momentum allows Julia to perhaps reach out to other domains.
JavaScript. I can't think of anything else that can be used for everything. It's a back-end language, a front-end language, it can be used for styling and animation, it can be an OOP language or a scripting language, and can make database queries & submissions. Is there another language that is as versatile for website development? I can't think of one.
So while this is probably a good answer to the hypothetical question, that's actually not a good thing, you realize that, right?
Special tools exist because different problems require different solutions. And sure, then can be a huge overlap of those tools, but you can't literally do everything with a single tool; chances are it'd be a shitty tool. Either you can't actually do everything with it, or it's so complex that you don't want to use it in the first place.
Javascript is somewhere in between, in the sense that it's both kinda terrible for most of the jobs you mentioned, while also not actually usable for "everything" - i.e. it'd be a terrible language for anything that needs to be performant or reliable. Hell, we have JS in crap like Gnome now and it's a nightmare.
I would be torn between Python and Rust.
The case for Python is that I'm already very experienced in it (nearly 20 years), there's a good job market out there for it, and the ecosystem is one of the best in existence. It's like a comfortable well made jacket, maybe a tad worn in some areas but very functional. And it's not standing still, with a community that's committed to constant improvement.
Rust is more fun. I like the way it's been put together. It can also be used in more areas. There are some niches (wasm, low level, kernel) where Python just doesn't work. It has been able to benefit from the years of mistakes from Python and other languages on things like how it handles Unicode strings. I don't know it as well as Python, but I barely get a chance to work with it so that could change quickly in time.
DNA
C. I've been programming for over 30 years and it's the only language to survive. Imagine if I was asked this question 30 years ago and picked perl or Pascal, I'd be screwed today.
Clojure, can't stop using it, so fun to use!
Big Kotlin fan.
Similar reasons to the commenter that talked about using a world class runtime, but the JVM is tested and works.
And now I can use Kotlin to make cross platform applications, while still utilizing the Java knowledge that I unfortunately possess? Perfect!