3 ms·
I think that a majority of "beginnner" tutorials miss the point. They start with the actual HTML/CSS right away. Heck, some even start with jquery as part of a
by codegeek 10y ago
I think that a majority of "beginnner" tutorials miss the point. They start with the actual HTML/CSS right away. Heck, some even start with jquery as part of a beginning course.
I really believe in learning the "why" of something and not just the "what" or "how".
For example, if you really want to learn web dev, you have to learn to some extent how the internet works, what are the various protocols for web (http vs ftp vs ws etc), what the hell is DNS, the whole client/server cycle (request/response etc) etc. Sure it can help showing actual HTML code to explain http or request/response but I feel a lot of beginner tutorials just focus on the result and not the actual path.
Teach about the document/DOM etc and then write a simple helloworld.html. But then open the web inspector, show them how the request was sent (header,data) and then show the response received from the server.
There is plenty of tutorial on the usual stuff but not many that get real deep which is useful for beginners.
- Jugurtha 10y agoUdacity's CS253 "Web Development"[0] taught by Steve Huffman does exactly that. It uses Python on Google App Engine and Jinja for templating. It starts from the basics. Tackles forms, handling requests and parameters. Cookie handling and authentication. Hashing (on which he even shares a bit of Reddit history: they didn't hash passwords which allowed them to detect spam accounts using the same password, but then Murphy's Law hit and the laptop was stolen and the database with it). Indices, joins, etc.. He discusses Reddit's architecture evolution and why they made the choices they've made given the context, etc. Sometimes, it boils down to "we chose it because that's what we knew". Other times, "we chose it because we hated the other thing". It's fun to hear him talk about this. The course is pretty cool and the subtitle "How to Build a Blog" is an understatement. There was no stress on writing beautiful code or something, but the message is clear. Another course I'm looking into is Stanford's Startup Engineering CS184 by Balaji S. Srinivasan and Vijay S. Pande. It has been discontinued. I just did a flyby and it's pretty much what you're talking about (they do both "big picture" with their reading list (Thiel, Graham, Andreessen, etc) but don't shy away from getting down to "viewport" and CSS, setting up stuff on Heroku, talking about tmux. They apparently did a lot of "why" stuff). In my opinion, much of learning is done as it would be in a physical system with non catastrophic consequences: doing stuff, analyzing phenomena by the changed quantities and state/side effects, deducing the governing laws. You learn much about CSS from inspecting elements and changing stuff then reading MDN, than from the opposite. The first gives you something to anchor new knowledge to as opposed to starting with a setting that is too formal and abstract.. I mean, even doing Physics one can't be so exact not to approximate and neglect the influence of something at some point and just do a basic thought/physical experiment. [0]: https://www.udacity.com/course/web-development--cs253 https://www.udacity.com/course/web-development--cs253
- aphextron 10y ago>For example, if you really want to learn web dev, you have to learn to some extent how the internet works This is spot on. I would suggest someone who was interested in web dev to start with understanding the HTTP spec, not learning HTML.
- joshmn 10y agoEchoing. I started with the web hosting industry, then got into the web stuff. I think a lot of web developers really don't understand hosting and all the ins and outs of it. And by a lot, I mean a strong majority.
- anotheryou 10y agoI think going front to back is valid too. Restyling wordpress yields usable results qiuckly, which is great for motivation. And motivation might be the most important things if you learn it by yourself. It's just important to take your time when encountering issues related to things below. In general there is a fine line in programming: going as high level as possible only gets you in to trouble when things go wrong or need optimization, but you often don't have to know much more than one level down and a few basics to make better guesses about errors.
- wry_discontent 10y agoI don't think this is true. I have worked with people who don't know enough going down the stack of web programming (and been one of them). They couldn't fix bugs as easily as I could. I'm sure there are other consequences, probably design related, but the bug one is apparent to me because I help when I can.