4 ms·
BS, all code is glue code, even assembly (what, you don't write your own hard drive controllers and NIC firmware?). It's ALWAYS been the case that if you want
by andrewvc 15y ago
BS, all code is glue code, even assembly (what, you don't write your own hard drive controllers and NIC firmware?).
It's ALWAYS been the case that if you want to go deep, generally, the best way isn't to write your own, shitty ORM, or HTTP Server, in a production/work environment (in your free time, go ahead, that's a great idea).
I'd say, the best way is to work with those who know better. With OSS and things like github today this is easier than ever. And at a certain point, you might say "I think I can write a better HTTP Server", and you'll have the background to actual say that with some confidence.
- phamilton 15y agoI think you missed the point. New programmers generally aren't working an a production/work environment. People learn to code in their free time. Or at least, that's what I did. You don't have to write a fully functional HTTP server to better understand how HTTP requests work. I wrote a simple python script that listened for http requests. I sent it requests with curl and then wrote some routing and logic to return various responses. It wasn't even high enough quality to call it an alpha framework, but it helped me understand how a MVC framework is different from serving static pages, or even php files. Many people I've helped get started with web programming benefitted when I walked them through the crappy HTTP server I wrote. It helped them see what was going on behind the scenes.
- Confusion 15y agoYou don't have to write a fully functional HTTP server to better understand how HTTP requests work. However, that is exactly what the OP is advocating. He is complaining that 'kids these days' don't first write their own ORM layer, templating system and MVC framework. I agree with your parent and call BS on that attitude. You don't need to handwrite a BIOS in microcode before you can say you understand how it works and call yourself 'a real coder'. Newbies simply need to practice, practice, practice. Whether they are gluing stuff together or designing large, important components from scratch is irrelevant. You don't need to write an ORM layer to be able to get a very thorough understanding of how it works, simply by using one and reading it's code (which you will have to do anyway if you want to do anything nontrivial).
- Macha 15y agoYou definitely misunderstood my point. While I wouldn't consider myself a new coder anymore, I've only been doing it 4 or 5 years, so I'm not complaining about odd these days not learning anything. I'm more speaking from my own experience. Most of the books I had stressed finding a library that already existed and using it for your purposes and when I showed people my early apps, there was a tendency for people to go "why didn't you just write a drupal plugin?", or "why didn't you use PDO?" My point wasn't that people should do those things before anything else, but that there shouldn't be as much discouragement against it in code that's being written for fun or for learning. (Obviously production code is different and in that case relying on the tried and tested code is best)
- astrofinch 15y agoI like the idea of learning by attempting to improve/debug open source software. But I do think there's a difference between "glue code" and other sorts. Basically, it comes down to the amount of time you spend reading documentation versus actually writing code. If you are solving problems on Project Euler, you're not going to read much of any documentation (unless you're unfamiliar with the programming language you're working with)--you'll be solving the problem. On the other hand, if you write a CRUD application in Django, you'll constantly be looking up functions and classes.