Friday, May 09, 2008

Choice of Programming Language

If you frequent any computer-related fora these days (and past days), you'll eventually run across a language war. Nowadays this will probably be Python vs Perl, or C# vs Java; in years gone by you'd see C++ vs C, Pascal vs C, Cobol vs FORTRAN, LIPS vs anything, etc.

Now, we all know that Turing-complete languages are equivalent, so there is no operational difference between any of the main languages. We also know that the syntactic sugar that a language has makes certain things very easy, and others hard, like doing OOP in C - you can do it, but you need to build a great deal of the scaffolding yourself.

So when I read this article by Philip Guo about the relevance of the language libraries and the environment, I found myself nodding in agreement. The biggest factor in language choice is never the strength of the language - it's the existing environment - which languages are already in use, what skills can be hired, does the language have built-in strong libraries, etc. Those are the deciding factors in almost all cases.

And, I might add, politics. Sometimes you face a political fight to use a particular language - there is someone who either forces or prohibits the use of programming language.



Technorati Tags --
, , ,
HTTP

Tuesday, May 06, 2008

La Plus La Change, La Plus La Meme Chose

(The more things change, the more they stay the same)

The Powers That Be at work just dropped me back into the section of the system that I was directed away from (to work the current section), so now I get to work on code that I've been away from for nearly 3 years, and someone else has been stomping around in. Happy, happy, joy, joy. All the code reorganized, functionality that I had no knowledge of when it was added, and I get to add yet another warty version of a protocol that our esteemed colleagues in the other side of the business do not seem willing to consolidate into a sane system.


Technorati Tags --
, , ,
HTTP

Monday, May 05, 2008

Stovepipe Specialties

3 on a match - a trifecta of Ninja goodness!

Interestingly, I have just read a post that states the writer has never heard another programmer utter a phrase that I know would be well-worn to anyone reading the Pragmatic Programmers first book.

Kenneth Down, in his May 4th post in "The Database Programmer" blog, states that he has never, in 15 years of programming, heard another programmer say anything like the phrase "Minimize code, maximize data". Yet this has been a well-known adage from the aforementioned book, as part of their general manifesto. And their book was published in 1999!

Now, while I have not read Mr. Down's blog long enough to know much about him, the fact that the blog is "The Database Programmer" lends credence to the idea that it's the narrowness of his field that has kept this technique from common use. Database programmers may not be reading the same books as the general programmer population.

If this is the case, we need to break down the stovepipe specialities that are keeping us programmers from using the knowledge our bretheren mine from the field.



Technorati Tags --
, , ,
HTTP

Programming and Creativity

Another post, in one day? Amazing?!

A Mr. Paul Johnson wrote an insightful article about a fundamental difference between people who get programming and those who don't.

His basic point is that those who don't get it tend to think of the core of programming is a well-known process, one that is amenable to simple industrial process improvements. Those of us that get programming understand that the core of programming is locked in our brains - it is the mix of creativity and juggling of dense concepts that is more akin to writing or art than industrial work.

Now, I'm not promoting programming as an artsy process devoid of control and discipline, but more that the core of programming is the insights that recognize the appropriate patterns that apply to the problem at hand,and how to apply them. This insight is akin to the creative spark, and thus is not amenable to schedules or timing.



Technorati Tags --
, , ,
HTTP

Equity Defined, Programmer's Version

I've started following a few programming-related blogs and aggregations lately, and I saw this post about equity that struck a chord. It's written from the viewpoint of a venture capitalist funding person, but the gist of it is sound - if you, the "Idea Guy" are trying to dole out as little equity in your new company as possible to the guys making the product, you're going to make someone very angry in the future. These days, you cannot afford that - your ex-developers can repeat the process at one of your competitors, leapfrogging your mistakes (the first one out the gate always makes some mistakes), and stealing your market.


Technorati Tags --
, , ,
HTTP