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

Thursday, August 11, 2016

You Work in Computers?

Several years ago I had someone ask me if I worked in computers. When I replied that I did, she told me that I must have any number of job opportunities because there seem to be so many computer job postings. I tried to explain that there are a lot of different areas and that while I may know databases very well, I am not a Java programmer nor would I be hired as a user interface developer. Unfortunately she didn't understand database, Java, user interface, nor the differences between them.

Today I had the chance to attend a series of presentation given by my company's staff of summer interns. My intern gave an excellent presentation on Kubernetes and I decided to stick around listening to others, trying to gauge how well he did. I quickly became aware of how many different disciplines there are in computer science. One person talked about a very in-depth graphics routine he spent the summer researching. Another talked about how she worked with game console software development kits (SDK's). It reminded me of how truly diverse jobs in computers can be.

Should you be interested in a computer job you might want to spend some time thinking about what interests you. My first professional experience with computers involved data and so I built my career around databases. My son has taken a liking to computer networks and so that is where he has found employment. Yes, the field of computers is large and varied. My only advice is that if you decide that a career with computers sounds right for you, continue learning. The field is always evolving and technologies from 20 years ago are different now. When I started out in databases, SQL was the language to learn. It is still applicable but now there are other data tools and to remain marketable, I have had to keep myself constantly educated.

In case you are interested, my intern did a magnificent job on his presentation and made the team proud.

Wednesday, October 22, 2014

Programming Languages

My oldest son is back in college and currently working on a really long programming assignment. The course requires him to use the Java programming language and he is not very happy about it. At the beginning of the project, he was told by the teaching assistants that his code would approach 5,000 lines of code and take 3 weeks to write. Part of the reason for the class is to show the flexibility of Java. My son doesn't see it that way. His preference would have been to use Erlang. He could do everything the 5,000-line Java program does with 25 to 30 lines in Erlang.

This brings up the topic of programming languages. Not all of them are created equal. If you want to write something that runs very fast and only needs to run on one platform, do it in Assembly. If you need something to run as fast as possible but it may run on a number of different operating system (i.e. Linux, Windows, or Mac), then use C. If you are working with statistics then R is your best choice. A good software developer will know the benefits of a number of different languages and apply the best one for the problem at hand.

Does that mean that every software developer should know every language out there? No, but he or she should be familiar with a number of different languages along with the strengths and weaknesses of each. Software developers should also be experimenting with new languages when time permits and not rely on one language to do everything. After all, 30 lines in one language is a whole lot less work than 5,000 even if you have to learn a new language. The 30 lines of code is also a lot easier to maintain.

Tuesday, December 4, 2012

Java Blows

I have been working on a project at the office involving Java and it is much more complicated than it needs to be. Part of the problem is that we are using a piece of software that isn't that well documented. However the bulk of the problems stem from the overcomplexity that is now associated with Java. I needed a small program that needed to do three things. If my Java program requires a directory filled with various files just to do one of those tasks, there is a problem.

When I started my career at Oracle corporation, I had the luxury of learning one of the most complex relational database management systems on the planet. I watched as database administrators built their careers on this complexity, never having to learn another company's product. I then watched a number of Java developers do the same thing with this new language created by Sun Microsystems. I don't think it is a coincidence that Oracle now owns the rights to Java because of the Sun acquisition.

Lately I have been watching as Java has waned in popularity and other software development languages have risen to take its place. I just wish the death of Java wasn't taking so long. Do yourself a favor and if someone suggest using Java to create an application, just say, "No."

Tuesday, September 14, 2010

The High Price of College Text Books

My oldest son just left for college and it has been interesting to hear about his adventures. While he is only eighteen, he finished his Associates degree this summer and entered college as a Junior. That means he has completed all of his general requirements and can focus on the fun classes. He is in the Computer Engineering program and has a few programming classes that he really enjoys.

One of his classes is an introductory programming class where he is learning Java. For the record, I think Java is a horrible language, but that is a topic for another day. However I am interested in what my son thinks of Java and so I was asking him about it. He was able to complete his first programming assignment even though his text book had not arrived. I was surprised that he didn't have his text book until he told me how much it cost: $110.

My first question was, "How could a book to teach someone Java cost $110?" There are hundreds of books on the market and most of the good ones are less than $50. Furthermore, the best references for Java are online and only a troglodyte would require a textbook. I mentioned the cost of the Java textbook at lunch last week with some of my work associates and they all agreed with my assessment. To say we were outraged would be an understatement. Considering we all work with computers on a daily basis and most of the group were programmers, it should say something about the disconnect between our University system and real-world programming.

My son had purchased his textbook from Amazon.com in the hopes of saving some money. Instead of $110, it was only $50. The only problem was that it took 10 days for him to get the book (the book arrived yesterday). Having written and published a computer-related book in the past, I started doing a little research to discover why it cost so much. It turns out that the book uses 4-color printing on every page. At 500 pages, that makes it an expensive book. While color is nice, if you need pretty pictures to understand a concept, you are an idiot. If you are an author and can't convey your message without 4-color pictures, you are a super-idiot. Finally, if you are computer science professor at a major university and require your students to purchase a $110 text book that uses 4-color printing, then it is obvious that you are too stupid to make it in the real world and had to resort to being a professor. I guess there is a lot of truth to the old cliche that, "Those that can't do, teach."