6 ms·
It's the web. It runs HTML, CSS and JS. Wanting to code your web app in anything else is... I don't know... petulant? And wanting to lose HTML but keep CSS seem
by marcus_holmes 7y ago
It's the web. It runs HTML, CSS and JS. Wanting to code your web app in anything else is... I don't know... petulant? And wanting to lose HTML but keep CSS seems a little perverse ;)
Every language has flaws (yes, even LISP). Every language has a different purpose. Javascript has done an amazing job so far, and there are millions of people writing some great things in it. Yes, there are also millions of people writing some terrible things in it, but that's on the people not the language.
I think having a way of running Go as my front end is going to be great, and I look forward to testing it out. I will heave a huge sigh of relief if I can just code in one language for the whole stack.
But that does come with complications. There are currently exactly zero Front End Developers who write usable web front ends in Go. Given the complexity of writing web front ends (and that's not going to be any easier in compiled Go or Rust than it is in interpreted JS), and the paucity of experience in writing them, I'm not sure moving to a Go front end is wise for another few years. Even then, I'd be surprised if Go won that particular competition, and I wouldn't be surprised to find that we have to run Python in Web Assembly because that's what all the Front End devs use. I like Python, don't get me wrong, but I don't see Python in WA as a huge step up from native JS...
- stcredzero 7y agoIt's the web. It runs HTML, CSS and JS. Why? Is there some first-principles thing here? What if Flash was open sourced, massively cleaned up, changed to be search friendly, and ended up with well curated app marketplaces and code signing? The language Flash used had a shared heritage with JS, and actually did a better job of providing "just works" write once, run everywhere. Many Smalltalk variants had a practically bulletproof write once, run everywhere record of performance. What if properly code signed and sandboxed Smalltalk plugins had won? That could well have resulted in a more open web than what we ended up with. Wanting to code your web app in anything else is... I don't know... petulant? Why? There are currently exactly zero Front End Developers who write usable web front ends in Go. If the developer experience becomes a lot more like developing against a desktop UI framework, there are a ton of experienced older developers who could quickly jump in. It's not rocket science. Actually, in many ways, desktop development is easier than the web front end. For that matter, why not build something which is 1-to-1 isomorphic with React? (EDIT: I see now, that's already sort of the direction they're going for!) I'm not sure moving to a Go front end is wise for another few years. Which I would interpret as a sign that it's the right time to jump in to be a pioneer!
- untog 7y ago> actually did a better job of providing "just works" write once, run everywhere. It did, for its time. But there's a tremendous amount of work done in scaling UIs between mobile and desktop viewports on the web that Flash could never easily achieve, and most native frameworks are still struggling with today. > If the developer experience becomes a lot more like developing against a desktop UI framework ... then the mobile experience is crap, yeah.
- stcredzero 7y agoBut there's a tremendous amount of work done in scaling UIs between mobile and desktop viewports on the web that Flash could never easily achieve, and most native frameworks are still struggling with today. Keep in mind that Flash was effectively abandoned/deprecated. Again, there's nothing first principles here. The greater effectiveness of MacOS in dealing with scaling UIs is a demonstration of this. > If the developer experience becomes a lot more like developing against a desktop UI framework ... then the mobile experience is crap, yeah. Credit where credit is due. Look at what Apple has achieved in terms of this. In a way, the argument tactic is straw-manning here. Instead of picking a few glaring errors from past frameworks, shouldn't we be looking at the best of what existing frameworks can do, and try to build that?
- pjmlp 7y agoFlash lives on as Animate CC https://www.adobe.com/products/animate.html https://www.adobe.com/products/animate.html
- marcus_holmes 7y agopetulant (and I'm still not sure that's the right word for it) because instead of learning the technology that everyone else (i.e. the standards bodies that decide these things) decides is what we're doing now, you gotta do something different. Not better, but different. Flash was proprietary tech. Eventually Adobe would have worked this out and owned the internet. You can't have proprietary tech underpinning everything. The story of video codecs bears this out. I developed a ton of desktop UI in Visual Basic. It was easy. But I didn't have to allow for random screen sizes, random browsers, random OS's, random accessibility problems, rarely had to allow for random languages (and that was difficult), and I had a synchronous back end that I could wait for between clicks. Sorry, but the difference between desktop and web UI is huge, and underestimating that gap is a major cause of bad web UI.
- jwalgenbach 7y agoMeh. Wanting to replace javascript for frontend webdev is no different than wanting to run javascript on the server. It's not perverse or petulant. Everyone has opinions... I've written a lot of python, javascript, C and go in my career, and my opinion is that javascript has done a barely adequate job despite being the only game in town.
- marcus_holmes 7y agoI feel the same about C for systems coding. You're not wrong.
- jwalgenbach 7y agoI'm actually with you on C. C has the excuse of being portable assembly and from the dawn of time. Javascript is just the result of shoehorning something into the browser quickly.
- pjmlp 7y agoC is 10 years younger than the dawn of systems programming languages and it is only portable Assembly if the CPUs are still PDP-11 look alike.
- joelfolksy 7y agoIt's the web. It runs HTML, CSS and JS. Wanting to code your web app in anything else is... I don't know... petulant? Thank god for the petulant, else we would still be foraging for berries. Every language has a different purpose. What is the purpose of C#1, when one could use C#3.5?