APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Intentional Programming

© October 2003 Tony Lawrence
Mon Oct 27 17:14:20 GMT 2003

Link: www.computerworld.com/softwaretopics/software/appdev/story/0,10801,76409,00.html (link dead, sorry) The Intentional Programmer

(That's a fairly old link; there's plenty of newer stuff out there about this,just Google - but a lot of it is VERY techy).

I know that Charles Simonyi is a very smart man. He's the guy who invented the so-called Hungarian notation so popular with Microsoft Programming (personally, it drives me nuts but I can see the value).

So my feeling that he's doomed to failure here is probably just due to my inability to see what he sees. There is also the matter that other people who report on this aren't as smart as he is either, so the things I read that talk about this are probably not fairly representing his concepts either. For example, I've seen articles saying that "non-programmers will be able to make improvements without the intervention of programmers", but nothing I've read straight from the horses mouth seems to imply that. In fact, it looks to me like it's going to take a pretty smart programmer just to understand this at all. But never mind that: I still think the basic concept is flawed. If the implementation is beyond the grasp of mortals, that's one thing, but shaky foundations are quite another.

Here's where I see the problem: the concept is intent. Charles Simonyi wants a language that can specify intent, and write "correct" programs. The problem with that is the same problem there is with any programming language: garbage in equals garbage out. His is a modeling language, which has been described as the programming equivalent of WYSIWYG. I just don't see how that protects you from logic errors. We are a long way from simply stating that our intent is "keep track of my inventory". You need to define inventory, its inflows and outflows, and write the very complex rule sets that "keep track". Sure, bumping things up an abstraction level might mean less mistakes (Perl is easier than C which is easier than assembler), but it doesn't eliminate mistakes, and it brings in its own layer of overhead and debugging difficulty.

Well, improving things without reaching perfection isn't failure, and I may be reacting more to some of the hype other folks write than to anything Simonyi himself has promised. Anyway, it may be something we'll hear more about in years to come, or it may be just another tool that didn't make the grade.

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Intentional Programming

Inexpensive and informative Apple related e-books:

Take Control of iCloud

Take Control of iCloud, Fifth Edition

Digital Sharing Crash Course

iOS 8: A Take Control Crash Course

Take Control of Automating Your Mac

More Articles by © Tony Lawrence

From: /Blog/B623.html

As soon as I see the term "stakeholder" bandied about, it means the guy has more money than brains and is full of****. (Doesn't he have a collection of cheap pop art too?)

Here is a better way: I visualize the operation of a new device in my head, specify every detail of it in my mind first. Then it gets coded. That is the way all design works, and will always work.

This is the way Nicola Tesla designed things, and they worked every time, without fail.

Who is this MS moron trying kid? He is a rich geek trying way too hard to sound like a businessperson.

What a ****************..I bet he is one of those breath- down-your-neck-communist ********* who hires all his buddies.

CommentsBlog623 :
I fail to see how any program can truly determine the intentions of any programmer. In any case, if a programmer is good enough, s/he doesn't need another program telling her/him how s/he should think.

I seriously doubt that any program will ever predict how *I* might think. Hell, I don't always know how I might think -- or if at any given instance, I'll be capable of rational thought.

As for Hungarian notation, the product (Microsoft this and Microsoft that) speaks for itself.


No, it's not supposed to divine the programmers intentions: the idea is that you program with your intent, rather than telling it HOW to do it, you say WHAT needs to happen. That's why I think it is just as faulty.


Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

Lawyer — One who protects us against robbers by taking away the temptation. (H.L. Mencken)

Linux posts

Troubleshooting posts

This post tagged:



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode

SCO Unix Sales, Support, & Service

Phone:  707-SCO-UNIX (707-726-8649Toll Free: 833-SCO-UNIX (833-726-8649)