Live data from Hacker News

Ask HN: For beginners: what is the hardest part while learning web dev?

news.ycombinator.com

11–20 of 44 posts

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#11
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.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#12
post #6

For me the hardest part was slamming into that wall where you've been working at a very high level of abstraction (HTML, CSS, a web framework of some sort, an IDE) and you realize you have very little idea how computers work or how they talk to each other. This is the point where you need to do some kind of a deep dive into UNIX or the command line of your OS and figure out what the hell is really going on. Processes…

Yep, I remember learning all those html, css, js stuff but I had no idea how a site works and all the server side, DNS, etc. SO true...

Don't mean to humblebrag, but thanks for reminding me that I have actually learnt stuff that not everyone knows. Imposter syndrome kicks in easily when caught off guard, especially when surrounded by people who appear more knowledgeable than you at most times.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#13

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 f…

Udacity'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

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#15

"What is the hardest part while learning web dev?" The sheer amount of stuff you have to learn other than just the programming language you picked up. In fact it feels like as much, if not more, time is spent understanding tooling, distribution, packaging and hosting options for you web app. Little of which feels satisfying or enriching to learn because so much of it is simply endless administrative minutiae. No-one…

I'm not a fan of PHP as a language, but anyone who denies it hits a sweet spot for deploying applications is seriously confused.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#16
post #4

Also a self-taught web developer here. My advice would be to make sure you learn the languages, not the frameworks. Once you know the languages, you can pick up the frameworks far easier and you can actually dig in and see what's happening.

As a former front-end instructor at a code bootcamp, I second this heartily.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#18

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 f…

>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.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#19

"What is the hardest part while learning web dev?" The sheer amount of stuff you have to learn other than just the programming language you picked up. In fact it feels like as much, if not more, time is spent understanding tooling, distribution, packaging and hosting options for you web app. Little of which feels satisfying or enriching to learn because so much of it is simply endless administrative minutiae. No-one…

I'm not a fan of PHP as a language, but anyone who denies it hits a sweet spot for deploying applications is seriously confused.

PHP has such a terrible reputation from all the spaghetti code that's out there, but modern PHP is a pretty solid language when written properly. So long as you are writing good OO code and using an IDE like PHPstorm its a breeze to develop in. Also with Facebook's HHVM performance is on par or better than Java or C#.

Re: Ask HN: For beginners: what is the hardest part while learning web dev?

#20

"What is the hardest part while learning web dev?" The sheer amount of stuff you have to learn other than just the programming language you picked up. In fact it feels like as much, if not more, time is spent understanding tooling, distribution, packaging and hosting options for you web app. Little of which feels satisfying or enriching to learn because so much of it is simply endless administrative minutiae. No-one…

>Python's 'eco-system' for deployment and distribution is horrible, fragmented, clumsy and not easy to lear...

Can you elaborate. Last time I tried it was even easier than Php if you use nginx+uWSGI

[1] http://uwsgi-docs.readthedocs.io/en/latest/Nginx.html

Post reply on HN