3 ms·
The problem with Go specifically is that it's not great for processing arbitrary JSON and especially not your typical frontend code. One issue is that you don'
by dgb23 7mo ago
The problem with Go specifically is that it's not great for processing arbitrary JSON and especially not your typical frontend code.
One issue is that you don't write Go code, you write Go plus some templating language (like html/template or go templ). Not being able to seamlessly move from regular code and template code adds friction and is limiting while developing, figuring stuff out and iterating.
Another problem is that the type system is often not expressive enough for frontend code. So you either have to generate types or end up with something like map[string]any, which is awkward and gives you less guarantees and support than what dynamic languages typically offer (in other words, dynamic languages are better at being dynamic languages than Go).
Now these problems don't emerge in every web UI based project, but when they do, it's really painful and limiting compared to what one is used to.
- Yokohiii 7mo ago> One issue is that you don't write Go code, you write Go plus some templating language (like html/template or go templ). Not being able to seamlessly move from regular code and template code adds friction and is limiting while developing, figuring stuff out and iterating. Wow that is the cheapest excuse I've heard recently. Templating languages can certainly be dogshit, but demanding it to be the native language is pretty weird. Also it's not like the JS ecosystem spawned their own weird abominations to do simple string concatenation. Sorry for being harsh, I understand that as a general inconvenience but attributing JS as superior is just bold.
- dgb23 7mo agoI‘m not even a fan of JSX, but it’s simply way more productive than having a separate, idiosynchratic language for templating. The issue is not an aside or secondary. Web development is a highly competitive profession. I literally cannot afford too much development friction. There are very strong alternatives to JSX that I prefer btw. Lit-html builds on JS native template literals, the performance and bundle size is astronomically better. PHP I wouldn’t recommend anyone, because of the insane footguns, and in recent years it has become increasingly unstable, but if you already know it well, then it has a lot of properties that are missed in other ecosystems. Clojure does it best from a productivity standpoint if you own the whole stack. The REPL workflow is far ahead of anything else I tried and expressing UI as regular, compact data literals is a unique advantage. Now I like Go, and I tried it for web development, because I consider it a very high trust language and ecosystem. It just has a few disadvantages in that department when used in the trenches.