Chris Gore: Computing
|
| US Army Photo number 163-12-62. From left to right: Patsy Simmers holding ENIAC board, Mrs. Gail Taylor holding EDVAC board, Mrs. Milly Beck holding ORDVAC board, Mrs. Norma Stec holding BRLESC-I board. |
I make my living programming computers, and I like doing it too. I have been programming since I was very little, originally in BASIC on a Xerox workstation running CP/M at my Dad's office. Originally I mostly programmed pretty worthless stuff like infinite loops, which seemed a lot more interesting when I was seven. Since then I have programmed things that other people can find interesting too, at least occasionally.
I think you should learn to program too. If you don't know how to program, you don't really ever use a computer. You might use an overblown typewriter such as Microsoft Word, an overblown pocket calculator such as Excel, or even an overblown pinball machine, but you aren't really using a computer. Computater literacy requires the ability to program, not merely use programs other people have already written, just as royalty that couldn't read centuries ago were not literate just because they employed scribes to write and read for them. If you can learn to read then you can learn to program, and then you can make the computer do anything.
Programming Languages
I play around with computers a lot. I have programmed in C, C++, C#, Lisp, Python, Perl, Forth, Java, FORTRAN, COBOL, BASIC, and several other programming languages. C used to be my favorite. The nice thing about C is that it is a very simple language that does very simple things, but usually does those simple things in the most powerful way possible. Now I use ANSI Common Lisp mostly for my own stuff, a very simple language that can do amazingly complex things. Most of the code that I do at work is in C or Python, both of which I like.
Opinionated Decisions
My operating system of choice used to be FreeBSD. BSD is very stable. BSD is very secure. BSD is very hard to use. BSD is good. I use Linux now though, specifically Ubuntu. Ubuntu is a very user-friendly distribution: it tends to just work. I really don't like Windows. Ubuntu is running this web server, on a computer sitting in my study at home.
My editor of choice is Vim (usually Gvim actually), a modern variant of Vi. If neither of those two options is available for some reason, then I resort to Ed. I don't like Emacs, and I really don't like Word.
Lisp rocks.
Your programming language sucks.
It's not internet telephony, it's VoIP. Internet telephony sounds about as stupid as horseless carriage.
Recommended Texts
. The Art of Computer Programming. ISBN 0-201-89643-4 (Volume One, Third Edition). ISBN 0-201-89684-2 (Volume Two, Third Edition). ISBN 0-201-89685-0 (Volume Three, Second Edition). Addison-Wesley Publishing Company, 1 Jacob Way, Reading, Massachusetts 01867. This is one of the most authoratative series of texts in the whole field of computer science. If you can read through these and only understand 50%, then you will know more than most people with a B.S. in computer science out there.
. Decrypted Secrets: Methods and Maxims of Cryptology, Second Edition. ISBN 3-540-66871-3. Springer-Verlag, 175 Fifth Avenue, New York, New York 10010. This is a very good book on cryptography, but it expects a solid understanding of mathematics (as do all real crpytography books).
and . The C Programming Language, Second Edition. ISBN 0-13-110370-9, ISBN 0-13-110362-8 (paperback). Prentice Hall PTR, Englewood Cliffs, New Jersey 07632.
. The C++ Programming Language, Third Edition. ISBN 0-201-88954-4. Addison-Wesley Publishing Company, 1 Jacob Way, Reading, Massachusetts 01867.