This is such a bizarre post. If you have the self-awareness to admit this about yourself, you are probably not a poor programmer. Poor programmers do things like allowing an incoming request to spin up unlimited concurrent threads. Poor programmers erroneously throw exceptions on any operational deviation - even it if can be handled without error. Most importantly - poor programmers do not learn from their mistakes a…
A poor programmer wouldn't be on HN and the point about never learning anything new reinforces that. Most of the article reads like satire.
How to Succeed as a Poor Programmer
171–180 of 196 posts
Re: How to Succeed as a Poor Programmer
#172Earlier quoted context omitted.
> He's a C++ programmer, so I assume he can also code in C. I would make no such assumption. Most C++ programmers I've known would have a hard time being productive in a language where they had no collections, templates, virtual functions, destructors, lambdas, exceptions, etc. Trading deep knowledge of how C++ manages memory for knowing how to do it yourself might be even more of a challenge. A lot of C++ programmer…
In the article he says he learned C++ in 1995, so he probably knows C.
Re: How to Succeed as a Poor Programmer
#173Earlier quoted context omitted.
A poor programmer wouldn't be on HN and the point about never learning anything new reinforces that. Most of the article reads like satire.
That's a major assumption. Many get curious when a plumber or other blue collar worker talks on an hn thread. This isnt a secret clubhouse, its a new forum. Just...tech focused.
Re: How to Succeed as a Poor Programmer
#174Earlier quoted context omitted.
At risk of appealing to authority, I think you should look into exactly who Peter Shirley is before sounding off.
He is an authority in a field adjacent to software development, but not actually software development. He's a researcher who develops things that happen to be implemented in software (or hardware, given what nvidia does), and "avoid wasting time learning new programming languages" is probably excellent advice to someone in that position. Most HN readers are not.
> After one semester at the University of Illinois at Urbana-Champaign, he transferred to Reed College in Portland, Oregon, where received his BA in physics in 1985, and then received his PhD in computer science from the University of Illinois, Urbana-Champaign in 1991. He then joined the faculty at Indiana University as an assistant professor. From 1994 to 1996 he was a visiting professor at Cornell University. He then joined the faculty at the University of Utah, where he taught until 2008 when he joined NVIDIA as a research scientist.
I think he probably knows more than you give him credit for.
Re: How to Succeed as a Poor Programmer
#175Re: How to Succeed as a Poor Programmer
#176The "Avoid Learning Anything New" advice is insane. (Well, practically all of it is, but that one really stands out). I think the exact opposite advice is far better: never assume the way you know how to do something is best, and always be on the lookout for what others are doing that might be better. Here's the thing about learning: the more you learn, the easier learning the next thing becomes. You form links, insi…
He is right though – new tech nearly always disappears. Example: Learning CoffeeScript was a total waste of time. Learning JQuery helped me for a few years, but now JQuery is basically useless to me. Based on past experience, I strongly suspect the same will happen with React, Rust and a bunch of other new exciting tech. There are countless examples besides the ones I mentioned. But on the other hand, the time I put…
Probably not, because even if you don't use it today, the problems and solutions you learned while using it probably made you a better developer and you know what was good and not very good about it, so even if you are making something with React, you probably remember the "old jQuery days" and don't make the same mistakes.
Re: How to Succeed as a Poor Programmer
#177The "Avoid Learning Anything New" advice is insane. (Well, practically all of it is, but that one really stands out). I think the exact opposite advice is far better: never assume the way you know how to do something is best, and always be on the lookout for what others are doing that might be better. Here's the thing about learning: the more you learn, the easier learning the next thing becomes. You form links, insi…
He is right though – new tech nearly always disappears. Example: Learning CoffeeScript was a total waste of time. Learning JQuery helped me for a few years, but now JQuery is basically useless to me. Based on past experience, I strongly suspect the same will happen with React, Rust and a bunch of other new exciting tech. There are countless examples besides the ones I mentioned. But on the other hand, the time I put…
That said, some technologies are fads that learning them for the sake of learning doesn't have a big payoff. I learned TCL at one job and have never used it again. There will always be things you learn for software development that proves to be dud. Get used to learning and be happy when something has long term success. It is vary hard to predict that the long term success will be.
Re: How to Succeed as a Poor Programmer
#178Earlier quoted context omitted.
> Learning how to use something like Vue when you already know how to use React (or vice versa) is stupid because they both solve the exact same problem in a reasonably similar way with a reasonably different API. Settling on Mithril as my front-end library was a long journey from framework to framework. If I had stopped at Vue or React, I'd be much worse off for it. Really, if I had stopped at the first front-end li…
> Really, if I had stopped at the first front-end library/framework I used in web dev, I'd still be using PHP. Well, I did specifically give an example of two techs that do similar things that might be worth learning if they're different enough that one solves a problem the other doesn't. I don't know anything about Mithril, but if you're right that you'd be 'much worse off' then that would be a similar case, no?
Re: How to Succeed as a Poor Programmer
#179The "Avoid Learning Anything New" advice is insane. (Well, practically all of it is, but that one really stands out). I think the exact opposite advice is far better: never assume the way you know how to do something is best, and always be on the lookout for what others are doing that might be better. Here's the thing about learning: the more you learn, the easier learning the next thing becomes. You form links, insi…
He is right though – new tech nearly always disappears. Example: Learning CoffeeScript was a total waste of time. Learning JQuery helped me for a few years, but now JQuery is basically useless to me. Based on past experience, I strongly suspect the same will happen with React, Rust and a bunch of other new exciting tech. There are countless examples besides the ones I mentioned. But on the other hand, the time I put…
Re: How to Succeed as a Poor Programmer
#180Earlier quoted context omitted.
> Your "go to" data structures should be hash tables about 70% of the time and vectors about 30% of the time. I literally just wrote a comment elsewhere about how hash tables are obscenely overused and cause measurable performance degradation in many situations.
That may be. However, the number of times I see people hit a bug because they fenceposted or flat out overflowed a fixed size array VASTLY outnumbers the times I have seen people have to redo their underlying data structure because it just wasn't fast enough.