Hacker News new | ask | show | jobs
by mixedCase 2308 days ago
Probably the most surprising thing for you: Go is getting generics. No exact timeline, but it's happening for Go 2.0.

Rust is seeing production use in many places and its being accepted more as the sane alternative to C for modern development of high performance software. Ecosystem still not big or mature enough to make big waves, however, but that depends on how you interpret "big waves".

SPAs are used and abused, the tooling to make a performant progressive website with them has gotten better but the know-how is not widespread enough.

React has essentially won the mindshare battle and they are focusing more on functional components. But there are other things with their own healthy niche like Svelte compiling components that manage their own DOM, Elm is still around (and still not 1.0) and it has inspired other "Elmish" frameworks.

Desktop software quality has gone downhill and seemingly everyone is using Electron.

For many companies, Kubernetes is the new normal mode of operation. You should know it, but it's still far from "the way to do things" for industry in general, mostly due to its complexity and learning curve.

8 comments

>React has essentially won the mindshare

Casually job hunting right now, and it is insane how much React has won to me. Like I knew it was popular, but it seems like it has an outright monopoly with the remaining 5% of market share being split among all the other alternatives.

I don't know what the actual market shares are, but when looking at open positions around the US from coast to coast, it seems to have won.

> I don't know what the actual market shares are, but when looking at open positions around the US from coast to coast, it seems to have won.

React is currently in it's honey-moon phase, but many of its warts are starting to show. It probably has another year or two before peaking, but doubtful that such a large heavy-handed library will remain dominant forever.

Honeymoon phase was like in 2015. Were way past that today.

Also doubtful? What about Java?

>Rust is seeing production use in many places and its being accepted more as the sane alternative to C for modern development of high performance software

Not quite there yet.

Not quite where yet? It's seeing lots (albeit quiet) of production adoption, and it's still growing.
Viewed from here, Rust has far less penetration than Python did in (say) 1995. I see more Julia than Rust, for example.

Whatever its benefits, Rust remains quite obscure for now.

Probably more of a compelling alternative to C++, and not as much so for C (yet), from what I've read so far.
I'm not sure it's even a compelling alternative to C++ at this point. The borrow checker is sometimes unpredictable and hard to reason about and the language syntax is not always consistent. I think we will see more adoption in the future but there are reasons why it has not been adopted as much as one would have expected.
Yes. Besides being distinctly more like C++ than C, there are other less complex languages (zig comes to mind) that are contending for that area.
>React has essentially won the mindshare battle

I'm looking to learn a front-end framework and had a few people recommend Vue. Sounds like maybe I should go for React instead? In case it matters, I'm not looking to be a front-end developer. I'd mainly like to improve some small projects I have. And get the most value out of my time learning a framework.

At my company we decided to go with Vue and not React about a year ago, mainly to avoid the complex tooling that React absolutely demands that you add to your JS build process.

And we still like Vue a year later. It integrates well with the rest of our site, much of which still has not been rewritten in the functional-reactive style yet. And not having to do a full-on transpile/build step during development is a huge win for reducing cycle times.

As a backend developer who makes frontends for his projects, I enjoy Svelte. I found React to be quite complex when I tried learning it last year.

I’d use vue if not for svelte, probably.

I'm in the same boat, and also love Svelte and wish it success.

Svelte's reactivity was also something we had in Splash, the Microsoft-internal UI framework that was used to build the Zune desktop app and Windows Phone 7/8. I haven't enjoyed building UI since then, but with Svelte I can finally enjoy frontend development again.

Found svelte 3 after Rich's talk and managed to complete a production app using it. Found it not only a lot easier, but almost flawless.
same here - using svelte in production and it rocks.
Vue is definitely a better framework, and for built for larger projects (performance)... but React got the first mover advantage after angular abandoned it. ¯\_(ツ)_/¯
The Vue bubble is a real thing.
Huh?
Vue will be much more understandable. I've used both pretty extensively (React at work and Vue at home.) and I like both. React definitely feels more complex but there is also a lot more OSS to pull from.

One thing I don't like about React is that there are so many ways to skin a goat. We write functional components, and while I like them, this instantly makes half of google search results at least slightly irrelevant. However Vue is kind of doing this as well with the Vue 3 syntax change with backwards compatibility.

having done both vue and react on various things for the last few years, we ended up choosing vue for all future developments. But React is definitely way more popular ( and more marketable) they both can be used for large and small development. The upcoming Vue 3 is looking like a good progression too.
React itself is nice and simple, but all the cruft needed to run it is a bit off putting. If you’re happy to have a meg of app code you can build great things though.
Depends on what kind of project you're doing. Vue is still great for smallish projects, but if you're looking to make yourself marketable React is the way to go. For future proofing yourself, it might be worth looking into webcomponents as well. Likely there wont be anything built using them directly, but there are a bunch of new frontend frameworks that utilize them (stencil for instance). Next gen frameworks will highly likely take advantage of shadowroots and other parts of the spec under the hood, so it might be worth understanding that stuff now.

TL;DR

For resume building + career growth -> learn react

For quick and dirty side project -> use vue

For future proof / bleeding edge understanding -> use webcommponents

Go getting generics is definitely surprising. I used to even argue in favor of Go the way it is.

If there's one thing I got from these responses, is that I should look at Kubernetes.

Thank you for your answer.

Haha yeah, I remember y’all going on and on about it. That’s when I realized how many syndromes there are in Stockholm
Kubernetes is the thing everyone will be moving away from in the next 5 years because it was too complicated for their purposes.

The unfortunate ones that don't manage to move from it will be maintaining 5 year old kubernetes installations.

> Kubernetes is the thing everyone will be moving away from in the next 5 years because it was too complicated for their purposes.

Kubernetes solves a huge variety of problems with a single platform. In five years, Kubernetes will still be around, but there will be layers built on top of it that simplify common use-cases.

Kubernetes solves a huge variety of problems, as well as introduce new ones. Kubernetes is great if you need a scalable infrastructure, but currently, every mom and pop shop wants to ride the Kubernetes train.

The main problem comes when something breaks and building another abstraction layer on top of it won't help.

Oh, it'll be around, that's for sure. Like Cobol.
How popular is React?

I haven’t done much web development in several years myself.

Typescript is mentioned a lot on HN. Saw ReasonML mentioned recently. Vue.js has a movie on the way.

As far as Web frameworks go, what’s popular seems to change every couple years.

I think the reason React isn’t mentioned that much is because of how de facto its dominance has become.

The smaller-community frameworks are mostly interesting because they’re not React (i.e. they purposefully target different scopes, niches). The de facto standard framework for component-oriented front end development has been React for a while now. Typescript (which you see mentioned) complements react, it isn’t a component framework that aims to replace it.

React hasn’t lost any significant steam. You’re far more likely to get a job at a non-tech-centric company doing React today than you were.
Why kubertetes vs docker? And why rust vs D or golang ?
My God does Kubernetes sometimes feel like using a cannon to remove a zit.
Ha! I realized this yesterday after considering it (very briefly) for a home lab deployment—I’m pretty sure I dodged a cannonball on that one.
Docker-compose with nginx-proxy should work well for home labs.
You may also use Caddy instead of Ngnix. It's way easier to set up and customize.
Until it's not just one machine. You might briefly then use Swarm... But does anyone for long, whether production or home?

K8s has its complexities for sure, but to me it's the simplest - or at least 'only figure it out once' way of running multiple machines (besides having 'the webserver', 'the db server' etc., of course.)

I feel like there should be a better thing than kubernetes. In theory it’s simple, but in practice it’s so convoluted!
Yeah, that’s the plan I went back to when I realized I was way off track!
I can agree on this :p
> Why kubertetes vs docker?

Docker is for building a computer program to run on a single computer.

Kubernetes is for building a cluster, often across many computers with many programs.

They work together.

Kubernetes still almost always uses Docker as the runtime. Docker was late to the party with all the other stuff Kubernetes does. With Amazon, Google and Microsoft all offering managed K8s and Enterprise private cloud offerings too, I don't think unseating K8s as a management plane for cloud-native microservices will be trivial, even if the tech is immature and has valid criticisms.
Kubernetes and Docker (if we're talking about Docker as CRI, most often this is implicitly assumed) are totally different things.
"Rust is making waves!"

Rust ranks lower than Delphi on TIOBE, isn't used in a single aerospace, defense, or critical application. Ada has been for almost 40 years, is backward compatible to Ada '83, and has a proof subset (SPARK).

Those waves look more like pond ripples caused by a light breeze.

How about, "Rust - now with bigger pond ripples."

Didn't the comment you replied to say specifically the opposite of what you quoted?
If you take the time to read about it, you'll quickly realize TIOBE is pretty bad.
What index do you suggest instead?
To start with, I would try to fix the list here https://www.tiobe.com/tiobe-index/programming-languages-defi...

as well as adjust the query for programming-specific engines like GitHub. To have a programming language index not even consider github or stackoverflow as primary sources makes it a laughing stock IMO