3 ms·
I liked the post (especially as I am a self trained programmer), but I think it's a little simplistic, and a few areas are missing and the order could use a lit
by nekopa 13y ago
I liked the post (especially as I am a self trained programmer), but I think it's a little simplistic, and a few areas are missing and the order could use a little tweaking. Here are my suggestions:
1: HTML and CSS. I think this should be the first step. Simple static web pages. Even if you write good code in python, how can you get it to show in a web browser. Also a simple static page can be viewed from your hard drive in a browser. But that is no good so it leads into the next point...
2: Webserver/stack. Now this could be as easy as installing something like XAMPP or equivalents, or even installing apache, PHP, mysql etc. but here the learner can start to see the problems even with moving their simple static HTML pages to an actual server environment. And now they can start to make their boring static pageeager interesting by looking into the next step...
3: Python/Databases. As you say, start programming, but I would link it with databases. Again, a lot of ins and outs, and these can all be made easier by...
4: Frameworks. Now jump into Django and maybe bootstrap too. By now they will appreciate what the framework offers, and maybe have enough of a foundation to be able to make smart decisions about each.
Just my input, and I think it's great you're putting together this idea.
- nicoschuele 13y agoThank you for your valuable input. Actually, I have thought a lot about the order in which a total newbie should learn and my reasoning is this: most of the people asking me how they should learn web development are asking because they have an idea they'd like to complete. I think that anybody can learn how to put an HTML page together and style it (at least, in a basic way). It's not much harder than creating a complex Word document. By introducing programming first, I wanted the newbie to be exposed as fast as possible to 'real' programming (loops, branching statements, etc) because I think not everybody has what it takes to do it (or understand it) properly. The difficulty, in my opinion, is to get these concepts, together with basic algorithms and OOP. If one can go through that, HTML, CSS and JavaScript won't seem difficult at all and results will come quickly. I also wrote this path with time in mind. Considering an adult with a day job and other duties/activities. The idea and the reasoning is to be proficient quick enough (not in two weeks but not in 3 years either). Therefore, I left PHP out of the way. One can learn it at a later stage if needed. Same with ASP.NET or Rails or whatever web technology available. I also broke programming and databases in two sections. For an experienced programmer, learning two languages at the same time can be easy (then again... not always) but for a beginner, this can make a difference between 'I'm making progresses' and 'there's too much to learn, I give up'. Early in writing, I actually chose the same path you are proposing but I tweaked it, peeling the difficulty layer by layer.