1. 1 month ago 

    What Programming Language Should I Learn?

    This was the question a colleague asked me today. It suprised me, even though an urban myth in the non-IT community is that every “techie” person can or likes to write software. So when the question was asked of me, the first thing I did was ask more questions:

    Why do you want to learn to program? To go into the profession? To add it to your resume? A quest for enlightenment? (The last one is a joke)

    This had my colleague thinking, so I furthered with the most pressing question, that in hindsight, should have been my first:

    What do you want to build?

    Today, we have mobile applications, web applications, Windows applications, Cloud-driven applications and embedded applications, just to name a few. For each type of application, there’s usually a different language that preferably “fits” into the style a programmer wishes to adopt to maximise performance in building applications for each. And to compound things, each language usually has a preferred IDE (Integrated Development Environment) that makes rapid development of applications in that language that much quicker.

    This is also where language frameworks start to matter. Just as different languages can each be optimal for building each type of application, each language usually carries its own language framework, sometimes called a system library, or simply a framework. The framework attached to a language usually provides a series of commonly used classes, methods, extension points and other useful “plumbing” that gives great power to a developer using that language. While this is definitely fun for the passionate programmer to learn, it definitely comes with an overhead cost for those of us trying to meet a deadline.

    This is where the Visual Studio 2010 and the Microsoft .Net Framework starts to make much more sense for those of us passionate about building all types of applications and not afraid of learning different programming languages but still concerned about losing the “experience advantage” gained by the investment in learning a framework attached to a programming language of choice, along with a preferred IDE. 

    This might be getting abstract, so let me bring it back to real experiences for a second. Pre-university I learnt QBasic, a DOS-based programming language that came with most versions of MS-DOS purchased at the time. Great, I was off an running as a programmer! And then my school’s computer lab got Windows 3.1, and subsequently Windows 95, there was Visual Basic ready for me to maximise some of those “Basic” skills in programming (pun intended) as I learnt about GUI development.

    Then it got a bit tricky. At University I had to learn Pascal for the first year. While it was definitely a more structured programming language that built my discipline for the craft and prepared me for OOP challenges of later years, it was painful to have to learn this new Pascal library framework. In my final year at University, we were then introduced to Java. While not as painful as it could have been for me, since I had dabbled in OOP (Object Oriented Programming) with Java between breaks in Secondary School and University, I saw so much pain in my fellow students as they painfully, again, had to learn a new library framework, this time Java’s. I won’t get started on what happened when I had my Computer Graphics course, and got to know about tuples with much grief now understanding what the CPython libraries were. I wasn’t the only student who cried “Good Grief!” that year, or in subsequent years, I’m sure.

    Would it not have been simpler, and more beneficial for me as a student, to have been able to maximise the investment I made in learning a standard framework that crossed multiple languages, and maximise it moving forward as I advanced in my degree, not to mention my subsequent professional career?  

    What would have happened if, on entering University, I had started with C# as an entry to learning proper OOP? The Microsoft .NET Framework would then be exposed to me as well, and moving forward provide a foundation for branching into the various application programming languages and the problems learning them would help me tackle: perhaps something like VB.Net for Windows GUI application development, Silverlight and ASP.Net for mobile, web and rich Internet application development, F# for functional programming etc. 

    With the advent of the DLR (Dynamic Language Runtime) even the dynamic languages could now be available to me. Life would be so much simpler if I did my degree today, since using IronPython for Computer Graphics I could rely on my previous years’ knowledge of the Microsoft .NET Framework experience to get right into the mysterious of tuples and image transformations and not get too tied up in the non-essential “plumbing”. And what’s more, each of these languages works within the same IDE provided by Visual Studio!

    So the answer to the question that started it all? What programming language should I learn? Well, it still depends on what I want to build. But with Visual Studio 2010 and the Microsoft .NET Framework, I now know that the effort I put into learning a language such as VB.Net, C#, F#, Visual C++, IronPython, IronRuby or any other language to come that utilises the Microsoft .Net Framework and compiles to the CLR (Common Language Framework), will be an investment bearing great fruit by minimising my own learning curve and overhead when I choose to learn a subsequent language for something else I wish to build. 

  2. 3 months ago 

    Bipolar Order art exhibition in #Trinidad. The man is truly talented! The artist really appealed to me with those pieces of his inspired by London, where I lived for about a year, as he truly captured many of my “perceptions” that stood out as a Trinidadian living in this strange land. From now till May 8th, check out some fantastic pieces by my friend Kevin McMayo at Brian McFarlane’s Mas Camp on Rosalino Street, Port-of-Spain. You can find more details of the exhibit from the Facebook page as well.

  3. 3 months ago 

    The Asian Buffet

    The Asian Buffet

    A few folks during the meetup

    A few folks during the meetup

    A few more folks during the meetup

    A few more folks during the meetup

    #trinidad #ttcs lunch at Asian Buffet in Trincity Mall was fun yesterday! Nice to see everyone excited about actively planning the next set of events.

    A few things I’d be interested in hearing feedback on:

    • What is the best day/time/location in Tobago for the TTCS Monthly Lime? The weekend would make most sense for those of us from Trinidad wanting to visit to participate, but we really want to encourage Tobago computer users and TTCS members to attend at times most convenient to them.
    • Are there any TTCS members currently in Tobago willing to volunteer to drive the logistics of arranging such an event?
    • What developer products and tools (Microsoft or otherwise) would you like to see the TTCS hold a user meetup on?
    • What Microsoft products would you like to see the TTCS hold a user meetup on?

    My personal picks for the ‘sessions I’d like to see’ are:

    Whatever events are planned next, I’m sure they’ll all be exciting stuff!

  4. 3 months ago 

    Here is one of the #trinidad teams in Microsoft’s Imagine Cup competition collaborating intensely as they get their entry ready for the local finals’ April 28th deadline. This past Thursday was a busy one as well for me, as aside from meeting with this team from the University of the Southern Caribbean (USC), I also headed to the University of the West Indies’ (UWI) St. Augustine campus to meet with the UWI Computing Society and talk about what the Imagine Cup competition is, and how they could start preparing now for Imagine Cup 2011. I also talked about how programs like Microsoft Live@edu, MSDN Academic Alliance and Microsoft Dreamspark were giving Computer Science (and other) undergraduates access today, legally, to the software tools they needed to learn that not only better readied them for entering the workforce when they graduated, but to collaborate with other students to build into reality the innovative ideas they had today!

  5. 4 months ago 
    Interesting events around movietowne #trinidad, sadly not part of the #ttlug meetup

    Interesting events around movietowne #trinidad, sadly not part of the #ttlug meetup

     
  6. 4 months ago 
    Happy Birthday Reeza (guy on right), our resident MSTT Software Architect, the dude’s probably as old as MS itself

    Happy Birthday Reeza (guy on right), our resident MSTT Software Architect, the dude’s probably as old as MS itself

     
  7. 4 months ago 
    Can you guess where I’m working now?

    Can you guess where I’m working now?

     
  8. 5 months ago 
    At the Microsoft #trinidad developer bootcamp in the hyatt regency

    At the Microsoft #trinidad developer bootcamp in the hyatt regency

     
  9. 8 months ago 
    Safe trip little brother. Here my big brother and I say farewell to my little brother Runcie as he returns to his duties in the US Navy.

    Safe trip little brother. Here my big brother and I say farewell to my little brother Runcie as he returns to his duties in the US Navy.

     
  10. 8 months ago 
    At the #ttcs pizza hut lime in Valsayn, #trinidad

    At the #ttcs pizza hut lime in Valsayn, #trinidad

     
avatar_128
 
 
My blog on technology, business, Trinidad and other topics I find interesting
 
 

Following

staffzemantabenhall
 

Tumblr