Hacker News new | ask | show | jobs
by kfk 4523 days ago
Well, take what I say with a grain of salt since I cannot call myself a programmer, but you can’t mix it all. Take Flask, I mean, who the hell wants to do url routing? Flask does that for you. Take sqlalchemy, who the hell wants to create an orm? It’s nice to learn the basics, to understand python well and to understand web development foundamentals like “salted”/hashed passwords etc. But don’t tell me I should have started from an even lower level, at some point you have to throw some abstraction. Maybe a good idea would be to teach a micro and a macro framework and not just the macro? Or maybe at the end this is not such a problem anyway?
1 comments

Flask and SQLAlchemy were my first thought when reading this guy's take on "don't learn a framework". Very succinct, simple ways to take the drudgery out of building a backend.

This guy's article reminds me of the guy who did that "Programming is Terrible" talk on Youtube, where he was describing an anecdote about the fellow who decided he'd build everything from scratch because he'd understand it better. That's kind of dumb - programmers have spent the better part of the last 50 years solving hard problems to get to the point where we are now. Why do we have to rehash their hard problems when there are still tons more hard problems we could be applying ourselves to?

Totally agreed.

I started out trying to learn and build using Django but it degenerated into exactly what the author claimed about automagic frameworks.

I switched to Flask/SqlAlchemy and was able to grasp MVC much quicker. It was more work to do some stuff, but getting a little lower than Django helped me learn what was happening in routing/views/controllers/etc. Using SqlAlchemy meant I could stick within my realm of knowledge with respect to Python without all the fancy stuff within Django.

Yes! I started tinkering around with learning web development about a year and a half ago, and started working through the Django tutorial. I had a hard time seeing where everything fit, and then I saw a post on /r/Python about Flask, did the tutorial in half an hour, and never looked back.

>getting a little lower than Django helped me learn what was happening in routing/views/controllers/etc.

Definitely. Armin nailed the degree of abstraction necessary to make MVC pretty easy while giving you some indirect insight about what's really going on.