Live data from Hacker News

Alan Kay is still waiting for his dream to come true

fastcompany.com

251–260 of 297 posts

Re: Alan Kay is still waiting for his dream to come true

#251
post #232

Earlier quoted context omitted.

Yes. But, even if the field adopted a larger/better vision, you still have a bigger problem: Most smart people are attracted to mediocrity. Example: The LFTR (ie molten salt breeders) people have been trying to get their stuff adopted but most smart people (I know of) are attracted to micro-optimizing wind mills and outlawing coal. Even smart people who want to take on a larger vision are still able to snatch mediocr…

My goals are a lot bigger than Hoppe's (and I fervently hope for something much better than his vision).

Could you explain the "are a lot bigger" part?

I get the sense Hoppe is repulsive to you, but I am very open-minded to hearing a counter-argument and find out what I got wrong about him. For example, are you against a complete free-market in schooling? Or do you want a voter-based approach on the city/state/federal levels?

Re: Alan Kay is still waiting for his dream to come true

#252

Earlier quoted context omitted.

> Keep on with this ... This is still kind of a mishmash of early thoughts and I have a couple of different lines of thought, which I hope will come together. I'll start with a couple of observations: 1. Most programming languages and DSLs are uni-directional - the computer doesn't talk back to the human in the same language. 2. The mental models (not the language) humans use to communicate to each other, even when u…

A clarifying comment here. When one thinks in terms of what I called objects ca 1966, one is talking about entities that from the outside are identical to what we think of as computers (and this means not just sending messages and getting outputs, but that we don't get to look inside with our messages, and our messages don't get to command, unless whatever is going on in the interior of the computer has decided to al…

> So from the outside, there are no imperatives, only requests and questions.

This threw me off a bit as Smalltalk collections have imperative style messages for instance.

> Could be some form of ontology.

This remark helped me find some clarity.

I want the computer to help me do cross ontological reasoning and mapping. For instance, if I want to compute geometry, how do I map the ontology of 'geometry' onto the ontology of 'smalltalk'? I 'think up' the mapping, but it would be great if the computer helps me here too. Mapping 'smalltalk' onto 'physical machines' is another ontological mapping. The 'mapping of ontologies' is itself an ontology.

In large systems there are a lot of ontological 'views' and 'mappings' at play. I want to inspect and tweak each independently using the language on the ontology, and have the computers automatically map my requests to the physical layer in an efficient way. This is not possible in systems today because there an incredible amount of pre-translation that happens so a high level questions cannot be directly answered by the system - I have to track it down manually to a different level.

Maybe the answer is to define the ontologies as object collections and have them talk to each other and figure it out. I want to tweak things after the system is up, of course, so I could send an appropriate message (e.g. 'change the bit representation of integers' or 'change the strategy used in mapping virtual objects to physical') and everything affected would be updated automatically (is this 'extreme late binding'?).

Re: Alan Kay is still waiting for his dream to come true

#253

Earlier quoted context omitted.

> Keep on with this ... This is still kind of a mishmash of early thoughts and I have a couple of different lines of thought, which I hope will come together. I'll start with a couple of observations: 1. Most programming languages and DSLs are uni-directional - the computer doesn't talk back to the human in the same language. 2. The mental models (not the language) humans use to communicate to each other, even when u…

A clarifying comment here. When one thinks in terms of what I called objects ca 1966, one is talking about entities that from the outside are identical to what we think of as computers (and this means not just sending messages and getting outputs, but that we don't get to look inside with our messages, and our messages don't get to command, unless whatever is going on in the interior of the computer has decided to al…

> Could be just hardware. Could be variables and methods. Could be some form of ontology. ...

> more easily and cleanly dealt with using the idea of "objects".

OK after this sitting in my mind for a bit longer something 'clicked'. What I'm thinking now is that there are many types of 'computer algebra' that can be designed. Data structures and procedures are only one such algebra - but they have taken over almost all of our mainstream thinking. So instead of designing systems with better suited algebra, we tend to map problems back to the DS+procedures algebra quickly. Smalltalk is well suited to represent any computer algebra (given the DS/procedure algebra is implemented in some 'objects', not the core language).

> created large fragile bodies of legacy code that requires experts in the old methods to maintain, fix, extend

If I understand correctly you are saying that better methods would involve objects and 'algebra' that perhaps don't involve data structures and procedures at all, even all the way down for some systems.

Re: Alan Kay is still waiting for his dream to come true

#254
post #238

Earlier quoted context omitted.

Great description of the problem (and great description of what we could have instead)! What came to mind as I read what you said here was a bit that I caught Neil deGrasse Tyson talking about from 8 years ago. As I heard him say this, I thought he was right on point, but I also felt sad that it's pretty obvious we're not thinking like this in computing. It turns out this is not just a problem in computing, but in sc…

> My understanding is we underwent a reorientation in the 1980s, because it was realized that there was too little attention paid to the benefits that a relatively autonomous economy can produce, killing off bad ideas, where what's being offered doesn't match with what people need or want, and allowing better ones to replace them. There was a rightward swing in the late 1970s that took root in our political system, t…

What came to mind when I read your comments were some complaints I've had that relate to the "looking for the keys under the streetlight" fallacy. There are intuitions and anecdotes we can have about the unknowns, which is the best we can do about many things in the present, until they can be measured and tested. A problem I see often is there are people who believe that if it can't be measured, it's not part of reality. I find that the unknowns can be a very important part of working with reality successfully, and that what can be measured in the present can end up being not that significant. It depends on what you're looking for.

As Kay and I have discussed here, efficiency is not irrelevant, but we agree it's not the only significant factor in a system that we all hope will produce the wealth needed for societal progress. What seems to be needed is some knowledge and ethics re. the wealth of society, ideally enacted voluntarily, as in the philanthropic efforts of Carnegie, and similar efforts.

I happened to watch a bit of Ken Burns's doc. on the Vietnam War, and I was reminded that McNamara was a man of metrics. He wanted data on anything and everything that was happening to our forces, and that of the Viet Cong. He got reams of it, but there were people who asked, "Are we winning the hearts and minds?" There were no metrics on that. We didn't have a way to measure it, so the question was considered irrelevant. The best that could've been done was to get honest opinions from commanders in the field, who understood the war they were fighting, and were interacting with the civilian population, if people were willing to listen to that. In a guerrilla war, which is what that was, "hearts and minds" was one of the most important factors. Most of the rest could've been noise.

I dovetail with your complaint about focus on the economy in policy, but for me, it's philosophical: It's not the government's job to be worrying about that so much. If you look at the Constitution, it doesn't say a thing about "shall maintain a prosperous economy," or, "shall ensure an equitable economy," or any of that. Sure, people want enough wealth to go around, but it's up to us to negotiate how that happens, not the government. I think unfortunately, politicians and voters, no matter their political stripe, have lost track of what the government's job is. I think, broadly, we treat it like an insurer, or banker of last resort. If things don't seem to work out the way we'd like, we appeal to government to magically make us whole (including economically). That's really missing the point of it.

I could go into a whole thing about the medical system (I won't), but I'll say from the research I've done on it (which probably is not the best, but I made an effort of it), it is one of the most tragic things I've seen, because it is grossly distorted from what it could be, but this is because we're not respecting its function. As you've surmised with globalization, it's been set up this way by some interested people. It's a choice. I see a big knowledge problem with what's been done to it for decades. Doesn't it figure that people interested in healing people should be figuring out how to do it, to serve the most people who need their help, rather than people who have no idea how to do that thinking they should tell them how to do it? This relates back to your proposition about scientific research. Shouldn't research be left to people who know how to do that, rather than people who don't trying to micromanage how you do it? I think we'd be better off if people had a sense of understanding the limits of their own knowledge. I don't know what it is that has people thinking otherwise. The best term I can come up for it is "hubris." Perhaps the more accurate diagnosis, as Kay was saying, is fear. It makes sense that that can cause people to put their nose in deeper than where it should be, but it's like a horde panicking around someone who's collapsed from cardiac arrest, which doesn't have the good sense to give someone who knows CPR some room, and then to allow medical personnel in, once they show up.

It's looked to me like a feedback loop, and I shudder to think about where it will end up, but I feel pretty powerless to stop the process at the moment. I made some efforts in that direction, only to discover I have no idea what I'm really dealing with. So, with some regret, I've followed Sagan's advice ("Don't waste neurons on what doesn't work."), left it alone, and directed my energy into areas I love, where I hope to make a meaningful contribution someday. The experience of the former has given me an interest in listening to scientists who have studied people, what they're really like. It seems like something I need to get past is what Jon Haidt has called the "rationalist delusion," particularly the idea that rational thought alone can change minds. Not so.

Re: Alan Kay is still waiting for his dream to come true

#255

Earlier quoted context omitted.

A clarifying comment here. When one thinks in terms of what I called objects ca 1966, one is talking about entities that from the outside are identical to what we think of as computers (and this means not just sending messages and getting outputs, but that we don't get to look inside with our messages, and our messages don't get to command, unless whatever is going on in the interior of the computer has decided to al…

> Could be just hardware. Could be variables and methods. Could be some form of ontology. ... > more easily and cleanly dealt with using the idea of "objects". OK after this sitting in my mind for a bit longer something 'clicked'. What I'm thinking now is that there are many types of 'computer algebra' that can be designed. Data structures and procedures are only one such algebra - but they have taken over almost all…

Mathematics is a plural for a reason. The idea is to invent ways to represent and infer that are not just effective but help thinking.

I don't think Smalltalk is well suited to represent any algebra (the earliest version (-72) was closer, and the next phase of this would have been much closer as a "deep" extensible language.

A data structure is something that allows fields to be "set" from the outside. This is not a good idea. My original approach was to try to tame this, but I then realized that you could replace "commands" with "requests" and imperatives with setting goals.

Re: Alan Kay is still waiting for his dream to come true

#256

Earlier quoted context omitted.

A clarifying comment here. When one thinks in terms of what I called objects ca 1966, one is talking about entities that from the outside are identical to what we think of as computers (and this means not just sending messages and getting outputs, but that we don't get to look inside with our messages, and our messages don't get to command, unless whatever is going on in the interior of the computer has decided to al…

> So from the outside, there are no imperatives, only requests and questions. This threw me off a bit as Smalltalk collections have imperative style messages for instance. > Could be some form of ontology. This remark helped me find some clarity. I want the computer to help me do cross ontological reasoning and mapping. For instance, if I want to compute geometry, how do I map the ontology of 'geometry' onto the onto…

Yes, "collections" and other such things in Smalltalk are "the Christian Scientists with appendicitis". Our implementations were definitely compromises between seeing how to be non-imperative vs already having the "devil's knowledge" of imperative programming. One of the notions we had about objects is that if we had to do something ugly because we didn't have a better idea, then we could at least hide it behind the encapsulation and the fact that message sending in the Smalltalks really is a request.

Another way of looking at this is if an "object" has a "setter" that directly affects a variable inside then you don't have a real object! You've got a data structure however much in disguise.

Another place where the "sweet theory" was not carried into reality was in dependencies of various kinds. Only some important dependencies were mitigated by the actual Smalltalks.

Two things that helped us were that we did many on the fly changes to the system over 8-10 years -- about 80 system releases -- and including a new language every two years. This allowed to avoid getting completely gobbed up.

The best and largest practical attempt at an ontology is in Doug Lenat's CYC. The history of this is interesting and required a number of quite different designs and implementations to gather understanding.

Re: Alan Kay is still waiting for his dream to come true

#257
post #251

Earlier quoted context omitted.

My goals are a lot bigger than Hoppe's (and I fervently hope for something much better than his vision).

Could you explain the "are a lot bigger" part? I get the sense Hoppe is repulsive to you, but I am very open-minded to hearing a counter-argument and find out what I got wrong about him. For example, are you against a complete free-market in schooling? Or do you want a voter-based approach on the city/state/federal levels?

My perspective is that our planet is small but there are lots of people. "Biology is variation" so there are wide distributions of properties. I like the idea of "Equal Rights" (and also think that it's necessary). The systems that are critical, including the human systems, are non-linear and intertwined. The combination of these is that the human society needs to find - invent - how to organize itself.

This is very much in the spirit of the thinking that led to the American Constitution, and Tom Paine's "Instead of having the King be the Law, we can have the Law be the King".

We need solutions that allow further thinking and design to be done.

One way to look at this is to ask questions about "human nature" and to what extent does it need to be followed and to what extent should we try to teach (even train) the children to act in "designed ways" -- for example, not trying to take revenge.

The interesting and difficult parts of goals like these are that we have humans in the mix while trying to come up with better societal designs. For example, even the best forms of socialism have been "gamed" incessantly, and often fatally, by humans only interested in "harvesting" for themselves.

This is one of many reasons why well thought out versions of social reform have often been destroyed when the implementation phase is started "Every one loves Change, except for the Change part!"

Re: Alan Kay is still waiting for his dream to come true

#258
For me, the flip side of all of Alan's (and other's) inspiring work on Smalltalk is that, having started programming with Smalltalk in the late 1980s (especially with VisualWorks and OTI's Envy), my entire professional career since then has seemed like a long succession of dealing with less pleasant systems around people who just don't get it. That has been frustrating and painful (even if the money is good) -- in some ways, it might be better not to know what is possible because then you don't miss it.

It's sad that ParcPlace Systems made such a mess of commercializing ObjectWorks/VisualWorks Smalltalk (including not licensing it to Sun affordably for settop boxes, where Sun then reacted by creating Oak/Green/Java) and then they sold Smalltalk for a song to Cincom instead of open sourcing it and becoming a services company. I remember talking with one ParcPlace salesperson who kept going on about how Digitalk was their competitor, with my trying to point out that Visual Basic was really their competitor (and ParcPlace buying Digitalk was another part of the disaster for Smalltalk commercially).

It was also sad to see IBM abandon two reliable fast Smalltalks it owned in favor of a buggy slow early Java for marketing reasons. And even working within IBM at IBM Research around 1999, I could not use Smalltalk because IBM's OTI subsidiary (which IBM had bought) wanted around US$250K a year internally just to let the embedded speech research group I was in try their embedded Smalltalk for the product we were making. They claimed they'd have to devote an entire support person to it -- and I tried to explain I was going out on a limb there as it was to suggest using Smalltalk instead of C and VxWorks (which my supervisor had already licensed). So instead I got IBM Research to approve Python for internal use (which took weeks of dealing with IBM's lawyers) and Python, not Smalltalk, ended up on Lou Gerstner's desk when he asked for one of our "Personal Speech Assistant" devices for his office.

I really learned to dislike proprietary software from that experience of seeing something I loved like Smalltalk being killed by a business model focusing on runtime fees and such. I remember how when an IBM Research group licensed their Jikes Java compiler as FOSS, their biggest surprise was not how many external users they had -- but how many internal IBM users they suddenly had who no longer had to jump through complex hoops to gain access to it.

Even now, Java, JavaScript, and Python are not quite where Smalltalk was back then in many ways. Of course, it's decades later, so there are other good things like faster networks and CPUs and mobility and DVCS and above all a widespread culture of FOSS -- and when I squint, I can kind of see all the browsers out there running JavaScript as a sort of big multi-core Smalltalk system (just badly and partially implemented).

For a while I had hopes for Squeak, but it got bogged down early on by not having a clear free and open source license. Sames as I did recently to Automattic when it used React with a PATENTS clause, when I pointed out the concern, some lawyer chimed in with how everything was fine -- and only years later did the growing damage to the community become obvious to all. http://wiki.squeak.org/squeak/501 https://github.com/Automattic/wp-calypso/issues/650

I really learned to dislike unclear licensing on a community project from that early Squeak experience.

Squeak continues to improve and has fixed the licensing issue, but it lost a lot of momentum. Also the general Squeak community remains more focused making a better Smalltalk -- not making something better than Smalltalk. That is something Alan Kay has pointed out -- saying he wanted people to move beyond Smalltalk with Squeak as a stepping stone. Yet most people seem to not pay attention to that.

But if even Dan Ingalls could be willing to build new ideas like the Lively Kernel on JavaScript, I decided I could too, and I shifted my career in that JavaScript direction inspired by his example.

As luck would have it, my day job is now programming in the overly-complex monstrosity that is Angular, when I know the more elegant Mithril.js is so much better from previous experience using it for personal FOSS projects... I guess every technology has its hipster phase where decision making is more about fads than any sort of technical merit or ergonomics? I can hope that sorts itself eventually. But once bad standards get entrenched either in a group or the world at large, it can be hard to move forward due to sunk costs, retraining costs, retesting costs, and so on. But, thick-headed as I am, I keep trying anyway. :-)

And as in another comment I made, there are important social/political reasons to keep trying to create better systems to support democracy: https://news.ycombinator.com/item?id=15311950

Re: Alan Kay is still waiting for his dream to come true

#259

Let me try to help this community regarding this article by providing some context. First, you need to realize that in the more than 50 years of my career I have always waited to be asked: Every paper, talk, and interview has been invited, never solicited. But there is a body of results from these that do put forward my opinions. This article was a surprise, because the interview was a few years ago for a book the in…

Hi Alan, Here is my latest attempt to realize some of those dreams in a browser using JavaScript (not in the Lively Kernel or Amber way, but a more browser-native way even as some elegance is lost): https://github.com/pdfernhout/Twirlip7

You can try it here: http://rawgit.com/pdfernhout/Twirlip7/master/src/ui/twirlip7...

Or also here on a shared experimental server (with some more context on a click-through cover page): http://twirlip.net/

Anyway, still plugging along on moving the dream forward in my spare time. Thanks for sharing so much good software and humane inspirations with the world. Nice to meet you in person at OOPSLA 1997. Cheers!

Re: Alan Kay is still waiting for his dream to come true

#260

Earlier quoted context omitted.

> adding a method called "any" Right, I understand there are ways to do this with methods but my question was more about the purity aspect, which you already addressed above.

A selector is an object -- so that is pure -- and its use is a convention of the messaging, and the message itself is one object, that is an instance of Class message. What's fun is that every Smalltalk contained the tools to make their successors while still running themselves. In other words, we can modify pretty much anything in Smalltalk on the fly if we choose to dip into the "meta" parts of it, which are also r…

> A selector is an object -- so that is pure -- and its use is a convention of the messaging

The selector 'convention' is hard coded in the syntax - this appears to elevate selector based messaging over other kinds. But now I'm rethinking this differently - i.e. selectors isn't part of the essence, but a specific choice that could be replaced (if we find something better.)

Post reply on HN