You are on page 1of 4

Page |1 Zachary Kauffman

System.out.println(Hello world!); It seems like such a long time ago that I first started my adventure in Computer Science and the mysteries of programming languages. I remember when I was younger being told that programmers are usually exposed to languages at an early age, usually sometime in high school but sometimes as early as elementary school. Even knowing this, when I walked into class for the first day and everyone but me held their hand up to the question Who all here has had programming experience before my stomach sunk faster than a rock that was tossed into a lake. Within the first week of classes we were already assigned a program, it was a rather simple one but for someone like myself who had no experience with programming languages it was a challenge. The program? Display your name, age, major, and where you were from. This is actually when I started separating myself from the class, though I wouldnt realize it until later. Normally all that is needed in this scenario is to have a few constants that hold the information and then just print1 those constants; I took it a step further and created a method2 to reduce the amount of typing so that I wouldnt have to type System.out.println(constant) every time. I remember being asked about that in a following class and having to explain how I ended up looking ahead to the next chapter out of panic of being behind everyone else. My fears were more or less put to rest that day whenever I was told that hardly any of the class had even used constants and had gone so far as to actually type what they wanted to print out instead of using variables or constants. As time would go on Id continue to further distance myself with my classmates, turning simple, often repeated code, into smaller, more memorable methods such as log for printing;
1

Print: Not to be confused with printing with a printer. Printing in this sense refers to displaying item(s) in the running space of the program. 2 Method: The main portions of programs are split up into methods. Each method does different things for programs and new methods can be called, or started, by other methods

Page |2 Zachary Kauffman

clear, insert, delete, and remove for dealing with arrays; and input when dealing with getting input from the user. I ended up earning a B in my first programming course which I was proud of considering the few other Bs there were and the even fewer As, but at the same time I desired to learn more; unfortunately, the Advanced Java class was only offered in the same semester as the basic class so I was left to branch out into other languages in order to satisfy my desire to program. It was in the second programming class that I took that I met the first person who I feel honored to call a literacy sponsor, Professor Hull. His Computer Science class (the UNCC equiv of Data Structures more or less), while not a class that functioned solely on programming, was challenging in its own rights, and not just because we were using another language that was new to me. Before this class had started the only data structure32 I was aware of previously were arrays, though by the time the first class ended I became well aware of others such as records and trees. This wasnt the only thing I took from the class, no; this class also taught us to structure our programs logically, so that whenever one read back through the code it not only functioned correctly when ran but read easily to the human eye. To quote Prof. Hulls response to my first program we did for the course, Imagine trying to find a needle in a haystackthen reverse it so that you were actually trying to find a lone piece of hay in a stack of needles; not exactly the most pleasant thought, is it? Fast forward not even two weeks and were now finding the needle in the haystack, a much less painful task. By midterm my programs flowed like a story, at least to someone who understood the language. Prof. Hull did so much to help shape my programming in the two semesters I had classes with him that there is no way I could even pretend to say that he isnt my number one literacy sponsor. Though, he is not the only one, my C++ professor
3

Data Structure: A structure used in computer programming to hold data in convenient methods. Some examples are Arrays, records, trees, heaps, and queues.

Page |3 Zachary Kauffman

challenged me to take a more mathematical approach to programming which helped deepen my understanding of formulas and also my ability to translate them into code that a computer can operate with. My visual basic professor taught me the basic naming convention that, combined with what I learned from Professor Hull, made it so that variable uses were so blatantly obvious that comments werent needed to explain their function outside where they were used. Now, I realize that up until now it looks like my programming courses have all been relatively easy and that I never once struggled with these new languages; that couldnt be any further from the truth. Its true that up until this point I havent really mentioned any negative experiences with programming, other than my initial fears, but I can assure you that I suffered just as much, if not more so, than everyone else in my class; in fact, the vast majority of my memories involving programming and these courses are actually quite negative. I believe the first real frustrating moment I had was whenever I made the switch from programming in Java to Ada, the language that we used in Professor Hulls classes. Ada is a somewhat new language whenever you compare it to others like Java and C++, but it is by no stretch of the imagination easier to understand; if anything, its harder. I cannot begin to explain the anger that went through my mind throughout the various programs we did over the course whenever Id try and run it and get a compilation error because I failed to provide a matching length or even a length at all, for a string. Let me explain: A string is what its name suggests, a string of something. It can be a string of characters, numbers (that you dont want to count as numbers, so a date, address, etc.), anything you want. Now most languages allow you to just declare a string, strName String;, but not Ada. Nooooo, Ada says you not only have to declare your string, but also define the length. strName String; now becomes strName : String(1..5), and thats just to hold something like Hello. Anything that falls out of range or goes out of range will throw you

Page |4 Zachary Kauffman

a nasty out of bounds error. There is a nifty trick around this but at the time we didnt know this so planning around this limitation, as I called it at the time, was beyond annoying and frankly enough to make me almost quit Computer Science as a whole. This was not the only problem with the language, no. In Java and C++ if you want to say X equals something, you just use the = sign and if you want to see if something is equal to something else you use the = sign as well. This causes an overload on the = symbol which Ada tries to prevent wherever possible in order to cut back on bugs in programs; that being said, in order to say that X equals something, you have to use :=. Say we want X to equal five, youd type X := 5 for Ada while in Java and C++ youd say X = 5. It might seem like nitpicking but that colon can single handily be the most annoying thing at the beginning of Ada programming. It caused me to turn in my first project late and would continue to trip me up until the first test in the class. I remember asking myself why every language cant be the same, if one language could use put(item) to do the same as System.out.Println(item), why wouldnt it? While Ive managed to get a grasp on the basics of Computer Programming, I still have a good bit left to go in terms of realistic programming. Majority of the programs Ive done in the past can be described as cute, but theyre hardly useful in the real world, but thats okay. Books in hand, past experiences and professors to call on I look forward to the future and any other challenges or difficulties ahead as I continue to take classes and research on my own time to further my understanding of the plethora of languages there are to learn in this field.

You might also like