Thursday, November 5, 2009

Why Java

In B.Sc(Computer Science), the university had decided that all Computer Science students would do Pascal as an entry level programming language. In this course, students only covered programming basics; primitive data types and flow control, and I/O. It was upon the students to learn stuff like database programming by themselves. However, concepts like Analysis of Algorithms and Data Structures was well covered in second year of study. However, these important concepts were demonstrated using Pascal. Even though we didn't know then, but it was a good thing that we used Pascal rather than a language like Visual Basic.

Also, an introductory Software Engineering course was taught in second semester of second year. This introduced some Software Development methologies like Waterfall Model and RUP. I guess Agile methodology had not gained much ground by then.

Object Oriented Analysis using UML was introduced in third with Object Oriented Development in 4th year. We used Java to demonstrate Object Oriented concepts like Polymorhism, Inheritance, and Method Overriding and Overloading.

Tracking back alittle bit. When I went for Industrial Attachment back in third year, I was put in a Software Development environment. My responsibility was developing websites and afew software. During this period, we used PHP scripting language with MySQL database. The rationale behind this was the fact that several hosting companies were able to host websites done in PHP as opposed to othe technologies like Java. So, circumstances forced me to learn PHP, and I found it easy to use and very powerful.

However, from my own research I realized was not as mature as Java. In addition, its security was not as well developed as Java's. I also learned that adoption of PHP was majorly in the websites arena. But I didn't know of any company that had used PHP to implemet an enterprise-wide business solution. But I have to admit that the language is improving rapidly and may soon find more use in Business Applications. But for now, I doubt I think is still the de-facto leader in this arena given the number of companies supporting the technology, the standard process(JCP) that every specification of the language is subjected to.

All I ever wanted to do was be a part of a team that develops Critical systems that supports real businesses. And from my research, I found out that Java had curved itself a niche in this area and, it is likely to stay that way for sometime to come. I'm , by nature not a Microsoft person. I appreciate good technology but so far Im not conviced that Microsoft's is a good technology except for their Office suite.

These are some of the reasons I chose to start my professional career with Java.

Programming languages evolve very fast and new ones also being invented at a very fast pace. So, Java is just my first professional language. After coming up to speed with major Java technologies, the I'll have to learn other languages. Next in line will be Python. But for now, its Java until I know how the nuts and bots are fitted together.

No comments: