Thursday, February 17, 2011

Hmm...what language to learn?

The last few days I had a discussion with the web programmer at work about programming languages. It was funny how naive I am about the business use of programming languages.  In college, we learned so many programming languages and you would think that this is what it's like when you are in the workforce.  The reality is there might be a handful of programmers that use multiple programming languages but most of the time in almost anything one eventually has to specialize in something, in this case a programmer specializes in one language.  This led me to believe if I wanted to develop software myself what programming language would I specialize in?  These days I have noticed from reading books and understanding the versatility of some languages that there is no doubt Java would be one of my first choices. Another useful language combo that would be good for developing applications is C\C++ or even C# because they are a language built for quick execution.  I am seeing much more use of RPG these days because of the usefulness and simplicity of the data management an AS400 provides, which can be used for numerous business applications. The last very applicable programming language that I would consider developing in is Visual Basic, which in itself has many uses from applications to web development.  The question is which one would be the best choice? 

Java was one of the first languages I got into when I started working on my major in college. Over time, I realized all the various uses that Java had.  The strengths of Java are that you can develop applications, applets (web), and libraries on the application-focused side of it.  On the web side of Java there are servlets, struts, Java Server Pages (JSP) and Java Beans.  Java can simplify the process of building your own libraries.  Libraries can be imported in to a project and be used give certain functionality to anyone who wants to use it. This is why Java is developed very well and has so much included in the language.  The language also has extensive support for most database technologies and has a choice of a various graphical interface kits.  The only weak point I have noticed when programming Java is that it doesn't have a very strong scripting focus included in it because the language puts a big focus on objects oriented programming. 

The C languages are also versatile languages but what makes them a very strong choice to anyone is that they compile to executable machine code giving them faster execution time then a language like Java that uses a virtual machine to run its programs.  Having a fast program execution makes this language very good for developing applications.  One scary thing I found is that some large scale companies don't use C\C++ to develop their applications especially crucial components such as servers and client connections which would function at their best with the low overhead from using C\C++.  If actual computer-savvy programmers got together to develop some of these applications for some of these companies I am talking about it would benefit the reputation of that this company as well as the companies that buy their software.  Some of the most heavily used programs and even operating system are written in C or C++.

A few years ago in one of my old jobs I heard of a computer system called AS400.  When programming one of these devices a programmer uses the language RPG to develop software to interact with a database.  With this functionality these devices would be vary useful and expandable in business.  A person I know who is an AS400 programmer, knows the functionality of the AS400 and he raves about using it. The AS400 has many capabilities like being integrated with a DB2 database, having multi-user support, a menu-driven interface and support for many modern technologies. Because of the versatility of the AS400 for data-driven industries, I am surprised we don't see more of these machines and AS400 programmers probably feel the same way. 

The last language that I will be reviewing is one of the first language families that I have ever been exposed to. Some people love to make fun of this language, like Dijkstra (a computer scientist) did, but it is so integrated within other technologies provided by Microsoft it could be considered one of the most useful languages available and the name of this language is Visual Basic.  Visual Basic has elements of BASIC and QuickBasic style syntax and similar statements which can make it easy to pick up.  Visual Basic in itself can be used to develop graphical applications.  You can also interface these graphical applications with databases of various technologies such as Microsoft Access or Microsoft SQL.  The language in itself is very similar to Visual Basic script which is used as the primary language in developing web applications with ASP.  This is an example of how Visual Basic can be used for both the web and for applications.  The versatility of this programming language makes it a good choice for many business applications. 

I know these aren't the top languages out there but they are my opinion by observation and study of the capabilities each of these languages has.

No comments:

Post a Comment