I love coding, it's one of the things that I consider to be fun and enjoyable. Although I've taken up computer programming in school I felt that only when I was in the workplace that I was able to learn the skill of systems programming. It all started when I was hired and asked to develop a desktop application for my employer. It was a simple patient index system software (PISS - what a name!), I found the whole experience of coding and designing the UI to be very enjoyable. That was when I thought that I could make a living in software development.
My next project was to create a software that would calculate a patient's total available Medicare benefits. Developing simple desktop applications gave me more exposure and better learning on how to develop software. I researched and studied a lot more on object-oriented programming and software development life cycle and it too gave me a broader view of the art of software development.Then came my next project after just three months of fast-paced, self-motivated learning. I was tasked to develop an application that would be used for a school, this application would be used to record the students enrollment data such as subjects enrolled, number of units, and most importantly calculate the total fees, record payments and automatically calculate the remaining balance. This one involved a detailed research on the present process of manual transaction recording and how to migrate from a paper-based process to an electronic recording of data. It entailed having to interview and get feedbacks to and from the prospective users of the system. A small amount of extreme programming style was implemented to be able to develop the best software that would cater to their needs. So after about five months from first having to learn actual programming I was able to develop a critical application that had an accounting and recording purpose. All of these applications were developed using VB6 using MS Access or MySQL5 DB.
It was just last year when I did all of those stuff. Right now after learning that Microsoft was ending support for VB6 I started to try learning visual studio 2005. Learning VS2005's visual basic IDE was easy,only minor changes were made in the visual design part but in the code development I had to learn how to use .NET framework programming. It took me a couple of weeks to get accustomed to using vb2005, then I got the hang of it and tried making small applications just to get me more acquainted with the IDE. Further along the way, I got an idea of why not trying a new programming language in the VS2005 suite? After checking, I finally came to the decision of trying visual c# 2005. At the beginning it was difficult. C# as I've read in some articles was a mix of a Java and C++ programming, two of the most difficult programming languages I had encountered but never able to learn. But fortunately, after amassing dozens of ebooks on the subject I was able to learn to develop in c#. It gave me a reason to burn my midnight candles so to speak. I had a hard time checking out sample source codes to get ideas on c# programming. So learning was more challenging this time around. But learning this new programming language was a good decision, it gave me a wider perspective in terms of programming.
Lately I have been reading a lot on Open Source Software. The philosophies behind the creation of the open source software revolution has been accepted by almost all software developers and engineers of the world. Adaptation and migration of IT systems to the open source standards has grown exponentially and by 2010 it is projected to compete with mainstream proprietary systems in terms of security, portability and ease of use. I find it very appealing and a lot interesting, imagine how it would be cost-efficient to implement an open source system in a corporate environment. This would mean a big decrease in expenses, having no need of purchasing software for the operating system, office suite, and programming development framework, IDE, etc. This was something that made a lot of developers get into the open source bandwagon. Aside from it, the growing community of open source developers was thriving and these communities were a source of support in the development of open source systems. The community also played an important role in the success of the open source framework. Without this support from the community of open source developers the popularity of open source would not have been this widespread.
It took me a while to try free/open source software. A little egging by my friends and I got into the heap. My first exposure to FOSS was when i tried installing Ubuntu Linux on an old Pentium box. I had no prior experience in installing Linux but fortunately I had a LiveCD with me given by my friend. What struck me was the ease of installing the operating system. Since it was a LiveCD I was able to boot up my old box with Linux without actually installing Ubuntu (you all know this by now). It was kind of a test-the-Operating-System before actually installing it onto the box (you knwo what i mean). It was very convenient to be able to check if everything goes well before actually spending time installing it without even knowing if it would run in your computer. It was one of the things that got me into using open source. Eventually I learned how to install a dual-boot system. I had Windows XP and Ubuntu installed in one computer. For a beginner I sure was glad nothing bad happened to the installation process, everything went unexpectedly well. Took a while before delving into the nitty gritty stuff of the Linux environment. I encountered problems in updating my system and getting some applications installed because the computer was not connected to the internet. So I painstakingly downloaded all the binaries and its dependencies to be able to successfully install a single application which was not installed by default on the system. But with my programming background I still pursued. Learning the shell was fun, I had the feeling of control over my computer. Something that I was not able to do with its proprietary counterpart.
More research and further reading on FOSS I came to learn about other distributions of linux. I tried each one, trying to get a feel for each distro and making comparisons with regards to their strengths and weaknesses.I also came to learn how to install FreeBSD in my box. My overall experience with all of this formed my growing interest in adopting FOSS. By this time I tried other open source applications via download from sourceforge and other repositories.
After spending valuable time testing various open source softwares I then decided to learn how to develop programs using open source software. Should I choose PHP? Java? Ruby on Rails? HTML/XHTML/CSS? Perl? Python? C/C++? A smorgasbord of programming language is available in FOSS. Which one I should choose was a bit difficult to decide. So what I did was to check on their websites and get a bird's eye view of what each of them would be. My initial assessment was to learn PHP, HTML/XHTML/CSS for web development. Using Apache Web Server and MySQL DB like other famous websites are implementing. I tried learning Java but had a difficult time to learn it (I really don't know why). Then Ruby on Rails also got my attention, right now I am trying Python after reading some great feedbacks from users.
One of the things I had difficulty with Open Source and probably on of the things that hinder me from fully migrating to open source is that I have still to see an IDE that would resemble the ease of use and understanding that I had experienced with visual studio 2005 suite. I tried Netbeans, jEdit, xEmacs, ScITE, PythonWin and IDLE(Python) but still it didn't give interest at all.
Programming is fun, but to complicate things will only make programming tedious. Developing an IDE that would give programmers less task in designing forms and more time on coding would be a good start. Most open source IDEs only have interpreters and compilers with it. It would be better to include visual designers just like the one that visual studio has. So that it would give developers more time in coding the MVC rather than spending time designing forms or pages.
Just something for everyone to talk about... Until now I still haven't been able to choose which open source programming language I would be using. it seems that each one has their own strengths and weaknesses.
Saturday, July 14, 2007
From Proprietary Software to Open Source!
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment