Slashdot Mirror


Charles Simonyi leaves Microsoft

tibbetts writes "The New York Times reports (printable version) (Free blah di blah) that Charles Simonyi, the former chief architect at Microsoft and creator of Bravo, a text-editing program that later became Microsoft Word, has left the company to form his own startup. The focus of his new company is to "simplify programming by representing programs in ways other than in the text syntax of conventional programming languages," which is highly ironic in light of his infamous Hungarian Notation style of naming variables. Perhaps more amazingly, 'Mr. Simonyi has left Microsoft with the right to use the intellectual property he developed and patented while working there.'"

16 of 592 comments (clear)

  1. Registration-free link by Spy+Hunter · · Score: 4, Informative

    Registration-free link courtesy of asahi.com/english/nyt

    --
    main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
    1. Re:Registration-free link by Anonymous Coward · · Score: 5, Informative

      er the link in the article doesn't require registration.....

  2. This approach is nothing new by Sanity · · Score: 5, Informative
    In fact, it has a long history.

    I personally don't think that either a purely visual approach is necessarily better. Anyone looking into this should probably build it from the ground up by looking closely at how actual programmers write code, and treat it as a usability problem. Try to reduce key-stroke redundancy, and figure out ways to reduce errors. A friend of mine and I once considered writing a language editor which guaranteed that at any time, the program displayed in the editor window was syntactically correct. This would mean autogeneration of text (auto-completion of variables and syntax), and restrictions to prevent the developer from entering impossible code.

    I think the mistake people have made is often to start out with unfounded assumptions about how it should be done - such as assuming that a "drag and drop elements, then connect them up with lines" approach is the right direction (I don't think it is - or we would all be programming with Javabeans right now).

  3. Simonyi. by PrimeNumber · · Score: 5, Informative

    Unlike most of the management at Microsoft (Ballmer), Charles Simonyi is definetly technical.

    Not mentioned in this article, he developed the Multiplan interface, which a gazillion of CPM based boxes used, the first version of Access, and had peripheral involvement of the development of the first Mac GUIs.

    This guy started writing programs on a soviet vacuum tube (Ural II) computer. He snuck into Eastern Europe, and from there moved to the US.

    If I had any cash I would invest in his company. :).

  4. Not ironic by Junks+Jerzey · · Score: 5, Informative

    which is highly ironic in light of his infamous Hungarian Notation style of naming variables.

    It was a technique for making types easy to identify in a language (C) that doesn't have any native way of indicating type. In BASIC, you know that A$ is a string. In Perl, you know that @names is a list. In C you don't know what "last_position" is. A pointer? An index? A floating point vector? It's not as if Hungarian Notation was designed to be the ultimate language-independent programming tool.

  5. Other than text representations of programs? by Kaz+Kylheku · · Score: 5, Informative

    It's been done; for example Lisp represents programs as data structures rather than text. The structures are often obtained by scanning a text notation, but that is not strictly necessary. Sometimes the structure is manufactured by the program itself. Or it could come from some GUI manipulations, whatever. I wonder what Simonyi could be up to in this area that is original? (Original to the entire computing world, that is, not just ignorant pockets thereof).

  6. Graphiq and Cellworks by daviskw · · Score: 5, Informative

    He isn't hitting anything new as far as technology goes. Five years ago there was a company called FastTech that had tools called Graphiq and Cellworks.

    Graphiq provided a rudimentary GUI that let you plan program flow with individual modules coded in something called C-- (this is no joke).

    CellWorks provided a much better GUI but a different low level language that resembled in only the worst possible ways: Basic.

    What we discovered using these tools is that they could indeed be powerful and almost any yahoo could use them. Once you wanted to solve something complicated and the problem immedietly started to look like programming 101.

    In other words, complicated things are complicated, and it doesn't matter what the tool is. If you want to solve it you need someone specialized in that tool to solve it.

    It's as simple as that.

    --
    Beware the wood elf!!!
  7. he's not the first by mirko · · Score: 5, Informative
    "simplify programming by representing programs in ways other than in the text syntax of conventional programming languages"


    Has he heard about COLORFORTH ?
    --
    Trolling using another account since 2005.
  8. Free blah di blah by frovingslosh · · Score: 5, Informative
    "The New York Times reports (printable version) (Free blah di blah)

    Hey! The printable version that was linked to didn't blah di blah me when I tried to access it! Maybe this is the cure for all of the NYT registration stuff, link to the printable version rather than the one with ads. Of course, I'll miss seeing all of the ads, but I'm willing to make the sacrifice.

    --
    I'm an American. I love this country and the freedoms that we used to have.
  9. Bravo was the first WYSIWIG editor by leighklotz · · Score: 5, Informative
    Charles Simonyi didn't just create "a text-editing program that later became Microsoft Word" as the Slashdot story says; he wrote the first WYSIWIG editor at the place that invented the concept, in 1974. Note that 1974/1975 saw the development of BITBLT, WYSIWIG editors, PDLs, icons, and pop-up menus.

    See PARC's history and search for "Bravo", or read the summary below:

    1975

    Engineers demonstrate a graphical user interface for a personal computer, including icons and the first use of pop-up menus. This interface will be incorporated in future Xerox workstations and greatly influence the development of Windows and Macintosh interfaces.

    1974

    ...Press, the first PDL, is developed by PARC scientists and greatly influenced the design of Interpress and Postscript.

    The Bravo word-processing program is completed, and work on Gypsy, the first bitmap What-You-See-Is-What-You-Get (WYSIWYG) cut and paste editor, begins. Bravo and Gypsy programs together represent the world's first user-friendly computer word-processing system.

    BITBlt, an algorithm that enables programmers to manipulate images very rapidly without using special hardware, is invented. The computer command enables the quick manipulation of the pixels of an image and will make possible the development of such computer interfaces as overlapping screen windows and pop-up menus.

  10. Re:He probably by Anonymous Coward · · Score: 5, Informative

    Patents have both inventors and owners, with only the latter really meaning anything legally

    Sorry to nit pick on one detail, but:

    If the inventor(s) are not listed correctly (if an individual contributed toward the invention but was not listed as an inventor on the patent) then the patent can be invalidated.

    So the inventor designation does have legal ramifications on a patent.

  11. Intentional Programming by GuyZero · · Score: 5, Informative

    Wow, I get to be the first person to post something actually informative.

    Simonyi was big on what he called 'Intentional Programming' (yes, as opposed to UNintentional programming, which is what we've been doing all along I suppose.) It's been in the works since at least '94 which is when a classmate of mine went to work on the project after graduating.

    He got shafted as the power inside the dev tools group shifted. Most of his group got cut loose and ended up looking for other positions, Oddly enough, Simonyi himself left the group and gave up on it a year or so ago apparently without telling the remaining core of the group.

    See:

    http://web.archive.org/web/20000815211509/http:/ /w ww.research.microsoft.com/ip/
    http://www.edge.org /digerati/simonyi/simonyi_p1.ht ml
    http://www.omniscium.com/nerdy/ip/
    http://www .aisto.com/roeder/active/ifip96.pdf

  12. Re:Fleeing the ship by AdamBa · · Score: 4, Informative
    Actually he's a billionaire according to the latest Forbes (or was it Fortune?) richest Americans list.


    - adam

  13. The company itself by Nygard · · Score: 5, Informative

    Odd that no-one's posted this yet.

    The company can be found at http://intentionalsoftware.com/ with some vague-but-cool-sounding stuff about changing the world.

    --
    "Genius may have its limitations, but stupidity is not thus handicapped." --Elbert Hubbard (1856-1915)
  14. context by Phil+Wilkins · · Score: 5, Informative

    Hyslop and Sutter on Hungarian

    (In summary, don't.)

  15. Re:Programmers by GOD_ALMIGHTY · · Score: 4, Informative

    That's what the Open Source Java community is trying to do.
    Check out Argo UML, it generates code from the UML diagrams, which is not that original, but it's pretty good, and open source.
    One of the main reasons the Java community is moving towards this concept is the reflection and introspection capabilities in Java, combined with the BECL project at Jakarta we can hand craft .class files if we want.

    The frameworks like J2EE and Struts are implementing common patterns, aleviating the tedious coding and allowing us to focus more on design and architecture. Since these frameworks are well defined we have code generation tool like XDoclet and Middlegen that handle the needs of the framework while we only write the business logic.

    Java looks pretty big with all the acronyms you'll find on Sun's site, but since the tools started to develop, most of the work is reduced to design, architecture and coding business logic. When I use a J2EE application server like JBoss I don't have to deal with setting up and tearing down database pool connections. JBoss provides my Enterprise Java Beans with this. Threading is handled by the server as well as persistence and synchronization with the database. Because these things are well defined and allow you to integrate hand coded stuff if you need more flexibility I am freed from solving the same problems that people have solved 15 times before. I can also migrate to a new application and be pretty certain that I'll be able to seperate the core logic from the system maintainence and utility code that any app would need.

    It's not perfect YET, nor do we have the whole UML to ASM and back thing, but with gjc (java gcc front end) and the classpath project we're getting there.

    You should see the reuse too. The well defined APIs and frameworks make integrating other people's code easy, and the OOPness of java allows everything to act as a library. Just look at any established open source Java project and you'll see they've built of many of the other projects out there.

    Granted I'm a bit of a fanatic, I've been doing both open source and Java for about 6 years, but I've yet to see any development system that had this much promise and consistently delivered. Check it out, you won't be sorry.

    You can find these projects at Sourceforge or jakarta.apache.org and xml.apache.org.

    --
    Arrogance is Confidence which lacks integrity. -- me