10 ms·
Charles Simonyi on Intentional Software Joining Microsoft
- twsted 9y ago"I wasn't able to make anything interesting out of Microsoft so I'm joining them again"
- walterbell 9y ago2009 article by Martin Fowler on Intentional's Domain Workbench, https://martinfowler.com/bliki/IntentionalSoftware.html https://martinfowler.com/bliki/IntentionalSoftware.html > Afterwards a couple of people said it was the most important demo they'd ever seen, comparing it even to the Mother of all Demos. For many there was a sense that the whole world of software development had just changed.
- le-mark 9y agoI remember reading that, there was a bit of hype then around Domain Driven Design, domain modelling, and domain specific languages (DSLs). I had the impression Intentional was working on an uber DSL IDE or something. This sounds like they pivoted over to some sort of semantic web[1] scraper thing. We'll probably see SSIS and Excel integration soon... [1] https://en.wikipedia.org/wiki/Semantic_Web https://en.wikipedia.org/wiki/Semantic_Web
- DalekBaldwin 9y agoFor the curious: it's difficult to find that particular demo on the web now, but the system didn't look too much different from its earlier incarnation at Microsoft in the '90s: https://www.youtube.com/watch?v=tSnnfUj1XCQ https://www.youtube.com/watch?v=tSnnfUj1XCQ
- walterbell 9y agoThere's a 2013 talk by Simonyi which talks about the workbench and enterprise use cases, but doesn't have screenshots, https://youtube.com/watch?v=4pT9tDmxjlg https://youtube.com/watch?v=4pT9tDmxjlg
- haspok 9y agoI know it is not a fair comparison, but modern IDEs such as IntelliJ IDEA do pretty much everything demonstrated in this video. They build a database of the project, and let you do refactoring with the help of that. The only thing that is notably missing from IDEA is the graphical representation: but raise your hand if you ever missed to see your program represented as a flowchart, for example. Does it actually have any real value? Perhaps, while you are learning programming. The diagrams that are actually important and useful are mostly architecture diagrams and are impossible to create from source code - and it is also very hard to generate meaningful programs from architecture diagrams.
- coldtea 9y ago>The only thing that is notably missing from IDEA is the graphical representation: but raise your hand if you ever missed to see your program represented as a flowchart, for example. (raises hand). >Does it actually have any real value? Yes. >Perhaps, while you are learning programming. Or when you're trying to understand the structure of a program you've just been assigned to work on, or that you wrote years ago and have to do a change, or when you want to see the big picture, etc etc. Ever worked with a visual language?
- haspok 9y agoWhenever I try to understand a program, I do draw structures of it. But it is NEVER the structure of the source code as is, but some parts the main flow with the unimportant bits left out (what is unimportant depends on the goal of the task at hand), mapped in some way that aligns with the goal of the investigation. It also has to include the runtime components, eg. objects, not classes. Watching Eric Evans talk about DDD along the example of maps was a real eye opener for me. This: https://www.infoq.com/presentations/model-to-work-evans https://www.infoq.com/presentations/model-to-work-evans I tried to use tools like Enterprise Architect in the past but failed to produce anything useful with them (that includes architecture diagrams - charts based on standards never seem to be fit for what I actually wanted to communicate). The closest I ever got to usefulness was with database structures, we did manage to generate the actual production schema from ERwin for a SQL database at one place I worked, but of course, not the stored procedures.
- SpindleyQ 9y agoThat's the DSL DevCon demo, video here: https://channel9.msdn.com/Series/DSL-DevCon-2009/Intentional-Software https://channel9.msdn.com/Series/DSL-DevCon-2009/Intentional... Best demo we ever gave while I was there, by a longshot.
- rrdharan 9y agoI had never heard of Intentional Software until I recently read Dreaming In Code[1] where the company is mentioned briefly. Prompted me to wonder if they were still around, which led me to their Glasdoor reviews page which is sort of entertaining popcorn fodder[2]. Then lo and behold a few weeks later the acquisition popped up in the news. Synchronicity at work I guess. [1] https://en.wikipedia.org/wiki/Dreaming_in_Code https://en.wikipedia.org/wiki/Dreaming_in_Code [2] https://www.glassdoor.com/Reviews/Intentional-Software-Reviews-E284295.htm https://www.glassdoor.com/Reviews/Intentional-Software-Revie...
- kornish 9y ago> Synchronicity at work I guess. Gotta love the Baader-Meinhof Effect: https://en.wikipedia.org/wiki/List_of_cognitive_biases#Frequency_illusion https://en.wikipedia.org/wiki/List_of_cognitive_biases#Frequ....
- bluesmoon 9y agoCharles Simonyi is also the person behind the Hungarian Notation of naming variables.
- DonaldFisk 9y agoAccording to Joel Spolsky, Hungarian notation (https://en.wikipedia.org/wiki/Hungarian_notation https://en.wikipedia.org/wiki/Hungarian_notation) has been misunderstood (as System Hungarian). In its intended form (Apps Hungarian), it's a good idea: https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/ https://www.joelonsoftware.com/2005/05/11/making-wrong-code-...
- SpindleyQ 9y agoThis is true. We used Hungarian Notation internally extensively. The most counterintuitive thing is that having a cryptic name for a concept can have advantages: it has a precise meaning, and if you don't know what it is, you can't convince yourself that you do. If there's a class in my code called, I don't know, "View", that's going to give me clues as to what it is, but it may also mislead me into thinking it should support certain operations that it doesn't, or that we're talking about a UI view when actually it's referring to a database view, or whatever. If you just string together a handful of random letters, at least when communicating with someone else you know you're talking about the same thing, and you'll use the same name consistently. Not a good idea for code that you want people to be able to use without gaining a deep understanding of, but for collaborating on inventing new things, it's a very effective communication hack.
- frou_dh 9y ago> The most counterintuitive thing is that having a cryptic name for a concept can have advantages: it has a precise meaning, and if you don't know what it is, you can't convince yourself that you do. To see complete and total saturation of that concept, take a look at the source code of Urbit
- 9y ago
- matchagaucho 9y agoResearch has shown that handwritten notes are more effective for learning and recall than typed notes, and for this reason pen computing will flourish whenever notetaking is required Really? This smells like over-fitting the research to justify a desired commercial outcome.
- haspok 9y agoIt always amazed me that during their ~10 years of existence they never actually produced anything visible, other than demos. I remember I had been very excited about their "intentional" approach, even though so many years later I tend to think that it is actually an evolutionary dead-end (anyone remembers 4GL and 5GL languages? The late 90s when CASE tools and visual IDEs like Delphi were all the rage?). There is no silver bullet. I'd love to be proven wrong, though, and hope to see some of the "intentional" stuff in any real software product.
- thinkling 9y agoWork on Intentional Programming started at Microsoft Research in the 90s. Simonyi has been on this path for 20+ years. Did the Intentional website have any info on their work before the acquisition? There's nothing there now.
- lkesteloot 9y agoI interviewed for the Intentional Programming group at Microsoft back in 1993! Their demo back then was amazing. I thought they'd have something out within a few years, and 24 years later I don't think anything commercial has come of it.
- WaxProlix 9y agoI worked there for about a year, there were a number of contracts fulfilled using the workbench and associated technology (mostly NDA). At some point there was a pivot to a graphics-heavy reinterpretation of the core tech, which was pretty secretive and so didn't get a lot of press. My project didn't use the core 'intentional' tech and we got spun off into an atrociously mismanaged, doomed sub-startup, so don't ask me too much about the intentsoft tech itself (though I can probably give rough answers for any high level stuff if you're curious).
- SpindleyQ 9y agoI worked at Intentsoft in its earlier days (2006-2011) and left just as it was really starting to seriously staff up. I look at the pictures of the office these days and it's so surreal to me to see the absurd growth of what had stayed a small team for a really long time. Is the Pole Position cabinet still there? Did anyone ever fix the monitor? I miss that thing.
- AceJohnny2 9y agoFor reference, Simonyi worked on the legendary Xerox Alto, where he wrote Bravo, the first WYSIWYG editor. He later joined Microsoft in 1991, where he started Word.
- bitL 9y agoWhat's the difference between Intentional's product and JetBrains' MPS? To me it seems like MPS can do much more and can accommodate Intentional's model as well. Anyone knows better?
- solomatov 9y agoIt's hard to know. Intentional asks people who they show the product to, to sign a restrictive NDA, so they can't share what they do. I hope, after MS acquired them, they will release it under less restrictive license.
- deleted 9y ago[deleted]
- oh_sigh 9y agoIs this massive ontology similar to what Leibnitz attempted with his characteristica universalis?
- ilaksh 9y agoNope. Not really related except in the most vague way.
- agumonkey 9y agoWow, it's been long since I looked into Intentional Software. I was so enamored with their ideas back in the days. Also reminds me of subtextual (jonathan edwards phd)
- politician 9y agohttp://www.subtext-lang.org/ http://www.subtext-lang.org/ This?
- msingle 9y agothat's it.
- phlakaton 9y agoMy introduction to intentional software was by way of the book "Generative Programming: Methods, Tools, and Applications" by Czarnecki and Eisenecker. I can't say that the book has had broad application to my engineering work, but it's been fun to think about from a philosophical perspective, bits like feature modeling have stuck, and even the early research into IP covered in the book impressed me...
- gigelu 9y agoI respect what Simonyi did for the industry back in the day, but Intentional Software is just useless vaporware (or -at best- weird academic research without practical applications). As a Microsoft shareholder, I'm disappointed they're paying money for it (probably only to get Simonyi back, though his technical expertise is totally outdated and his management skills are questionable).