For the techies out there – this is a fantastic read.
Couple of things to note.
He seems to be endorsing Go – he does not love it but plans on using it more. I need to check it out:
Go has made a deep impression on me, even though it doesn’t make me smile, the way C and Java and Ruby and Clojure did successively over the years. My intuition is that its types offer enough object-flavored utility to get by. And my strong intuition is that Goroutines and typed pipes hit a huge 80/20 point, ushering developers smoothly into writing functional code just because it’s easy and straightforward and readable. The next substantial server-side piece of software I build will be in Go.
He is not giving Node a ringing endorsement but does not seem to be shutting it down either:
NodeJS isn’t really functional, but if everything’s a callback and you’re single threaded, who cares? Anyhow, my biggest gripe with Node is the JS part at the end; more on that later.
He really gets into how the client side stuff is a mess – I don’t disagree but at the same time I am not sure why everyone thinks it should be easy or a cross platform solution is what is needed. Platforms exist and user’s benefit from their offerings. So yes – keeping up with this is hard but such is life:
The client-side mess · Things are bad. You have to build everything three times: Web, iOS, Android. We’re talent-starved, this is egregious waste, and it’s really hurting us.
I love that he said this – because it is so true:
Browsers suck too · This is an unfashionable opinion, but I can’t see why it’s controversial.
He ends it all with this:
What’s next? · On the server side, no drama I think; everything gets smoother and better. These are the good old days.
On the client, I just totally don’t know. Historical periods featuring rococo engineering outbursts of colorful duplicative complexity usually end up converging on something simpler that hits the right 80/20 points. But if that’s what’s coming, it’s not coming from any direction I’m looking, so color me baffled. Maybe we’re stuck with clients-in-triplicate for the long haul.
I tend to agree. For some of us doing major multi-platform work it is even more intensive since we have to support the three (web, iOS, and android) plus TV’s (STB, consoles) and probably even Windows Phone. A super big chunk of work. If you are good some of this can all be built on the same back end and some of it, using HTML 5 and responsive web, can also share client code.
Is this how the future will look – I think so. Cause the platform folks want the lock in and the users want great experiences that for the time being only happen when the code is mostly native. Maybe this will change someday but not anytime soon is my guess.
And of course – it is just a guess.
Read the whole post though – it is very well thought out take on the current state of development.