Archive for June, 2010

Projecting mainframe demand

June 17th, 2010  |  Published in Uncategorized

When mutual funds and such issue a prospectus, they typically have a phrase like “past results should not be taken as a guarantee of future returns,” and something similar should probably be said about projecting future demand for mainframe capacity. But as long as we’re trying to predict the future, the past provides most of what little actual data we have to go on.

Read the rest of this entry »

Safari 5

June 10th, 2010  |  Published in Uncategorized

The first browser I used was NCSA Mosaic, but I soon moved to Netscape Navigator. I switched to Firefox nearly as soon as it became available, and it’s been my primary browser ever since. (I’ve always had as many browsers as would work installed on my Mac to test things.) Lately, however, I’ve noticed that Firefox starts to get really slow after a week or so of use, and I’ve found myself stopping and restarting it periodically to get better performance.

I tried switching to Safari when Safari 4 first came out, but a couple of things moved me back: the “awesome bar”, which searched titles and the interior of URLs, and the NoSquint plugin, which remembers how much I’ve increased the font size on sites. (I also consider Flashblock an essential, but WebKit has the equivalent ClickToFlash.) When I saw that Safari 5 had similar functionality to the awesome bar, I decided to try switching again. That was Tuesday, and so far it’s going well. Or rather, it was until I started writing this post: ironically, the first time I tried to add the link to NoSquint, Safari crashed.

I haven’t found an equivalent for NoSquint, but the Reader feature has been working pretty well for me. Some people (like Ars Technica) have complained that this feature breaks the business model for most commercial sites, but all I have to say is, if you don’t want people to use the feature, make your site readable to start with.

Mainframe movie

June 9th, 2010  |  Published in Uncategorized

BIG IRON: The Mainframe Story (so far)

It’s long (just over half an hour) and includes a lot of marketing/propaganda, and by the end I was really, really tired of the background music, but you might find some of the history and perspectives interesting.

(I find it curious that CA is doing as much if not more to push mainframe computing than IBM. I guess the people who took over after all the crooks were sent to jail decided that was a good way to mend fences with their customers.)

Business programming

June 7th, 2010  |  Published in Uncategorized

Adam wonders what I mean by a language “optimized for business programming,” and I can’t really blame him because I’m not sure myself. However, my thinking isn’t really going the direction he guessed.

It may be nothing more than “a language that feels familiar to programmers coming from COBOL or Natural.” Languages like Java and PHP have gotten a lot of leverage out of having a “familiar, C-like syntax” (even if I always thought that was like saying, “familiar, IRS-like customer service”) and there is probably some value in providing this kind of familiarity. My main motivation in suggesting a Natural-like language that integrates with the JVM or CLR was as a migration path for legacy Natural programs.

I have a feeling, though, that mere familiarity is only part of it. Most programming languages are developed by people with relatively strong mathematical backgrounds, and I have the impression that they are in some sense “too mathematical” for people with a strong business focus.

I don’t know if this would actually work, but here are some ideas about a “business-optimized” language:

  • Give variables value semantics. While you can often ignore the issue, I suspect that variables with reference semantics cause problems for lots of people.
  • Include tolerance for redundancy. Programmers are usually lazy (and in fact I think unwillingness to do extra work helps make for better programming) so in Natural we usually write “READ EMPLOYEES BY PERSONNEL-ID”, but we can write “READ ALL RECORDS IN FILE EMPLOYEES IN LOGICAL SEQUENCE BY PERSONNEL-ID”. Human languages have lots of redundancy for good reasons, and if we allowed more in programming languages it might help, at least in reading comprehension.
  • Segregate higher-level abstractions from basic capabilities. We want a language with coroutines, functions as objects, etc., but it should be easy to write simple programs without dealing with them.

I realize that these ideas might actually make things worse, but who knows.

(In response to Ross’s comment, I would like to develop an Adabas library for Python at some point. I’m just not sure if that’s really best.)

Programming languages

June 2nd, 2010  |  Published in Uncategorized

Yesterday Adam wrote a post about learning new languages, which prompts me to write a few thoughts I’ve had about the programming languages we use at the University.

As much as I like Python and Ruby, they don’t come from the “data processing” tradition and these languages aren’t really optimized for business processing. About four years ago I suggested to Software AG that they develop a new language, like Natural but with a more modern foundation, and design it to run on the Java VM and Microsoft’s CLR, with hooks to call out to routines written in the other languages available on those platforms. Software AG hasn’t done anything with my suggestion (not that I expected them to) but I sometimes wonder what it would be like if they did.

(Sometimes I toy with the idea of writing such a language myself, but then I return to sanity.)

Social Widgets powered by AB-WebLog.com.