I agree. The limited expressiveness in Go also worked as an advantage because of its simplicity. Additionally, as the article mentions, the lack of lambdas made the syntax less convenient. For me, it struck a good balance before generics and other features were added.
What an amazing track record from Joel Spolsky: Launched Fog Creek, then StackOverflow, Trello and now Glitch (which I think is the successor of Fog Creek)
I switched from google closure to esbuild and it is amazing how fast and well it works. It even generates smaller code in my use case (200k lines app).
Also the creator is really nice. He implemented two features I requested right away, which surprised me a lot. What a great project!
I have noticed that the AST nodes don't have a parent reference. I wonder how it knows for example when encountering a "continue LABEL" that the code is nested maybe deeply in a loop with that label. The only way I would think of is traversing the tree up but I think there is no way of doing this. How do they do it?
This reminds me a lot about ASP.net Webforms. Maybe this is better conceived but trying to program the web like a desktop app created more problems than what it tried to solve.
It's an sports club management system (online reservations, classes, memberships, POS, Inventory...). Lots of modules that I will like to explore the possibility of selling it to another market.
I have been using Go in production since 2012 and I find it a fantastic tool. Except for point 8 ("The sort.Interface approach is clumsy") the rest are features for me.
I am so grateful for the Go creators for having made it as it is. What worries me is the recent changes: modules (never had a problem with GOPATH) and Go 2 proposals. I hope they are able to keep their vision as it started.
I'm a little bit tempted to make a simple compile-to-go language.
That's what I did for my current project. I love Go but for web apps is not the best in my opinion. I had some spare time and ended up building a VM that compiles typescript to bytecode. The performance loss is minimal, I still use the Go std library but it is a pleasure to use VS Code, generics (the VM ignores types but the TS compiler gives you static type safety, autocompletion, refactoring, etc...) Also exceptions is great for web apps where usually there is nothing else you can do but save all the info that you can and show an error to the user.