Programming as a profession is only moderately interesting. It can be a good job, but if you want to make about the same money and be happier you could actually just go run a fast food joint. You are much better off using code as your secret weapon in another profession.
Well said, Zed. Very well said indeed.
In what fields is this true? What is the metric of "better off?" More money? More "respect?"
"Programming as a profession is only moderately interesting... You are much better off using code as your secret weapon in another profession.
People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines."
Don't know about the programming profession, but the secret weapon bit is true to a degree that might shock many of the readers here. I would even go so far as to say that NOT knowing how to program causes ridiculous waste of resources in other disciplines.
Working as an epidemiologist during the H1N1 pandemic, I saw literally dozens of man hours drained on repetitive statistical reporting and database tasks that the average reader here could probably automate in under an hour. There were lots of extremely smart people running around with a ton of important things to do, but since no one (myself included) really knew how to program, what were we to do? I think I was the only one to even have the inkling that we could probably be replaced by a few Excel macros.
I don't know this guy's back-story (or why he seems to inspire such antipathy), but this passage got me very excited! I'd already bought into the idea that learning at least the basics of programming would be a good way to improve my general analytic thinking ability (a noble goal, IMHO), but I was being held back by the thought that it was a bit of a frivolous endeavor. This has really inspired me to get started!
Secret weapon indeed! Wooo!
[EDIT: I see several others have commented on this bit. Sorry to be repetitive!]
But, if I can improve every other discipline by making it easier for them to learn to code, and then get them to use code to improve things, then that's a much better goal.
As a result, instructor's have to create all of the questions and exercises for the course---he/she might as well work without a book. At MIT, the Intro to Programming Course (using Python), doesn't have a textbook because, say the instructors, there are no good textbooks for Python. If Zed can come up with well-paced and instructive questions (Little Schemer-style), he's got a winner.
BTW, If you plan to contribute questions to Zed's book, try to put yourself into a newbie state of total ignorant bliss. Remember that the ideas you take for granted and think of as "simple" are completely daunting to beginners. Pacing is everything.
Thank you Zed for your hard work and contributions.
But hey, like David Lee Roth said, "Who am I to fuck up a good myth?"
I'm sure there will be a ton of new exercises added to the book, and more topics to come, but this is a great start. Thanks Zed!
Tone/diction/sentence structure is a bit patronizing. I think Shaw was going for more basic than is required for most intelligent adults.
It's not really patronizing so much as "gentle" to non-programmers. I do however poke fun at programmers because non-programmers have some odd beliefs about coders being these gods that they aren't. By cracking little jokes are programmers I'm hoping to get them over this fear.
As an aside, I like that Zed is very opinionated.
I'm not sure this book is a solution to that problem, but it certainly has a strong opinion.
If a beginner can't learn OOP or use projects that span multiple files, are they really ready to learn Python the hard way?
Plus, I would disagree with the definition of "complex math". My college discrete math teacher (who was from Mexico) said that he learned everything he was teaching us in elementary school, so I don't think that just because you learned some math in college necessarily makes it complex.
I remember when I was a kid (cue during the war...) we had to type in sheets of paper in order to play games, learned through modifying them, experimenting like in a sandbox. I don't remember if I saw something similar in the past 15 years or so. It doesn't even have to be a book, it would work as a sandbox type of environment. I think I saw one based on scheme, but I can't remember the name right now.
Non-native speaker, so sorry for bad English.
The second time I tried to learn programming it was a lot easier because I was in grad school and had people to help me. If you don't have people to help you, then existing materials are very hard to learn from. This book seems perfect for solving that problem.
The first think Zed asks his readers to do is find the terminal and get a python command prompt up un going. arrg..
The first thing a new programmer should do is something cool and interesting, or useful. Immediate gratification.
10 PRINT "Jay Rocks" 20 GOTO 10
So, I really like the approach here, and I really like the tone.
Not to overburden the discussion regarding the last chapter, but I have to agree with the very last line: "You can code. They cannot. That is pretty damn cool."