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

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



On 10/16/2013 9:01 AM, berenger.morel@neutralite.org wrote:
Le 16.10.2013 13:04, Jerry Stuckle a écrit :
Anybody who thinks that being able to write code (be it Java, C, or .NET
crap), without knowing a lot about the environment their code is going
to run in, much less general analytic and design skills, is going to
have a very short-lived career.


Anyone who can't write good cross-platform code which doesn't depend
on specific hardware and software has already limited his career.
Anyone who can write good cross-platform code has a much greater
career ahead of him. It is much harder than writing platform-specific
code.


If writing portable code is harder than platform-specific code (which is
arguable nowadays), then, could it be because you have to take about
type's min/max values? To take care to be able to use /home/foo/.bar,
/home/foo/.config/bar, c:\users\foo\I\do\not\know\what depending on the
platform and what the system provides? Those are, of course, only examples.

However, I disagree that it is harder, because checking those kind of
problems should be made in every software. For types limitations, never
taking care of them is a good way to have over/under-flow problems, and
for the file considerations, what if the user have a different
configuration than what you thought, on the same system (Of course, I
know that you can access system variables to solve those problems)?
Does not it means that you have to know basics of your targets to be
able to take care of difference between them?


You're the one who said programmers need to know a lot of details about the hardware being used, not me. The more you need to know about different hardware, the harder it is to write code to fit all of that hardware.

Of course, you can simply rely on portable libs. But then, when you have
a bug which does not comes from what you did, how can you determine that
it comes from a lib you used?

I remember having a portability problem, once. A code worked perfectly
on a compiler, and not at all on another one. It was not a problem of
hardware, but of software: both had to do a choice on a standard's lack
of specification (which is something I did not known at that point. I
have never read the standard sadly.). I had to take a look at asm
generated code for both compilers to understand the error, and find a
workaround.

A good programmer knows what is defined and not defined in the language. For instance, in our C and C++ classes, we teach that the results of something like func(i++, ++i); is not defined.

What allowed me to understand the problem, was that I had that asm
knowledge, which was not a requirement to do what I did.

Of course, I have far less experience and grades than it seem you both
have, and if I gave a minimalistic sample of the problem you could think
that it was stupid, but it does not change that I only was able to fix
the problem because of my knowledge of stuff that I have no real need to
know.


You should always be aware of the limitations of the language you are using, also.

Jerry


Reply to: