Can you bet on something for the future?
It's incredibly simple and old school. No kubernetes, docker, cdns, etc.
Write code, build binary, ship binary.
I say Go. It works nicely with old school tooling (editor, tags, grep) and a command line. That's a charm for me.
Advanced tooling is available. You can take 1 step further with LSP integration. Or 2 steps further with a Jetbrains IDE. But you are not forced down the path of advanced tooling just to get by like you are with Java/C#.
> Can you bet on something for the future?
I say Go. The future may be parallel processing. Goroutines are easy way to harness that power and don't "pollute" other code around them like async C# does.
Lazarus is cross platform and fast. The GUI tools are unmatched.
Charming tech stacks in my understanding are fun to use and productive the same time. Still in demand tech stacks are well hung things that still are relevant. Hard to find skills are barely common. Betting on something for the future is not something that really falls in any of these categories.
So, still relevant, well hung, versatile tech stacks I would also bet on for the future are C#, Python and SQL (e.g. Postgres).
More modern and less hung alternatives would be Rust, Go and TypeScript / Javascript (and some of the more modern Boilerplates / Frameworks).
Still relevant, woth learning and hard to find is LISP.
Mojo (as possible python successor) would be something I'd bet for the future unless something goes really wrong - but that has to be proven.
SQL, as hard as folks try, it's not going away.
Also Ruby on Rails too.
Future? JavaScript. Or Python or Ruby or C# or anything else you're productive in, if you prefer.
I have tried a bunch of frameworks across various languages. Sometimes it’s just better to keep it simple and boring. It’s fun to see stuff just work and perform the same at bigger scale with literally little changes on my end.
Hard to tell what the future holds, but those technologies will be around for longer. Adoption within the industry is much slower that you’d anticipate.
Personally I’d go with the GoX-Light-Stack (just made that up): Go + SQLite backend and HTMX frontend.
- high-performance, low-latency data processing skills
- out of the box thinking and "I can do it" attitude
Charm:
- Java lives its second life now with JVM, OpenJDK and GraalVM.
Shameless plug - just released a Java platform for building enterprise apps as an opensource project: https://github.com/openkoda/openkoda
Throw in a PHP framework (probably Laravel for rapid development) and use server side rendering.
Maybe add in Redis for caching too.
All hosted on a single Digital Ocean droplet.
TBH it does what it does well, and I rarely see a need to reach for an alternative.
Specifically - its greedy, single-machine, numerical array computing. If I need something distributed, evaluated lazily, or data frame oriented I reach for a different tool.