3 ms·
>SysAdmin’s are purists and have a lot of ego. Using a module or library is akin to cheating. I'm a programmer and I know how this feels. It's not about "cheat
by ancarda 13y ago
>SysAdmin’s are purists and have a lot of ego. Using a module or library is akin to cheating.
I'm a programmer and I know how this feels. It's not about "cheating". To me, I view it as "I can't be bothered to learn /how/ this works, I'll just use a library". I can make a half-assed HTTP library, but in production, I'd obviously use a real library. The important thing is I understand on a more intimate level how HTTP works. That is invaluable in debugging as when I ask myself "why isn't this working", I can think back to my own code and it often helps to shape my understanding. I can think how the machine thinks as I taught it how.
I'll often study other systems while building my own. It's all part of the learning process to me.
It also provides deep appreciation for the effort that's poured into libraries.
I've also done the same thing on the web; I used XMLHttpRequest and DOM apis for years before I started using jQuery. I've never had a single complaint but I've seen programmers who have gone right into jQuery and surrounded themselves with abstraction and have had no idea how the system is behaving and they get confused and frustrated. This leads people like me to view libraries as bad; they are preventing people from learning how their systems work.
Programmers today seem so lazy. I'm not really sure if that's the right word. I see people using HTML 5 Boilerplate and they never seem to ask "Why is the meta charset before the title tag?". I did. Now I know about UTF-7 XSS vulnerabilities. I spent most of my day reading up on charset vulnerabilities. With that knowledge, I patched several projects of mine. Sure, people using Boilerplate would be protected but they wouldn't really know what from.
Perhaps I just think differently to other programmers. Maybe they just want to get on with their work while I obsess over "how does this work?!"
- vacri 13y agoIt's not just that it's cheating, it's that it's less portable as well. A self-contained script can be thrown anywhere. One that needs a library needs to have the library taken with it. One thing that 'sysadmins' encounter than 'programmers' don't is a wide variety of systems with a varied install base. The more portable your coding, the easier time you have as you progress. Throw in that programmers work on more monolithic projects, getting the libraries for those is (kind of) a one-time affair, but with sysadmins working on smaller, multitudinous projects, you can end up with a raft of different libraries to manage. The real answer, as always, is 'be appropriate'. Often libraries are called for, but sometimes they're to be avoided. It depends on the use case, or even the library itself (we're currently using an abandoned one in production... and there's some crossing-fingers going on as we don't have the resources to fix it if there's breakage...)