Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Programming for Mere Mortals (stevenf.com)
57 points by shawndumas on Aug 10, 2011 | hide | past | favorite | 24 comments


I'm skeptical that the topics listed in the sample are actually relevant to a first-time programmer. While eventually I would want people to know that numbers are stored in binary in the computer, for most purposes, a first timer doesn't need to know that. Similarly, signed vs unsigned numbers aren't hugely critical, and some languages (e.g. Python) don't even have unsigned.

It seems to me the core, universal concepts that beginners have trouble with are more often ideas like iteration, control flow, and functions and recursion.


From my experience, the largest hurdle first time programmers have is being able to execute programs in their head. It takes a cognitive leap to go from the source code in front of them, and what happens at runtime. This disconnect is not present in straight-line code, but it becomes a problem when loops are introduced.

So, I agree with you. If the goal is to get beginners programming, then they have to program. No amount of reading is a substitute for programming. This book may be an excellent way to introduce people who have already done some programming to important concepts, but I doubt it will get them closer to being programmers.


Good point. This is the reason I never listened to my math teacher, his material was too basic and too abstract for me to get motivated, I couldn't see myself using that knowledge in the short term. I went to art school, and only later I realized I was actually clever enough to program and enjoy it; all it took was a high level language like ActionScript 1 (and to put credit where it's due, Flash allowed a nice smooth transition from manual design to code). After that I worked my way down to Java, Objective-C, and more basic C concepts (although Ruby/Python are the owners of my heart).

Ironically, this book looks interesting to me because it would now fill the basic gaps. I've never actually needed to understand binary numbers or endianness - it's bitten me in the ass a couple times but nothing looking for help online couldn't handle - but today those higher layers of knowledge have solidified enough in my brain that I'm ready to actually enjoy learning these basic concepts.


I was thinking much the same thing. If I ever find myself in the position of wanting to teach programming to a "mere mortal", I suspect I'd look to Chris Pine's Learn to Program, which I've always heard good things about.

http://pragprog.com/book/ltp2/learn-to-program


Well, the title of the book is "How to Count", which makes it understandable why it focuses on these things, but other than that I agree, as a first lesson, this will scare people away more than it will make them curious to continue. Floating point arithmetic, endianness and byte representation of data types is pretty hard actually.


I haven't read this book, so I don't know what it's actually like. I could be completely wrong about this. However, if in my first days of programming I was given a book on low level details such as signed vs. unsigned numbers, I wouldn't have wanted to become a programmer right then.

My programming career started with Webmonkey's PHP tutorial[1], when it was first published some years ago. It doesn't talk about floating point operations or binary representations. Instead, you first learn how to print "I am the CHICKEN MAN" in your browser. Shortly after, you're taught to use forms, and by then you've created something that takes input and processes it.

You type your stuff in, click the button, and it shows up in the browser. The code you wrote -- this strange language that seems like magic -- clearly works. You've made the machine do something. Just to make sure, you type something else in, click the button, and there it is. That's what inspired me to become a programmer. The ones and zeros came later.

[1] http://www.webmonkey.com/2010/02/php_tutorial_for_beginners/ (I don't recommend this tutorial to anyone learning to program. It was useful when it was written, but it's not up to date, and some of the examples are broken. In 2011, there are lots of good beginner books.)


One under-appreciated fact regarding the acquisition of skills or the attainment of goals, is that both are difficult or impossible if you can't structure the activity itself so that it is enjoyable. Learning how to make vocabulary fun will lead to success in language learning; learning to make cooking fun will lead to success in dieting; learning to make sports fun will lead to success in athleticism; and structuring your programming lessons to be fun will drive people to continue to learn how to program.


The free preview on Amazon is HORRIBLE. The title page and the dedication page? UGH.

I could never recommend this to anyone without actually seeing it, and I can't imagine how far it'll get without recommendations.

Also, both un-DRMd formats are separate? Most publishers sell you the content and then let you pick the format... Multiple times, if you want, in case you change readers.


* HORRIBLE * * UGH * * Also, both un-DRMd formats are separate? *

I don't see what's wrong with the title page and the dedication page... It does its job. I admit that the Kindle sample could use some actual meat, but the samples on the website look good to me. I mean, you sound like it attacked you with a knife. Also, it's a 3 dollar book. If you like it so much that you'll want to re-read it in your next generation ebook, would $3 extra bucks be that unacceptable?

I'm curious. Was there really nothing positive worth noting to you? And if so, why bother commenting? Isn't it more beneficial to focus our energies on things that we enjoy and are excited about?


The title page and dedication page do not give me a taste of the book - which is what I want from a sample. I want the table of contents and a few pages of one of the chapters to get a feel for what the book is like. That's what I look at when I pick up a book in the store.

Note that only looking at positive comments is harmful. wccrawford's criticism about the sample is important, and changing it should help sell more copies.


Your comment on the sample is constructive and I agree with it ("the Kindle sample could use some actual meat"), but I don't find "The free preview on Amazon is HORRIBLE. The title page and the dedication page? UGH." to be conveying what you said or to be constructive.


What I said and the sentence you quoted have the same content. Mine was just a nicer way of saying it.


I suppose your own interpretation of it had the same content - maybe you're familiar enough with wccrawford and can guess what he's thinking - but objectively they don't. HORRIBLE and UGH were dropped without an actual explanation, and you comment doesn't just sound nicer: you explained how to improve the sample.


Let me put it this way: I was able to read his comment and recognize that he and I agreed, despite the fact that I don't know him.


Great, maybe then you can also enlighten me on what's so deeply wrong with the title and dedication page? It can't be about it being the only content of the sample, the main content in there is the introduction to the book.


I missed that entirely - I saw the top of the dedication page and assumed it was all dedication page, like most books. I think most people will do the same. That intro, though, is a tell, not a show. I want to sample some pages further into the book to see if the promises made in the intro are fulfilled.


Looks like we were talking about two different things. wccrawford was talking about the preview, while we were referring to the "sample"... <sigh>.


You're right. I didn't bother with the downloadable sample because I assumed it would be the same as the 'look inside!' preview on Amazon.


I have been talking about the "look inside" preview on Amazon.


I bought the PDF of this book this morning, printed it out, and read it during lunch. I think it's actually very good and plan on giving it to my kids to read.

The discussion on number bases and converting from binary, hex, and decimal systems was nicely presented. And the part on endianness might not be necessary at this basic level, but it's nicely done.

Heck, it's a pretty good deal for $3, IMHO.


This sounds like the first couple chapters of Petzold's "Code" (which I finally got around to reading recently and thought was fantastic).


How not to get someone interested in programming, give them 70 pages of math.

Now this is interesting to me, but I'm already a programmer.


The title & subtitle of this is rather condescending to non-programmers. "Mere mortals"? "How to count"?


I like the title, and I think it's a good idea for a series. DOS for Dummies had a good following and I think it is a much more condescending name. If I came across a book called Options Trading for Dummies, I would be skeptical. Dummies should stay away from options trading. Options Trading for Mere Mortals would suggest that I can learn it without already being some sort of god.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: