home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!gatech!concert!duke!psu
- From: psu@cs.duke.edu (Peter Su)
- Newsgroups: comp.edu
- Subject: Re: Programmers
- Message-ID: <PSU.92Sep11102557@ptero.cs.duke.edu>
- Date: 11 Sep 92 14:25:57 GMT
- References: <BuBBoJ.un@rice.edu> <1992Sep10.043815.4175@linus.mitre.org>
- <1992Sep10.142205.16217@merlin.dev.cdx.mot.com>
- <BuDHvA.226@mentor.cc.purdue.edu>
- Sender: news@duke.cs.duke.edu
- Organization: Duke University CS Dept., Durham, NC
- Lines: 63
- Nntp-Posting-Host: ptero.cs.duke.edu
- In-reply-to: asd@sage.cc.purdue.edu's message of 10 Sep 92 17:28:21 GMT
-
-
- Indeed! I have found that the biggest problem, here at college, is
- that Computer Programmer is NOT a major. It's not even a minor!
- Instead, I get to be a Computer Scientist! I don't want to be a
- Scientist! I want to be a Computer Programmer, or a Software
- Engineer. Leave all that numerical computational math theory bullshit
- to the academics. I could really care less. But I want to be able to
- work! I want to know how to write a server, custom engineer a system
- for a client, or write super fast code for a device driver.
-
- As a budding academic (heh heh) I, of course, must come to the defense
- of those people who work in 'math theory bullshit.'
-
- This alleged 'bullshit' forms the basis for much of what is available
- on a modern computer system. Let's look at UNIX:
-
- - The libraries have a routine called qsort, thought up by a math
- theory bullshit guy named Hoare, and proved to be very fast by another
- math theory bullshit guy named Sedgewick. For the most part, it's
- fast enough, but if you really want to know how it works to speed it
- up, you can go to a math theory bullshit book written by Knuth and get
- all the details.
-
- - There is a program called Lex that parses regular expressions, which
- were made up by a math theory bullshit guy named Kleene. Most of the
- larger tools in the UNIX system (like compilers) use regular
- expressions to do all sorts of magical things.
-
- - There is another tool called yacc, which generates parsers using
- more math theory bullshit created by various people.
-
- - TeX uses shortest path algorithms to break lines. Does a pretty
- good job too. Lots of books are typeset with TeX. More bullshit?
-
- - The whole IDEA of a kernel bases system uses old old ideas about
- abstraction, information hiding, etc that come from both OS and
- programming languages research.
-
- What's my point? My point is this: Any programmer worth his salt must
- have at least some idea why quicksort is good, how lex works and how
- yacc works in order to make himself or herself better at what he/she
- does. It is inexcusable to say 'I want to be a good programmer' and
- NOT pay attention to the more important parts of the large body of
- 'math theory bullshit.'
-
- This is not to say that everything the theory people do it great.
- There are phenomenal examples of botches. But there are a lot of cool
- ideas that are extremely useful.
-
- If, after taking algorithms classes, OS classes, programming
- lanaguages, compilers, etc, you *can't* figure out how a UNIX server
- works on your own, or at least in Perl, then either YOU are clueless,
- or those who taught you are clueless. This doesn't mean that the
- material is irrelevant to what you are interested in.
-
- Go back and read Programming Pearls and More Programming
- Pearls...twice.
-
- Pete
- --
- Department of Computer Science, Duke University, Durham, NC 27706
- Internet: psu@cs.duke.edu
- UUCP: mcnc!duke!psu
-