Curly Braces

You know what is one thing I hate? When people put curly braces on the same line as the function declaration. Look at the following example in C:

int fact(int a){

blah blah blah

}

That is dumb! It should be like this:

int fact(int a)
{

blah blah blah

}

It makes it a hell of a lot easier to read it than the first way. For some reason CS majors tend to me more guilty of this than other majors. You shouldn’t do this. I look at the code and I hate it when someone does this.

 

Computer Science

You know it is really amazing how much your viewpoints can change in a year. I’ve talked a lot about the fun times I have had in Japan as culturally, but I haven’t really mentioned how much I have grown professionally. I have undoubtedly grown as a programmer. If you take my knowledge as a computer scientist from a year ago and compare it to my knowledge now, the change is undeniable.

Before this job I, like many other students, shared an uncanny hatred of Java. There was no real sophisticated reason behind this. It was just the product of learning C++ as an introductory language. From a uneducated college student perspective Java was just a bloated and slow programming language. Through this internship I was forced to use Java. At first I was really hesitant, but I decided to just bite the bullet and go with it. Even I had known that Java was used widely in the CS field and I figured it would be better to be positive about learning it than to sulk about it. Luckily I worked with very experienced and resourceful programmers who were extremely helpful in teaching me the intricacies of the language.

I really think that you limit yourself as a programmer if you make a competition out of different programming languages. It would be the same as a carpenter who refuses to use a hammer because he likes using a screwdriver so much. Sure you can hammer in a nail with a screwdriver if you are really dedicated, but what is the point? Different languages have different purposes and it takes a real computer scientist to realize which tools to use for the job. I can’t imagine doing the stuff I did at Asahi Kasei with a language such as C++.

Another invaluable skill I learned at Asahi Kasei is how to properly structure a sophisticated programming project. Anyone can write a program. Anyone can pick up a Java programming book, read about the syntax, and write programs. I think the difference between a “programmer” and a “computer scientist” is that the computer scientist knows how to structure his project. He knows how to effectively break down a large problem into smaller problems. Most importantly, he knows his solution for the big picture will work before even writing a line of code. Through my job at Asahi Kasei I feel that I switched from being a programmer to being a computer scientist.

Anyway, this has just been me ranting about stuff I had in my head. This rant is no more reliable than my own meandering experience. I started my classes already so I am going to have a lot on my plate this semester. Hopefully, if all goes well, I will be able to return to Japan next year. I will try to keep this blog updated as much as I can!