Re: university studies?

Crutcher Dunnavant (crutcher@datastacks.com)
Thu, 2 Aug 2001 11:45:07 -0400


++ 02/08/01 14:36 +0300 - Muzaffer Ozakca:
>
> I don't think, one should learn all the "hot" languages of the day to
> become a good programmer. A computer science student should (and will)
> learn the theoretical background that lays beneath. Data structures,
> graph theory, computational linguistics, compiler theory, OS, AI, so on.

Hmm. Thank you, Knuth.

> Practical studies such as programming projects will let the students
> solid the theory. These thoughts are not actually mine, most of the
> computer science departments -more or less- follow a cirriculum
> appreciating these ideas, I think. However, a kernel (or systems)
> programmer should also know basics of microprocessors, interrupts, etc.
> and programming in assembly, besides the theory given in a university.

They also need to understand large parts of security, and system API
design.

> After getting the theory and completing the understanding by practice,
> learning a programming language is just a detail.

I disagree. This is equivalent to saying, once I am an archetect, it is
easy for me to build houses. Tools and practices take incredible amounts
of time to master. Languages take years, and learning the
non-algorithmic parts of hacking, like techniques for keeping namespaces
clean, or designing APIs to be extensible, or just tracking code; all
these are time devouring.

> Always solving problems "C" style, may not be the best approach,
> a functional language may better suit the needs -usually not in our course.

But, ultimately, computers are procedural. FP helps /prove/ algorithms,
but it is a terible way to actually run them.

-- 
Crutcher        <crutcher@datastacks.com>
GCS d--- s+:>+:- a-- C++++$ UL++++$ L+++$>++++ !E PS+++ PE Y+ PGP+>++++
    R-(+++) !tv(+++) b+(++++) G+ e>++++ h+>++ r* y+>*$
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/