Programming Books for Non-Programmers?
andy@petdance.com asks: "Any programmer who's used an
online
programming
resource
or community
has had the frustration of answering programming questions for
non-programmers. This is especially true with web-centric technologies like Perl and PHP.
I've always wondered where to point these newest of the new, and
O'Reilly's latest Ask Tim
article addresses this. Unfortunately, Tim suggests picking up
an ORA book on ActionScript, which seems a bit too specific. Are there any good introductions to the concepts of programming? And is any such book necessarily tied to a language?"
Elements of Programming with Perl was a big hit over at CLPM when it came out. It doesn't assume the programmer has any programming experience coming in. It is clear, concise, and aimed directly at the market you're interested in.
Dancin Santa
That being said, O'Reilly's Practical C++ Programming has been a long-standing favorite recommendation of mine.
htdp.org (how to do programming) is an excellent guide put by MIT. It is aimed at high school students, but is a very good guide for non-programmers. It uses Dr.scheme, a special version of scheme prepared bye MIT & is also available for all platforms. And also, it's aim ( as speciefied on the site) is to teach fundamentals, you can use anywhere & it does acheive it. And it's free too.
I know you are looking for something not language specific to explain programming concepts but I'm not aware of a book that doesn't use a specific language to give examples of its concepts. Therefore, I'd like to offer when I feel is the next best thing for a new programmer. I read through Learning Python a few months ago and I found it to be a very easy-reading tutorial for the Python programming language, which is simple to learn in itself. The Python tutorial does a decent job of explaining the features and syntax of Python but it may be a little too raw for nonprogrammers. The book on the other hand does a thorough job of explaining the language. Many people agree that Python is an ideal first language because it keeps things simple and teaches the basics of OOP well. I sort of wish I had started out with Python as my first language instead of learning C++, as learning C++ and other more advanced/complicated languages would have been much easier to grasp the first time around. Your mileage may vary.
If they want to start programming on their own, I'd probably suggest Python or soemthing like that.
My opinion? See above.