Thursday, 21 July 2011

The Start of a Programmer’s Journey

Joe Gates has kick started his software career with us at Objektum Solutions and in this post he tells us how it all began…

I first came to Objektum Solutions with next to no knowledge of software or programming. I spent the last year working for a small web design and development company building different type of websites for clients. I moved to Objektum Solutions with the intent to learn and further develop my skills in web design and development.

This took a huge turn when I spent the first week at Objektum Solutions surrounded by programmers and software engineers.

My interest for programming started from there. I was amazed with everything that they were talking about even though I had almost no idea what they were on about! I had a conversation with Derek, our Technical Director, about what I was going to do over the coming months and I mentioned that I was very interested in learning a programming language and would love to get involved with it. He had no hesitation in giving me his personal books and said where to start. Since then I have been continuing with the web design and development but also learning Visual Basic.Net. So far in my first month I have learnt how to make small but functional programs such as a program that simply adds numbers together, to what I learnt today was my first recursive program. I was given the task of creating a program which would work out and give the result of the factorials of a number.

Derek then gave me a short but very beneficial lesson on numeral systems, teaching me the basics of how binary and hexadecimal systems work. Derek and I believe that knowing how these systems work is a fundamental part of my learning and knowing how to use them will be extremely beneficial later on in my journey of learning how to program.

Friday, 8 July 2011

Obsolete Programming Languages

Fiona provides us with another insightful post on programming and where we go next once a language has become non-existent....

With technology changing and advancing so rapidly, the programming languages which sit behind the gadgets we love are also evolving and changing. Languages often become out-dated and begin to cover less and less of technology’s needs, for example the widespread use of the web has led to the influx of new web languages which have differing features than the languages developed in the 70s through the 90s. So what is the lifespan of a programming language? When does a programming language become obsolete? And also where do we go next once a language has become non-existent?

Currently, it seems that Pascal, Turbo Pascal and VB6 have been completely written off as redundant. The languages which could presently be described as in decline or progressing towards another language include C, C++, Perl and Delphi and perhaps even Java maybe losing pace to Ruby. So why when languages are in decline do we still find developers vigorously maintaining and coding using the same languages? Well a manual software migration process is costly and time-consuming to say the least. In fact it is the laborious and repetitive task of rewriting lines of code which frustrates developers and prevents them from programming in the language they truly desire. 

So let’s explore the likely advantages of an automated model driven approach to language to language software migration. Aside from the previously mentioned cost and time involved in a full manual migration there are often other issues and failings with this type of process. The scope of the project is difficult to contain, new requirements often present themselves replacing existing requirements, and eventually the new system differs from the existing legacy system. An automated approach enforces rules and consistency which will preserve the quality of the code.

However, a move to a model-driven development environment is an effective alternative to this process. Using this environment will result in faster software migration which may well show which languages are actually redundant and lead to future obsolescence of languages at a much faster rate. Perhaps, this will radically change the way we view programming languages as they become more progressive and adaptable. Will we begin to see the days of teams of programmers battling with boundless lines of code as an ancient practice? Watch this space…