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.
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
And those are enormous advantages. It will also get you a lot more jobs. I see Java jobs everywhere. I barely see C job postings at all.
It would be C++. Its versatile enough to do everything with it.
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.
Yeah Rust can do all of those things as well, JavaScript is obviously much more common.
a front-end language
I love rust but this requires killing the web app and using basic html. which i'm also pro.
Well, not quite, since Rust got WebAssembly support quite early.
Web assembly isn't quite the same as a js frontend though, is it?
It's typically for complex single page apps and has some weirdness with normal usecases, no?
I could be wrong but I was looking into it a few months ago and it seemed immature.
Yes, it's largely for SPAs, but you said "requires killing the web app", and most web apps are SPAs.
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.
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.
Absolutely! I'm just wondering if everyone has that one language in their hearts :)
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.
Just scanning through the docs and YouTube, it doesn't seem to do anything that I can't easily do with Go. What am I missing?
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.
For personal preference, assuming I didn't have to worry about getting a job, Lisp no question.
Otherwise, I'd have to go with C++.
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.
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.
I have used Kotlin a bit for a hobby project and it felt like they were 95% done with a 1.0 version. I love the promise of a single code base that can run on the JVM and browser, but it is not all there. Until recently, the API was not guaranteed to be stable. Every one in a while, I hit a feature that is JVM only or does work right in JavaScript. The JS compiler will "helpfully" remove uncalled public functions unless you explicitly mark them with JsExport.
Also, from what I can tell, only InteliJ is the only supported IDE (which makes sense, since they are the language developers). There is an official Eclipse Plugin, but the last time I tried it, it did not work and tried to take the entire IDE down with it.
Having said that, it was very close to complete and I have not worked on that project for a few months, so it could all be perfect now.
Kotlin jvm is extremely stable, not sure what issues you could be encountering there. The API has been guaranteed to be stable for years and years now. And sure, the other stuff has experimental functions, but they’re clearly marked.
Kotlin jvm is extremely stable
I don't want to use Kotlin on (just) JVM. The reason I am working with Kotlin is Kotlin Multiplatform (so JVM and JavaScript). The JavaScript side is where all of my frustrations have come from.
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.
That's rather beautifully put and extra marks for p-h-t! 😁😜
I learned low level stuff to give prices to traders before the trading interval ended. I'm serious. Our four man hedge fund was under the wing of huge French bank. Pricing in the era was painful.
Asked for a price in the era used to take minutes for derivatives; I was told much faster wasn't possible; that's a red rag to me. I had no choice but to get dirty and go low level again.
The traders were old style barrow-boys, their like disappeared maybe a year or so after. Derivatives have a load of parameters that go with the actual price, "the Greeks", and market traders easily remember sets of shopping lists and prices and quantities at the same time. They were a shoe-in before computers were actually useful on a trading floor.
I learned to program on a 6502 RISC chip in Acorn Assembler. I liked it because BASIC was shit in the era (GOTO Fcuk My Life), like it got much better .. 🤣😂 Knowing how programs work allows me to try to make it faster. These days I think know compilers are smarter than me.
Rust appeals too for the time-travel aspect. I'd like to learn to write a threaded program. I would have loved to do that when back in the day, I always regretted the way it worked, but it was way beyond me 😭 .
I wouldn't mind looking at my old original killer pricing program, I knew it could be optimised then, but I just didn't have the time or the skills to go that extra mile. I regret that bitterly. 😡
If you get time, let me know of your (t)rust travels. Bon voyage.
I'm surprised no one has picked either macro assembly on their favorite ISA or, perhaps just to screw with people, Forth.