|
![](/i/fill.gif) |
Tom Austin wrote:
>> There were also two modules taught by Mr Apathy. Mr Apathy was tasked
>> with teaching us about computer hardware, and later about operating
>> systems. In Mr Apathy's opinion, knowing about binary is "pointless"
>> because "the computer will do it all for you anyway". He believed that
>> "20 years ago it might have been necessary to know this stuff, but in
>> the modern world you're really never going to need this information.
>> But it *is* in the exam, so I have to teach it to you." I cannot tell
>> you what an inspirational motivation for learning this was.
>
> To a point he is right - programming in upper level languages does not
> require a knowledge of the very low level happenings. That's part of
> why they are there - you can program faster without having to worry
> about as much as it is taken care of for you (e.g. garbage collection)
>
> In a sense it would be like teaching you about electron flow in a diode
> and FET so that you can type the word 'print' better.
>
> At level do you stop digressing?
Well now, it all depends on what you're trying to do.
How many times have you seen a program that behaves strangely given a
large enough number as input? Many people seem confused that large
positive numbers come out negative. But this is a simple and obvious
consequence of 2s complement arithmetic. I don't care what language
you're programming in, you need to have a basic high-level understanding
of this stuff.
(As to whether you need to know exactly how many bits are assigned to
the mantissa of an IEEE double-precision float, or the exact bit
patterns for demonals... er, no, most people will never actually need to
know that.)
The stuff about how hardware interrupts work is fairly irrelevant to
most programming exercises, but if you were doing something slightly
more specialised it would become highly relevant.
In the end, what it boils down to is that low-level hardware details
interest me, whereas Mr Apathy did has absolute level best to discourage
anybody from even *attempting* to put any effort into learning this stuff.
(FWIW, this is the same guy who told us that the rebuilding of Colossus
was "pointless" because "it will never be the same machine as the
original".)
> Computer Science is not about math, it's about laying down code, user
> interface, and bringing it together.
> The thought is that if you need math, someone will show what they need.
Actually, "Information Technology" is about applying computers to solve
real-world problems. "Computer Science" is the abstract study of
theoretical models of computation, which results are actually
computable, computer algorithms, and so forth.
> It sounds like you think very technically. What is you interest level
> in electronics. There's plenty of heavy lifting math there ;-)
My *interest level* is moderately high. My *knowledge level* is very low.
(As in, I know how it's *supposed* to work. It just doesn't work that
way when *I* do it.)
Post a reply to this message
|
![](/i/fill.gif) |