
Overview: Do you want to build web pages, but have no previous experience? This friendly guide is the perfect place to start. You'll begin at square one, learning how the Web and web pages work, and then steadily build from there. By the end of the book, you'll have the skills to create a simple site with multi-column pages that adapt for mobile devices. Learn how to use the latest techniques, best practices, and current web standards-including HTML5 and CSS3. Each chapter provides exercises to help you to learn various techniques, and short quizzes to make sure you understand key concepts. This thoroughly revised edition is ideal for students and professionals of all backgrounds and skill levels, whether you're a beginner or brushing up on existing skills. Build HTML pages with text, links, images, tables, and forms -- Use style sheets (CSS) for colors, backgrounds, formatting text, page layout, and even simple animation effects. -- Learn about the new HTML5 elements, APIs, and CSS3 properties that are changing what you can do with web pages. -- Make your pages display well on mobile devices by creating a responsive web design. -- Learn how JavaScript works-and why the language is so important in web design. -- Create and optimize web graphics so they'll download as quickly as possible.
Then there was that one time I was self-studying computer architecture (Computer Systems: A Programmer's Perspective) and was able to turn what I learned around and hack our binary code at a customer site because I wasn't in an environment where I could compile our code... and then years later, when I wanted to analyze the ROM of a 90s electronic device with a much simpler instruction set than x86, I wasn't afraid to crack open the thing in Ghidra
Let's see, what else have I read that's paid dividends over the years:
- Modern Operating Systems (Tannenbaum)
- Learning Python (Lutz)
- JavaScript - The Definitive Guide (Flanagan)
- Programming PHP (Tatroe)
- Learning Web Design (Robbins)
- Algorithms (Sedgewick)
- A book I read whose name escapes me now, about technologies like RS-282/RS-484 and serial communications in general
- (I could probably put down Cuckoo's Egg too as an "inspiration" for me ultimately getting interested in computers and networking, and I bet that's not too uncommon a story)
It's probably a sign of my age (mid 30s for reference), but when I'm curious about something and want to learn it really deeply - I look for a good book on the topic. (although I'm willing to admit that maybe this process hinders me in some ways, because it means I sometimes spend more time studying than I actually do working with a thing - I have spent a LOT more time reading about circuits than building them - but I like studying so I'm happy either way)
Apart from this, I recommend "Learning Web Design" (5th Edition) by Jennifer Robbins. It has a broad sweep and still gives you all the practical tips.
Learning React (2nd Edition) is a good one if you're going to use React.
P.S: I did a similar Ask thread earlier this year where some of these were mentioned - https://news.ycombinator.com/item?id=26932020
Also, if you’re really a true beginner, also try “HTML and CSS: Visual QuickStart Guide” by Joe Cassabona.
VQS is great because as you’re trying to learn an aspect of code, it includes a text explanation, what the code looks like and what you should expect to see on screen.
Good luck! Have fun! :)
Edit: “Hello Web Design” by Tracy Osborne is good for learning graphic design principles as they relate to the web. If you can get a copy of “The Non-Designers Web Book” by Robin Williams, that one’s excellent, too. It’s old, but the principles still apply.
For more specific techniques, the Learning Web Design 5th Edition (by Jenna Something) is very good.
I skimmed Don’t Make Me Think, which validated some of my own thoughts and helps you avoid silly oversights. I also read Design of Everyday Things but found it very lengthy and somewhat pompous. Not sure that I got much out of it.
On that page someone has linked to a bunch of MIT material. I didn’t check that out in detail. Might be good... I don’t know.
Thanks for the bug report on the modal. Would have never noticed as I navigate to my site directly and never click the Back button there.
Its author has been in the web dev field for decades and has written multiple books on the topic. She has got some chapters written by experts in respective fields (CSS by Eric Meyer and so on)
Either way, the industry landscape will change, but the old stuff will still be around and still relevant reference. Therefore, start studying old classics of CS, with a focus on fundamental algorithms, compilers and older, simpler language specifications.
It is extremely likely that even if this man doesn't have access to the Internet, the computer he uses has a web browser, and therefore some version of Javascript. Therefore, I would pick Web tech as the entry point: Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics, Javascript the Definitive Guide, Eloquent Javascript, and Javascript the Good Parts.
Failing that, he will probably have to bootstrap from Windows batch files and x86 machine code into a programming environment. I will ignore that possibility, since AFAIK nobody has tried to tutorialize such a task.
To complement the JS stuff, a general outline book. I like Schaum's Outline of Principles of Computer Science.
Then all the "big hits":
The Art of Computer Programming
Algorithms + Data Structures = Programs
The C Programming Language
The Little Schemer, Structure and Interpretation of Computer Programs, and Common Lisp the Language.
Starting Forth, Thinking Forth, and the Forth-83 standard
Smalltalk-80 the Language
Programming in Prolog: Using the ISO Standard
A Relational Model of Data for Large Shared Data Banks (Codd 1970) plus SQL Queries for Mere Mortals for the practical.