in Search

cruizer

aspiring to free and open the mind of .NET developers

August 2007 - Posts

  • Does your programming language enable you, or hinder you?

    Computer programming languages have evolved through the years to enable programmers to do tasks, and do them faster. Otherwise, we would all be stuck programming in native machine language. While some of you may find that fun, I don't. Stick out tongue

    Lately I've begun to evaluate the programming languages that I know and use, on whether they enable me to do things or hinder me from doing things. Let's take strong typing for instance, a hallmark of compiled languages like Java and C++. Does it enable the programmer, or does it hinder the programmer when it comes to creating code? Though strong typing is sort of a "safety net" that helps the programmer in catching errors at compile time, I'm realizing that it actually puts roadblocks on our way. Added language features like generics and interfaces to me now seem more of a hack than genuine language enablers. Generics don't make sense in dynamic programming languages, and neither do interfaces, for instance.

    I'd like to expound on interfaces as implemented in Java and C#. They're supposed to make it possible to refer to objects polymorphically as long as they implement an interface, regardless of their class inheritance. So why did interfaces become "necessary?" Simply because the people who designed the programming language concerned chose to use class inheritance as a means to enforce strong typing. In its pure form, inheritance is supposed to enable reuse at the class level, by allowing subclasses to make use of code already written for their base class. I'm pretty sure it was not meant to be a means to enforce strong typing. I really don't know why that came to be, since it was already so when I started learning OOP with C++ and Turbo Pascal 5.5 years back.

    I'd also like to rant on PHP. As you may (or may not) know, I used to be a fan of this language. Now I seem to admire it less. PHP is a dynamic language, but it's shackled by its C/C++ roots and lately by its Java influence (in PHP 5). Too bad. Now it's like a dynamic language that is trying hard to fit in the static language crowd. I'm not impressed by what PHP 6 is promising to bring to the table too. I'm starting to move away from it now. Sad, I know.

    Ah, I'm dreaming of a time when I can use a dynamic language at work...

  • Languages make design patterns necessary

    In light of observations made here and there, it is becoming clear to me that language limitations play a big part in making design patterns necessary. Or unnecessary. In other words, language deficiencies make it necessary to introduce complexity into code.

    In fact it was the master who told me that in some programming languages, design patterns are not necessary. They are simply idioms. Last week I attended a brown bag session here in the office about Aspect Oriented Programming (AOP). Throughout that time I kept thinking to myself that some features of AOP would be unnecessary if only we were programming using a dynamic language. I haven't had time to start learning Smalltalk yet, or Ruby...and those MSDN CDs are in a corner slowly gathering dust Stick out tongue. Ah, so many things to do with so little (spare) time!

    So...are we witnessing a changing of the guard here? Will C++, Java and C# eventually go the way of COBOL and its ilk?

    Posted Aug 07 2007, 04:18 PM by cruizer with 8 comment(s)
    Filed under: ,
  • A fad, or the beginning of change?

    I swear I saw a few news reports in the days of the dot-com boom (before the bust of course) wherein PC manufacturers were bundling Linux on their machines. I guess it wasn't successful because it went for naught a few months (weeks?!) later. Just this year, Dell started shipping Ubuntu Linux on particular desktop and notebook models. Then a few weeks ago I read that they'll be expanding that offering.

    Acer here in Singapore is starting to offer Ubuntu too. Now I read that Lenovo will bundle SuSE Linux on particular ThinkPad notebook models. This time though, Lenovo is targeting the enterprise, not the home desktop. Is this the beginning of change? Or another fad just like the dot-com boom and bust the previous decade?

    Posted Aug 07 2007, 11:13 AM by cruizer with 7 comment(s)
    Filed under:
  • My journey (to the dark side) is now complete

    Just when you thought I've crossed over to the dark side, I guess it wasn't complete yet. This one takes it further.

    My peers in the office often express amazement at my Visual Studio color theme. Maybe they weren't born yet during DOS (those) days of green on black, or better yet yellow on blue (the "Turbo" family of Borland). I've been using a dark color scheme the past year or so, but the one from the link above has better color selection than my current settings so I adopted it.

    maka-Star Wars talaga ako, ha ha Stick out tongue