3 ms·
Python is a much bigger language than Go. Metaclasses, decorators, list comprehensions. I could list feature after feature. Granted, some of these are rather ad
by aaron-lebo 11y ago
Python is a much bigger language than Go. Metaclasses, decorators, list comprehensions. I could list feature after feature. Granted, some of these are rather advanced features, but their very existence only adds complexity.
Go, because it is so (even overly) simple works really well in this domain. It's also nice because with type deduction it feels dynamic, but it still has some very C-ish features. You could easily go "up" to Python or "down" to C from Go. Even after years of Python programming, there's a lot of concepts from low-level languages which you never touch.
- pcwalton 11y agoIn place of metaclasses and decorators, Go has some combination of "go generate", the reflect module, magic anonymous structure embedding, and structure field tags, all of which add up to a good deal of complexity and none of which Python has. Similar story with list comprehensions vs. Go's magic builtin for loop syntaxes. I think Go probably does have simpler semantics overall than Python does, but not by that much.
- mcphage 11y ago> but their very existence only adds complexity Not when you're just teaching programming to children. You stick with a subset of the language that makes sense for the age group you're teaching; the existence of features beyond that doesn't matter, because they won't come up.