3 ms·
This is the exact kind of mindset that lead to the creation of Java and Go: "The programmer is too dumb. Let's reduce and constrain what programmers can do." Go
by Slackwise 9y ago
This is the exact kind of mindset that lead to the creation of Java and Go: "The programmer is too dumb. Let's reduce and constrain what programmers can do." Go just takes it to the extreme until you can't read an entire function on a single screen but have to scroll through piles of code and error handling all mucked together.
- treehau5 9y ago> Go just takes it to the extreme until you can't read an entire function on a single screen but have to scroll through piles of code and error handling all mucked together. That's the cynical way of looking at it (also sounds like you haven't read or written much go code). As someone who has written go code full time for 2 years, here's another perspective. It's not about "the programmer is too dumb", it's about people of varying skill levels working on really, really large code bases. A junior, mid, and senior can all work on the same business problems. Conversely, if you have a senior ruby dev, they will write these terse, elegant, functional-chained methods that require much time to digest and conceptualize. This leads to wasted programmer time. All the elegance and terseness I have seen in the wild, it has never once saved anyone time, minus the few 10's of seconds it saved the programmer who wrote it who thought they were being "clever" because they wrote that if statement in one line instead of three. Code is maintained and read more than it is written. Go encourages writing code for the reader. Also, "piles of error handling" is preferred. Go treats errors as values that you can program around. It took a while for me to shed the bad habits of languages prior (ruby, python, javascript, java and c#) but afterwards I fell in love. Handle your errors -- right there where they happen. Never again do I have to deal PokeMon try/catching.