20 comments

[ 3.3 ms ] story [ 60.3 ms ] thread
From 2007; unfortunately, the company has gone silent for the last half year as far as I can tell. People watching them have also been "frustrated by the secrecy and lack of urgency to release" (Martin Fowler: http://martinfowler.com/bliki/IntentionalSoftware.html).
Martin's site seems to be down at the moment, so it may be worth linking to the video of our DSL DevCon talk / demo. http://msdn.microsoft.com/en-us/data/dd727740.aspx

(Full disclosure: I work for Intentional Software. Feel free to ask me about what we do; I'll answer if I can. We're not so much "secretive" anymore as "small and busy.")

BTW, I still had a copy in a browser tab and just saved it out. As for question, how about:

When can I try out some of your toys?

How much will that cost. How much will they cost when finished? ("Free" or "Not Free" or "If you have to ask..." are all acceptable answers.)

My interest in what you're doing is largely constrained by my ability to try out your stuff someday.

As far as I know, we are still interested in hearing from people who believe they have interesting pilot projects that could strongly benefit from our our tools. Magnus Christerson would be the one to talk to about that. Generally speaking: "not free". :)
"he devised the programming method that the company’s software developers have used for the last quarter-century."

Would this method be the 'Hungarian Notation'?

I'd rather get to a world in which incompetents stop writing software.
Agreed, but we will likely never get there (many professional programmers are incompetent, to say nothing of the amateurs that need to do little snippets, and there will always be beginners that are incompetent now just because they are learning to be competent).

A concept like this, if it is possible, can work from the other way and help prevent the incompetents from being dangerous. I doubt it will ever prevent people from needing to do low level programming, abstractions leak as the article says. But if done well, it could help people with minimal knowledge create truly useful things. This would help free the truly skilled programmers to work on hard and important problems.

I would rather work towards a world where the tools were good enough and the common knowledge of the limits and capabilities of software widespread enough that professional competence is not required for most people to do the programming tasks that will make their lives better.

To some extent we are already headed there, although many instances of end-user programming are not considered to be actual programming.

Is someone setting variables in a profile editor programming? How about writing mail-filters? Scripting actions in a larger environment? Using an event recorder to create repeatable macros?

I would say that all of those are in fact programming activities. And I'm fairly certain that there are a large number of people who would disagree.

The thing is that once you look at things in that light, it changes the software you write for the better, it means you provide debugging tools in your application and you look at the softer layers of your application with an eye towards opening them up to end-users.

"Programmers don’t know what a computer user wants because they spend their days interacting with machines. They hunch over keyboards, pecking out individual lines of code in esoteric programming languages, like medieval monks laboring over illustrated manuscripts."

"programmers are drowning in ignorance, complexity and error."

...to say Your welcome or F@*k off?

The first of those isn't especially meaningful. Programming languages aren't that hard to understand. What's difficult (right now) for many people is the connection between the code and what happens on the screen.

The second snippet is amusing, given the mention of C++ in the first paragraph.

However, I think software has a problem in general with the fact that one shitty system or API can lead to cruft in other pieces that depend on it, leading to generally poor quality. Abstractions and interfaces are designed to prevent some of this, but the worst programmers always find a way to abuse and violate those.

  BJARNE STROUSTRUP, the designer of C++, the most 
  influential programming language of the last 25 years, has
  said that “our technological civilization depends on
  software.”
I stopped reading there.
Why? Because C is the most influential programming language?
Hey guys, heard about this new programming language? It's almost likey writing English. People reckon it will make writing software so easy that anyone can write whatever software they need - making professional programmers unnecessary within a few years.

It's called COBOL.

(from ca. 1960, that's what people really thought back then)

To be fair, 'programmer' meant something slightly different back then, and what it used to refer to no longer actually exists.
Well, it meant someone writing assembler code, and in some shops they'd be given very detailed instructions of what to implement by "program designers" that read almost like English... or code in a high-level language. So yeah, those kind of programmers don't exit anymore, and "designers" are now programmers - but they have to know more about programming because there is no separate programmer to iron out the quirks in the design.

Heaping layers of abstraction onto each other is NOT something that will inevitably yield "do what I mean" functionality.

What the article describes as Simonyi's "revolutionary idea" is no different than CASE, MDD and MDA - the same (at least) 20 year old pipe dream in various guises that nobody has ever gotten to work except in very narrow fields.

"Programmers don’t know what a computer user wants because they spend their days interacting with machines. They hunch over keyboards, pecking out individual lines of code in esoteric programming languages, like medieval monks laboring over illustrated manuscripts."

Isn't this a bit like saying that architects don't know what kind of houses people want because they spend all day poring over diagrams? Or like saying landscapers don't know what people want because they spend all their time landscaping?

I hate to break it to the New York Times, but programmers are actual people. We're not that different from other people. No really!