Technology Review - Published By MIT
Log in to My.TechnologyReview.com | Register
Advertisement
« Back 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 Next »

January 2007

Anything You Can Do, I Can Do Meta

Continued from page 10

By Scott Rosenberg

smaller text tool iconmedium text tool iconlarger text tool icon

Intentional Software's work provokes two main lines of criticism. Some theoretically minded skeptics say Simonyi's goal of capturing computer users' intentions is implausible. "How do you represent intent?" asks computer scientist Jaron Lanier. "As soon as we know how the brain stores information, maybe we can represent intent. To me it just seems like a fantasy." Another argument, common among programmers, is more practical. Many programmers love their text-based editors and distrust tools that distance them from raw code. As for graphical programming languages like Visual Basic and the integrated development environments (IDEs) that automate routine programming tasks, they regard them with condescension: such tools, they say, impose their own ways of doing things, constrain creativity, and keep programmers from the code that, sooner or later, they must confront. (To understand why programmers are so wary, see " The Law of Leaky Abstractions ") Skeptical programmers look at Intentional Software and see the prospect of just another IDE. To those who think that real programmers write text, intentional programming is neither very original nor much wanted.

But mostly, there's surprisingly little discussion of Intentional Software in the Internet's teeming coder forums. In part, that's because so few have seen its software. Intentional's work has proceeded with some secrecy.

When he started Intentional Software, Simonyi partnered with a University of British Columbia professor named Gregor Kiczales. Simonyi admired Kiczales's work on aspect-oriented programming--a way of organizing and modifying code according to "cross-cutting concerns" that resembles intentional programming. Kiczales, another veteran of PARC, has spent his career working on ways to "make the code look like the design." Kiczales saw joining Simonyi as a chance to further that end. But Kiczales trusted open-source development, where Simonyi did not. The Microsoft-style closed-shop approach simply didn't feel "organic" to Kiczales. "I would have done it in Java," he says. "The first release would have been in six months." The disagreement was friendly but irreconcilable, both men say, and before long, Kiczales had left.

For now, sheltered by Simonyi's wealth, Intentional Software has no target date or shipping deadline. But one of its two main customers claims to be close to deploying Intentional tools. Capgemini--a Paris-based international IT services and consulting firm that serves large enterprises and whose CTO, Andy Mulholland, is an acquaintance of Simonyi's--began working with Intentional last March and is considering using Intentional's system for projects in the European pensions business. The field's "very complex rules, intertwined with complex business domain structure," make Simonyi's approach look attractive, says Henk Kolk, Capgemini's financial-services technology officer, who is leading the firm's work with Intentional.

« Back 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 Next »
January/February 2007

Would you like to read more articles from the January/February 2007 issue?

This article is from the January/February 2007 Issue of Technology Review. To read other articles from this issue simply register for My.TechnologyReview.com. It's free.

Subscribe today and save up to 41% »

Comments

  • Application making mechine
    rajuch on 02/07/2007 at 11:38 AM
    Posts:
    1
    Your example (http://www.technologyreview.com/Infotech/18047/page13/): The Bench-making machine with knobs is very interesting.

    How does it solve the software updates problem? What would happen, if they need to change some features six month from the installation? Can we put the bench back in the machine to refine the bench, or do we need to start over and pay for full new bench? Many online applications are being updated every other month.

    If one needs to build a computer table or wooden cabinet, can he use that bench-making machine? Or does he need to build a new machine for each kind of products? I am not joking. You would agree, if you read the following.

    We already invented such machines for building online-GUI-applications. Greatly appreciate your feedback, what you think about our online GUI application making machine. Please review brief overview to our application machine:
    http://cbsdf.com/technologies/software-irony.htm

    Each ‘Component Factory’ in the left side of the Figure#1 acts as a knob, to refine each part (i.e. a loosely coupled component/AC) in the application (shown right side). Please review the following WebPages, which show that this process builds perfect ‘application machine’ with simple to operate knobs to refine each part. Please review summary at the end to understand why it cost only a fraction to refine the application:
    http://cbsdf.com/ps_blog/Minimum-couplings.htm
    http://cbsdf.com/ps_blog/super-distribution.htm

    P.S: Of course, one must use our highly-flexible online-GUI-API to build the online GUI components. You may see interactive GUI Components, which are built using SVG. We will be building the GUI Classes for XAML/Vista in the future.
    http://cbsdf.com/technologies/demo-links/Demo-SVGS/misc-charts.html
    More sample links at: http://cbsdf.com/technologies/demo-links/demo-links.htm

    One may build his own custom GUI Classes, for example, to build multi-player online games or near real-time modeling of Air-traffic, as explained at:
    http://cbsdf.com/Newbies/Flight-main.htm
    http://cbsdf.com/misc_docs/online-apps-rock.htm

    Best Regards,
    Raju
    Rate this comment: 12345
  • Sounds like Lisp to me
    sriramv.iyer on 02/13/2007 at 4:59 AM
    Posts:
    1
    Is that not what lisp advocates to do? Create a language to solve the class of problems and then solve it. It may not accurately reflect the concept of DSL where the end user (and not the programmer) would use the language.

    But this article did rekindle my interest in DSLs. (I use python and not lisp, though)
    Rate this comment: 12345
  • A new level of abstraction that works
    rubs74 on 02/22/2007 at 5:27 PM
    Posts:
    1
    I feel that traditional software development tools are evolving slower each time and sometimes it seems that "the trees doesn't let you see the forest". I mean why do I have to spend x time findind the property of one control that allows me change a cell color if I just want the user to known wich invoices are not paid, for instance.

    Model Driven Architecture also adds a new level of abstracction to software development and I guess that takes the base idea of Intentional Programming as well. There are already tools that work on production. Here there's a tool based on MDA that really allows you to think more about the bussiness logic and less about the complexities of building it, just take a look http://www.care-t.com/
    Rate this comment: 12345
  • The product  already exists
    JEfromCanada on 03/09/2007 at 3:10 PM
    Posts:
    1
    A product called Tenfold Enterprise SOA (downloadable from download.com) already exists that implements all the abstraction, specification repository, and application generation that is touted in this article.  This product has existed for quite a few years.  I do not work for the company, but do use their product.  Visit their website at www.tenfold.com to read about their product and to download their "personal" version of the software - which is fully functional, but limited to five users.
    Rate this comment: 12345
  • Amazing Concept
    oscarbhaskar on 06/13/2007 at 10:11 AM
    Posts:
    1
    This Product seems to have the potential to change the way the software industry works. It can help capture the requirements of the clients better as the  bench example explains.
    The question now is how do we implement the concept? How do we capture the "Intention"?

    I think we are about to see a new dimension in the way software is developed.
    Rate this comment: 12345
    • Re: Amazing Concept
      enterprise on 06/30/2007 at 2:45 PM
      Posts:
      1
      You are right.

      By Christmas.

      We will make sure the writers of this excellent article know in  good time.

      In the meantime, if you want to be involved with the fun, get in touch on gedymail@gmail.com

      GD
      Rate this comment: 12345
  • uCalc Language Builder offers another approach
    Corbier on 12/25/2007 at 2:02 PM
    Posts:
    4
    uCalc Language Builder offers another approach to the same general problem Intentional Software addresses.  uCalc LB is designed to easily let people create domain specific languages.  These can be programming languages as varied as BASIC, Forth, Lisp, Logo (samples of which are included in the current download), or your own specialized language.  The nice part is that the entire definition for a language takes relatively few lines of simple code.  Once the language is defined, domain experts can easily re-adapt the language without the help of a programmer.

    For a quick glance at what a language definition file might look like, check out:
    www.ucalc.com/lisp.txt      (Lisp)
    www.ucalc.com/forth.txt     (Forth)

    The download includes more files like this, which you can load up into the generic interpreter, at which point it becomes an interpreter for the language you just loaded.  (The supplied interpreter demonstrates just one possible kind of interface.  You can create your own fancy interface to interpret such code).

    uCalc LB is no longer in the idea stage.  An actual fully working beta implementation can be downloaded.

    I am the author of uCalc Language Builder (as well as uCalc Fast Math Parser), and I am looking for early adopters of the uCalc LB technology.  An interactive tutorial that comes with the download can walk you trough the various concepts.  Other forms of documentation are also included, as well as an interactive interpreter.

    --
    Daniel Corbier
    www.ucalc.com
    Rate this comment: 12345
Advertisement

Current Issue

Technology Review May/June 2008
An Electrifying Startup
A new lithium-ion battery from A123 Systems could help electric cars and hybrids come to dominate the roads.
•  Subscribe
Save 41%
•  Table of Contents
•  MIT News

Magazine Services

Career Resources

MIT Technology Insider

Stories and breaking news from inside MIT about the latest research, innovations, and startups--in a convenient monthly e-newsletter. Subscribe today
Advertisement

More Technology News from Forbes

Advertisement
Advertisement
Advertisement
TECHNOLOGY RESOURCES
Advertisement
MIT Massachusetts Institute of Technology