The first programming class I took was an Intro to Java course. My teacher started off the course by giving us a brief overview of the history of computer science. And I still remember my teacher talking about how people would have to punch cards by hand in order to make programs which sucked because if you made a single mistake you would have to punch the card all over again.
So thankfully we did not have to do that and could instead focus on the logic of the programs we wrote because 'The Java programming language is a high-level language...' (Read more at: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html). And the first program my teacher showed me was a simple Hello World program which is a program that simply prints out 'Hello World!' for a user to read. And the example code intimidated me greatly as there seem to be a lot of text for a relatively simple task. It's code was the following:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
But I got the hang of writing programs in Java after a couple of weeks of doing basic assignments. Two years later, I took a class in C which was very easy to understand because Java based its syntax off of C. But then I got to pointers which are basically things that point to the location of others things which had me scratching my head for a really long time until it finally clicked after spending hours thinking about it. So I was thankful that my first programming course did not require me to know how to work with pointers. And C's version of a simple Hello World program is:
#include <stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
After taking a short break, I took a class in Assembly which I found to be really hard as you had to keep track of all of the registers named eax, ebx, ecx, edx, etc in your head. So this class gave me a ton of respect for the people who made high level languages as they make programming more accessible. And it's version of a simple Hello World program is:
INCLUDE Irvine32.inc
.data
prompt BYTE "Hello World!",0
.code
main PROC
mov edx, OFFSET prompt
call writeString
main ENDP
END main
Which is really not that simple at all. And then I started to learn Python which was really easy compared to the other languages, as it's syntax is pretty similar to Java/C. And a simple Hello World program can be written in Python as:
print("Hello World!")
Which I think is super cool because it's so simple compared to the rest of the languages I have learned about.
After taking a short break, I took a class in Assembly which I found to be really hard as you had to keep track of all of the registers named eax, ebx, ecx, edx, etc in your head. So this class gave me a ton of respect for the people who made high level languages as they make programming more accessible. And it's version of a simple Hello World program is:
INCLUDE Irvine32.inc
.data
prompt BYTE "Hello World!",0
.code
main PROC
mov edx, OFFSET prompt
call writeString
main ENDP
END main
Which is really not that simple at all. And then I started to learn Python which was really easy compared to the other languages, as it's syntax is pretty similar to Java/C. And a simple Hello World program can be written in Python as:
print("Hello World!")
Which I think is super cool because it's so simple compared to the rest of the languages I have learned about.

Hi Luke,
ReplyDeleteThat is a very interesting post. It is great to hear about your kind of computer science history by telling your stories about learning different programming languages. I like how you presented the printed “Hello World!” examples from Java, C, and Assembly languages because every computer programmer should try to practice printing “Hello World” in their programs. Learning how to program is like riding a bicycle: once you started to learn the programming languages, you just keep going and going.
The content in your post is also very good. One recommendation in your post is to check for spelling/grammar/sentence structure errors. That way, your flow is free from errors. Another recommendation is that you could add cited works at the end, so that your readers will know where you find these articles in your post.
Other than that, I enjoyed reading your post. Keep up the good work!