Thursday, May 6, 2010

Is F# the new COBOL?

Mark Pearl asks an interesting question in his blog: “Does F# kill C++?” It’s well worth pondering the questions he has posted.

A similar question came up in a phone conversation I had yesterday. (In part inspired by Erik Meijer’s wearing a t-shirt that reads “got COBOL?” in this video.)

“Is F# the new COBOL?”

(At this point, I imagine a collective F# groan of “No, please don’t make that comparison!” Lol. But when you read “COBOL,” think in terms of what the acronym stands for: COmmon Business-Oriented Language.)

I don’t do a lot of business programming, though did learn COBOL in grad school (for my foreign language requirement, of all things, lol). But from the buzz on the web, F# seems to be attracting a lot of financial and business types. I would imagine that a lot of business programming has splintered off into a welter of languages and systems, but I guess a lot of places probably still actually use COBOL.

So what factors might help F# become the new COBOL – the new grand unified business language? Even as something of an outsider to business programming, I can think of a few:

1) Business programmers, and even business people who program as an adjunct, are much more computer literate than were their counterparts in the heyday of COBOL. Most of them have had experience of multiple computer languages, they have home computers, they work day-to-day with sophisticated software, and they probably learned and daily use more quantitative techniques than did their business ancestors.

2) Most of the mundane chores of business computing are now well-established and handled by turn-key systems. However, with Xml, SQL, etc., the ability to interoperate with these systems has never been greater.

3) Data access and manipulation technologies like LINQ make possible the kind of “natural” (to the domain) syntax COBOL was originally designed to provide.

4) F# more naturally interfaces with modern technologies such as networks and GUIs than do older languages.

5) F# simplifies the creation of new domain specific languages (DSLs). So now business programmers can craft novel and more task-specific DSLs, rather than relying on the single DSL that comprises much of COBOL or on DSLs provided in vendor products.

6) But most important, as I mentioned above, is that financial and other business programmers actually do seem to be among the most enthusiastic early adopters of F#. And that, in the end, may be the only factor that really matters.

So, is F# the new COBOL? Time will tell; “got F#?”

-Neil

No comments: