nydwracu niþgrim, nihtbealwa mæst

a reactionary redneck's adventures in crimethink

Why I’m not a computer science major

with 15 comments

Mencius Moldbug just posted an article about technology, so I figure I might as well also.

When I started college, it was as a computer science major. I thought I would use college mostly as a convenient way to learn some programming languages and strategies so I could get a degree and a job in the field. But I arrived already burnt out and ended up switching out after a semester, for two very different reasons.

The first is the state of technology today. We don’t deal with the machine; we don’t even deal with abstractions on top of the machine. We deal with layers of abstractions, layers piled so high you can’t even see where they end. Unlike most comp sci majors these days, the first programming language I learned was not Java or Python, but QuickBASIC, which my father taught me when I was around eight years old. (My second was x86 assembly, which I have unfortunately completely forgotten.) For all its inelegance, there is a certain philosophy to programming in that language, a philosophy that is, in fact, partially contained in its particular brand of inelegance: you have abstractions available to you, but you spend most of your time dealing directly with the machine. If you want to write something to the screen, it’s far faster to POKE it to the screen than to go through the built-in routines, and I’m not sure if there even was a way to read things on the screen other than PEEK. I amused myself by writing nine-line programs to print the contents of memory to a text file and seeing what I could learn about the system from reading it. I doubt such things could be so easily done these days.

I’ll admit that that specific philosophy is not exactly conducive to portability, but it should not be hard to imagine an abstraction that can still be dealt with on that level, a virtual machine that actually acts like a machine.

Smartphones (never before have I heard a term so unfitting) did not exist in those days, but it was easy to see the direction in which the field was headed. I had a Mac in those days, and I remember being endlessly annoyed at the absurd degree of isolation from the system that its philosophy mandated (this was before I learned the Unix command line), but it was obvious even on Windows. I ended up learning a painfully limited scripting language concurrently with Java out of frustration that Java wouldn’t let me get at the system.

Needless to say, the situation now is much worse. The Apple philosophy has spread like wildfire; insulating users as much as possible from the system is the hot new trend to which there is no rebellion. I will admit that it has its merits, especially to infrequent users who only want to carry out the simplest of tasks, but I am not such a user and I would much rather not be treated as one.

The other reason, of course, is that technology education is bullshit. I can pinpoint exactly the moment of my burnout: it was when, as a sophomore in high school, I used the conditional operator in a program for my AP Computer Science class and got marked down because the teacher, an eminently unqualified affirmative action hire sent over from the business department because the Board of Education was too packed with embezzling scum to hire anyone with actual knowledge of the subject, insisted after the fact that everyone use only things that had already been covered in class.

Advertisement

Written by nydwracu

October 12, 2011 at 07:03

Posted in technology

15 Responses

Subscribe to comments with RSS.

  1. So what did you end up studying?

    spandrell9

    October 13, 2011 at 03:42

    • Technically, philosophy. In raelity, I study political theory, but you can’t get into grad school easily on something like that.

      nydwracu

      October 13, 2011 at 08:47

  2. And aren’t social sciences a cesspool of leftist propaganda? I ended up doing linguistics just to stop listening to liberal BS myself.

    Lately I wish I had done CS, and am doing some Unix study by myself.

    spandrell9

    October 13, 2011 at 10:36

    • That they are, although the particular flavor depends on the field: most of them hold to some flavor of critical theory, but political science tends toward New York Times-style left-liberalism with occasional attempts at Tumblr-style crit rhetoric, such as the Invisible Knapsack paper and the eldritch horror that is Tim Wise.

      Unfortunately, I’ve managed to run into that garbage in linguistics before. When I went to college in Massachusetts (I really need to get around to writing about that place sometime), I took a class on the history of the English language, and we spent about half of the semester talking about ebonics, hardly relevant to the history of the language, and American Sign Language, which developed about 200 years ago out of the sign language used in France. This absurdity was, of course, justified by some nonsense about “marginalized communities”.

      nydwracu

      October 13, 2011 at 11:47

  3. Well Massachussets is the land of Chomsky, so its not surprising.
    I have been lucky enough not to study in America. Which also means I didn’t study much at all. But I was spared the indoctrination. Linguistics is easy and engaging enough to self study to a great extent though.

    o/t but can you recommend any book or website to start learning Unix terminal? I’m a beginner but I learn fast.

    spandrell9

    October 13, 2011 at 15:06

    • Definitely lucky. Where I am now isn’t that bad politically, but that’s just because politics are nonexistent there. (Interestingly, the people who consider themselves apolitical tend to generally agree with the alt-right.) I do plan to leave the country eventually, though; it’s too late for me to transfer out for college, but maybe for graduate school.

      I don’t really know of any books or websites; what I did was install Linux and hit Google whenever I didn’t know how to do something. I started with Arch Linux, but that has one of the highest learning curves of any distribution out there, so unless you want to learn how to use elinks and install X and a window manager by yourself, you should probably start with something else. (I prefer Crunchbang, but that’s mostly because I grew up with Windows 3.1 and therefore hate the shiny graphical crap that most other distros default to spewing. I’d ordinarily recommend that people start with Ubuntu, but from what little I know about it, it seems to have the philosophy that the average user should never have to hit the terminal, so I’m not sure how useful that’d be to you.)

      nydwracu

      October 15, 2011 at 07:10

    • As was suggested install a Linux distro. My first distro was Slackware 2.1 and over the years I have used a wide variety. I currently use Ubuntu 11.04 (switching to Kubuntu next year because I am not a fan of the new Unity desktop).

      I would suggest the latest Slackware (13.37), then Gentoo before trying out any other distros, because they will in my opinion, offer a better learning experience in what goes on under the covers.

      Later on you may decide to become a user, and go for Ubuntu, SUSE, Mint etc. There are a lot of choices.

      AndrewV

      October 16, 2011 at 19:10

    • Some good reads for people interested in UNIX and Linux:

      UNIX and Linux System Administration Handbook (4th Edition) <– More a reference then a tutorial
      CompTIA Linux+ Complete Study Guide: Exams LX0-101 and LX0-102 <— Learn Linux and prepare for Linux+

      And most of the books at http://oreilly.com/ are great for aspiring UNIX'ers :)

      Jose Cuervo

      December 11, 2011 at 19:32

  4. If you want to work with gate-level logic, play minecraft.

    Paul Murray

    October 17, 2011 at 02:02

  5. I’ve had ubuntu installed for a while but I fail to see the advantages of it. Its not like you need to learn anything besides sudo apt-get upgrade once a week.

    spandrell

    October 17, 2011 at 11:59

    • Ubuntu doesn’t require much use of the command line. If you want to learn the command line, I’d recommend starting with something that isn’t intended to be as ‘user-friendly’. Arch is very heavy on the command line (and I’ve heard Gentoo is also, though I’ve never used it), but such distributions tend to be almost impossible to set up properly. The main reason I switched from Arch was that I couldn’t get a wireless driver working, and on most distributions such things are done automatically.

      nydwracu

      October 20, 2011 at 16:26

      • If you want to learn the command line, just install the “server edition” of Ubuntu. That way you get the nice work they’ve done on drivers and package management and such, and can be selective about what extras or graphical tools you want.

        Allen

        January 4, 2012 at 19:01

  6. I don’t mind the abstraction much, really. I think it’s a good thing, particularly since applications are targetted to run on many different platforms.

    I’d considered computer science as a major before, but I figured the best I could do with it is a comfortable salary at a code farm. I decided to major in mathematics, though I am far from brilliant and my motivation has been waning.

    Dali

    October 20, 2011 at 16:57

  7. Yea im not a computer science major.. I’m an information systems and operations management major… I find myself staying up at night wondering why I’m even at college….

    Jose Cuervo

    December 11, 2011 at 19:34

  8. Dear nydwracu,

    There is indeed rebellion:

    http://www.loper-os.org

    Though I am only one person.

    Yours,
    -Stanislav

    Stanislav Datskovskiy

    January 11, 2012 at 14:29


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.