[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sysadmin qualifications (Re: apt-get vs. aptitude)



Le 16.10.2013 00:42, Miles Fidelman a écrit :
I'm trying to figure out what kinds of things you see "programmers"
working on that don't need serious knowledge of the underlying
operating system, computer hardware, and i/o environment.

I do not think every programmer needs serious knowledge outside the scope of his application, but I really think we need at least bases, as a minimal requirement.

I had a boss which said me, one time, that he preferred people able to understand C/asm/CPUs to build SQL requests. The link? People without that "low level" knowledge do not understand why it takes time to compare strings, and their requests were too slow. Just hell too slow.

Saying that programmers do not need to care about hardware, is something my teachers tried to convince me about. Luckily enough, I had knowledge at that time, being self-learner. Now, take a look at real world, and explain me why we need so powerful computers to do basic text formatting? Explains me, why we need to destroy the planet to build more powerful hardware, which requires living and dead memory, and so more energy to run? My explanation is, because people of the past taught to other guys things like "Take a int to store that value which is comprised between 0 and 10. If client needs to make the software faster, he can just buy new hardware.", when the correct phrase should have be: "Since we know that this variable have a limited range of values, take an unsigned char. That will cost nothing to you.".

We even have languages that are not aware that there are unsigned types... like java. Encouraging people to be expert of their domain and being ignorant of other things will lead to inefficient softwares, even if they might work. Ah, and, of course, not knowing the hardware can also cause "strange" bugs, like a value which become a negative number after an increment. Or the classic problems with real numbers. Basic hardware comprehension is useless to build programs? That's exactly the reason why I take so much care when I select the softwares I install on my computer, which makes my computers with cheap hardware faster than some with expensive hardware.

I consider that building efficient softwares is a duty, not a choice.


Reply to: