Live data from Hacker News

Charles Simonyi on Intentional Software Joining Microsoft

intentional.com

21–30 of 52 posts

Re: Charles Simonyi on Intentional Software Joining Microsoft

#22

Charles Simonyi is also the person behind the Hungarian Notation of naming variables.

According to Joel Spolsky, 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-...

This 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.

Re: Charles Simonyi on Intentional Software Joining Microsoft

#23

For 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.

He is also the inventor of so-called Hungarian Notation https://en.wikipedia.org/wiki/Hungarian_notation

Re: Charles Simonyi on Intentional Software Joining Microsoft

#24

Earlier quoted context omitted.

According to Joel Spolsky, 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-...

This 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 shoul…

> 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

Re: Charles Simonyi on Intentional Software Joining Microsoft

#25
post #15

Earlier quoted context omitted.

For 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

I 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…

>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?

Re: Charles Simonyi on Intentional Software Joining Microsoft

#26
post #10

It 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…

>even though so many years later I tend to think that it is actually an evolutionary dead-end (anyone remembers 4GL and 5GL languages?

Many, fondly. Where they a "evolutionary dead-end" or just commercial, and thus less likely to succeed in an open source world?

Re: Charles Simonyi on Intentional Software Joining Microsoft

#27

Charles Simonyi is also the person behind the Hungarian Notation of naming variables.

According to Joel Spolsky, 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-...

It seems to me that the Hungarian notation is just a noisy code smell indicating that the type system is too primitive. With proper types the compiler can disallow illegal operations automatically. Why would you need Hungarian notation then?

Re: Charles Simonyi on Intentional Software Joining Microsoft

#28

Earlier quoted context omitted.

According to Joel Spolsky, 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-...

It seems to me that the Hungarian notation is just a noisy code smell indicating that the type system is too primitive. With proper types the compiler can disallow illegal operations automatically. Why would you need Hungarian notation then?

You still need to name concepts. Hungarian notation is actually as much about communication as it is about code.

You'll get a lot of the benefits simply by being really disciplined about being consistent and precise with how you refer to things. What Hungarian does is force you to out of necessity.

Re: Charles Simonyi on Intentional Software Joining Microsoft

#29
post #20

What'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?

It'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.
Post reply on HN