How learning a new programming language can help you become a better programmer?
My Theory
I came into first year at the University of Manchester, with a fair knowledge of programming in Java. I was fully aware that there were people out there who were well versed in other languages and using it to solve real life problems. Even with this knowledge, I did not even bother to look into any other because I hadn’t yet known the importance of learning a new programming language. I was under the impression that Java was all I needed to know. That if I knew it well enough, it could easily solve any problem I wanted to.
First Year Project
Few weeks into my studies, a few colleagues of mine and I had to do start a group project. It was a website about helping local footballers connect with local clubs. This was the first real task which put my initial theory to test. Remember, I was under the impression that Java was all I needed. At first thought, I was thinking, hmm, no problems, we could do it in Java because we all knew that. But for some reason, we were advised by my first year tutor to use a different language to the one we already knew. He told us to look into Php, and specifically a framework called Cake Php.
Christmas Time research
At around Christmas time we all started researching about Php. Remember, most if not all of us had no knowledge of php. Even worse, we were to learn a framework on top of that. I remember going to the Netbeans website and diving into every piece of Php tutorial I could find there. This was not easy but I knew I had to learn it eventually.
After Christmas
In our second semester, we all met several times to discuss our project. After a while of doing this, our website was still nowhere near complete. We had gone a decent way though, we had a site up and running but there were still loads to be done. We really tried hard doing all the research we could, send links here and there to each other. Around march, we had to showcase our project result for marking. We did a presentation on what we had done already and also had the chance to explain other plans we had but did not implements yet. To be honest, I think we did well with a mark of 65%, with a very unfinished product.
Lessons learnt
After the project, I learnt two very valuable lessons. The lessons were that, one should never use the same tool, in this case programming language, to try to solve every problem. And secondly, one should never be content with what they already know, you should always try to reach out and learn more.
These Days
As a result of that project, I still keep thinking what could have been, if we knew something else apart from Java. I have become even more motivated to learn more languages. After doing more Php for over a year, i started looking into JavaScript. I did that for a while, the usual jQuery. After a few months, I started getting into .net. I did a bit of c# with Asp.Net Mvc, web forms e.t.c. during the summer of 2012. I must say its the best choice I had made yet in terms of language or platform choice. It even helped me get a placement at an Oil distribution company called Gazprom Energy in Manchester where I did a fair amount of .Net development with web forms and Wcf services . And the best thing of all is, I do not even intend to stop there. Currently, i have seriously started learning the whole html5 stack starting with JavaScript language core. Doing a bit of backbone js, a nice little library with strong emphasis on back-end connection to help me understand the language architecture and design patterns. After that, I plan to learn ruby and for the mean time, I will concentrate on building up on those skills for the future because I think learning a new programming language can help you become a better programmer. That’s all I have for now, I will see you in the next post and thanks for reading. If you have anything interesting to share, please let us know in the comments below. Adiós.
You can read up on what one of my colleagues is up to by going to his blog post about his third year project.