Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

Sunday, November 22, 2009

Higher Level annoyances with a higher level thinking

Previously I wrote about some annoyances I had encountered with Java. Now that the project is done and I think back on it I really shouldn't have been complaining. As with anything new there was an associated learning curve which I had not caught on to at the time of that post. Now that I have done some more extensive work in Java and have changed my thought processes to fit the language I have to say that I found Java to be quite pleasant to work with.

As I have mentioned before I was raised on C++ and its relatively small standard API. I really enjoyed Java's API and its general ease of use. I was somewhat perplexed at some of its differences however such as how some data structures made use of the length() function where some used the size() function. I would have assumed a language designed by one central figure wouldn't have such problems.

Something small such as a broken naming convention is a very minor issue however. While I am glad I first learned C++ and the "harder" way to do things it was nice to have a rich tool set do a lot of the legwork for me.

Now its on to Python. Im looking forward to it.

Tuesday, September 22, 2009

Brand new programming students

Many students enter the computer science field expecting to stare at a computer for eight hours a day writing code. What many students will come to find is that generally this is not true. While coding is an integral part of computer science the true hunk of what makes a good computer scientist good is not his or her programming abilities but his or her ability to formulate efficient algorithms. Learning a language inside and out is a great skill to have and will help further ones knowledge of the field but this skills usefulness may be short lived. Just 15 years ago no one had even heard of or wanted to program in Java but it is now one of the largest and most widely used languages in the world. With the shifts from one language to another moving as fast as they do it is wise for students to focus on their studies of algorithms and not so much the intricacies of certain languages.

Companies in today’s market are searching for good engineers not code monkeys. Microsoft even has a position titled "Program Manager" and many Program Managers are usually assigned to a project. The Program Manager is typically a computer scientist who almost never writes any code. Instead they focus on the overall design of the software and how the different components will fit together.

Therefore if I may offer new students a word of advice it would be this. Complete all your assignments in lab and seek to gain knowledge in your language of choice however pay closer attention to the algorithms you are using your language to represent and the general principles that the assignments are attempting to display.