|
|
|
|
|
by specialk
4523 days ago
|
|
I disagree with this article almost completely. Frameworks are great for getting stuff done, which is exactly why I do recommend them to beginners. Beginners are learning code/a new language for a reason. Usually that reason is to get stuff done. They don't need to know how the insides of these frameworks work to do that. As these beginners progress, as they start getting curious or need, for example, to know why getting your ORM to count the records in the database is faster than getting your ORM to pull all the records and counting the number of records in the array, this is when these beginners need to think about re-inventing the wheel. I'm a firm believer in 'you should re-invent the wheel once and once only', but never ever ever use the wheel you just built. That way you should understand what a framework or any lower layer of abstraction is doing for you. Whomever wrote the framework will also most likely have a better solution that has tested more edge cases than you did, you have less code to maintain (yay less teechnical debt!) which is why you never use your own wheel. Re-invent the wheel so you have a better understanding but that's it. If we keep expecting beginners to understand every level of abstraction that we have created for them they'd be writing a web-server in assembler, not solving any of the problems they have, become disinterested and giving up or never ever ever shipping any of their code ever. |
|
Practically, it doesn't matter if you start with a framework: work with stuff long enough and you will either have to figure out the internals of your tools or you won't. If you do, the you learn, if you don't, it wasn't relevant anyhow.