I think I bore my friends a lot when I talk about my computer science classes.
I don’t blame them, I listen to myself talk about it and my inner monologue goes something like: “Oh my god, shut up, nobody cares about this, why are you still talking about it DEAR LORD PLEASE BE QUIET.”
I think this has something to do with the fact that I am literally speaking another language and nobody has any clue what I’m talking about.
Let’s behold a conversation I had with my roommate Michelle earlier in the semester:
Michelle: Hey, do you want to get dinner tonight?
Me: No, I can’t, unfortunately. I have a night class this semester. *frown*
Michelle: Oh, what are you taking?
Me: *without missing a beat* Computational Linguistics for Digital Humanities.
Michelle: Oh, that sounds hard. *engage disinterest*
Even the titles of the courses are confusing for people.
But the course material, and the programming languages themselves, I believe can be readily likened to any other foreign language based on several elements. Programming languages have the following in common with other languages:
1. Syntax. Syntax is just as important in programming as it is in everyday speech. Just as you can’t say
“Skyrim game a fun is” in place of “Skyrim is a fun game.” in English, in programming languages (in this example, C++), you can’t pull this craziness either.
WRONG
}{for(i int=0; >string skyrim.length i ;+i+)
;<<cout<<skyrim]i]<<endl
string skyrim = “Skryim game a fun is”;
RIGHT
string skyrim = “Skyrim is a fun game”;
for(int i=0; i <= skyrim.length; i++){
cout<<skyrim[i]<<endl;
}
(By the way, it was physically painful for me to type that messed up version)
You can still sort of kind of understand what the speaker/typer was trying to do, but it simply doesn’t work.
You need periods in english, you need semicolons in programming. You need certain things to keep the flow of conversation going, just as a program needs commands in order to keep running.
2. A vast dictionary that is not terribly similar to any other language.
Okay, to be fair, programming can be very similar to English at times. It can read logically in that way.
But sometimes there are phrases you just have to know in order to communicate effectively in programming.
I can play devils advocate to myself though; I can perceive how some might not see Java or Python as it’s own dialect.
For one, it can’t be spoken. You can dismiss this argument in favor of recognized languages such as ASL, where people use their hands to communicate. Programming is simply the communication of computers. But I understand the conjunction some have between speech and language.
I think if I had to absolutely categorize language (which I don’t like to do in the first place, to be honest) I would describe programming as not necessarily it’s very own thing, but rather a highly developed slang for the age of technology.
And this is the end! It’s been a great class, and I hope you all have wonderful holidays. 😀