Live data from Hacker News

Alan Kay has agreed to do an AMA today

news.ycombinator.com

431–440 of 931 posts

Re: Alan Kay has agreed to do an AMA today

#431
Hi Alan, the question that troubles me now and I want to ask you is:

Why do you think there is always a difference between:

A. the people who know best how something should be done, and

B. the people who end up doing it in a practical and economically-successful or popular way?

And should we educate our children or develop our businesses in ways that could encourage both practicality and invention? (do you think it's possible?). Or would the two tendencies cancel each other out and you'll end up with mediocre children and underperforming businesses, so the right thing to do is to pick one side and develop it at the expense of the other?

(The "two camps" are clearly obvious in the space of programming language design and UI design (imho it's the same thing: programming languages are just "UIs between programmers and machines"), as you well know and said, with one group of people (you among them) having the right ideas of what OOP and UIs should be like, and one people inventing the technologies with success in industry like C++ and Java. But the pattern is happening at all levels, even business: the people with the best business ideas are almost never the ones who end up doing things and so things get done in a "partially wrong" way most of the time, although we have the information to "do it right".)

Re: Alan Kay has agreed to do an AMA today

#432
post #415

Earlier quoted context omitted.

SQL is declarative. Compare: for user in table_users: if user.is_active: return user.first_name; vs: SELECT first_name FROM users_table WHERE is_active It's unfortunate that the order of the clauses in SQL is "wrong" (e.g. you should say FROM, WHERE, SELECT: Define the universe of relevant data, filter it down, select what you care about), but it's still quite easy to wrap your mind around. You are asking the compute…

> Compare that to procedural programming, where you are telling the computer what to do, and even if it does what you say, that may not have been what you actually wanted after all. Procedural vs. functional phrasing in no way changes the basic fact that if you ask a computer the wrong question it'll give you the wrong result. "go through the list of all users and add the ones which are active to a new list" vs. "the…

In imperative you don't ask questions but give instructions.

As long as the instructions are longer than the question (and they often are, even in your example ;)), you are bound to make more errors here.

Plus, it requires some understanding of how this damn machine works in the first place.

When turning questions into instruction is decidable it pays off to automate it.

Re: Alan Kay has agreed to do an AMA today

#433
post #232

Earlier quoted context omitted.

I guess in the use of technology one faces a process rather similar to natural selection, in which the better the user's ability to restrict his use to what he has to do, the more likely the survival, i.e. the user will not procrastinate and get distracted. The use of computers for entertainment is unstoppable, it's nearly impossible to not allow the kids find and play those games, chat with friends on WhatsApp, and…

My friend Neil Postman (our best media critic for many years) advocated teaching children to be "Guerilla Warriors" in the war of thousands of entities trying to seize their brains for food. Most children -- and most parents, most people -- do not even realize the extent to which this is not just aggressive, but regressive ...

Can you elaborate more on that?

Re: Alan Kay has agreed to do an AMA today

#434
Hi Alan, a few questions:

1. Do you have any recommended books to read?

2. Why do you think current programming paradigms are bad?

3. What changes to current operating systems need to happen?

[2] My view is you want to pass terse but informative information to a compiler in order for optimizations to take effect and there are three roads programming languages take: abstract away by layering which burdens the programmer to unravel everything (C++), abstract away from the hardware so much that specifics are hidden (most high level languages) or something similar to C.

Re: Alan Kay has agreed to do an AMA today

#435

1. After Engelbart's group disbanded it seemed like he ended up in the wilderness for a long time, and focused his attention on management. I'll project onto him and would guess that he felt more constrained by his social or economic context than he was by technology, that he envisioned possibilities that were unattainable for reasons that weren't technical. I'm curious if you do or have felt the same way, and if hav…

It used to be the case that people were admonished to "not re-invent the wheel". We now live in an age that spends a lot of time "reinventing the flat tire!" The flat tires come from the reinventors often not being in the same league as the original inventors. This is a symptom of a "pop culture" where identity and participation are much more important than progress...

This is incredibly hard hitting and I'm glad I read it, but I'm also afraid it would "trigger" quite a few people today.

What steps can a person take to get out of pop culture and try to get into the same league as the inventors? Incredibly stupid question to have to ask but I feel really lost sometimes.

Re: Alan Kay has agreed to do an AMA today

#436
post #69

Earlier quoted context omitted.

We were mostly thinking of "human advancement" or as Engelbart's group termed it "Human Augmentation" -- this includes education along with lots of other things. I remember noting that if Moore's Law were to go a decade beyond 1995 (Moore's original extrapolation) that things like television and other "legal drugs" would be possible. We already had a very good sense of this before TV things were possible from noting…

Then what do you think about the concept of "gamification?" Do you think high densities of reward and variable schedules of reward can be exploited to productively focus human attention and intelligence on problems? Music itself could be thought of as an analogy here. Since music is sound structured in a way that makes it palatable (i.e. it has a high density of reward) much human attention has been focused on the ph…

The way you describe music here sounds a lot like how Steve Pinker has described music: as a mental equivalent of cheesecake; something that just happens to trigger all the right reward systems (the ones based on our love of patterns and structure, and exploiting the same biological systems we use for language) but isn't necessarily nutritious itself.

However, all evidence points to him being wrong about this, making the mistake of starting with language as the centrepiece and explaining everything around it. Human music likely predates human speech by hundreds of thousands of years, and is strongly tied to social bonding, emotions and motor systems in ways that have nothing to do with the symbolic aspects of language.

Re: Alan Kay has agreed to do an AMA today

#437
post #66

Hi Alan, In "The Power of the Context" (2004) you wrote: ...In programming there is a wide-spread 1st order theory that one shouldn’t build one’s own tools, languages, and especially operating systems. This is true—an incredible amount of time and energy has gone down these ratholes. On the 2nd hand, if you can build your own tools, languages and operating systems, then you absolutely should because the leverage that…

I think you have to weigh your qualms against the difficulty of implementation. They're both spectra, one from 'completely unusable' to 'perfect in its sublime beauty', the other from 'there's a complete solution for this' to 'i need to learn VHDL for this'.

There's some factors that help shift these spectra.

Configurability helps. If I can change a config to get the behavior I want, that is incredible, thank you.

Open source helps. Getting to see how they did it reduces reverse engineering work immensely if I ever have to dig in.

Modularity helps. If I can just plop in my module instead of doing brain surgery on other modules, that makes it a lot easier.

Good components help. Say I need a webscraper and know python. Imagine there was only selenium and not even urllib, but some low level TCP/IP library. I get a choice between heavy but easy or slim but high maintenance. But there's the sexy requests library, and there is the beautiful beautifulsoup4. I tell requests what to get, tell bs4 what I want from it, and I'm done.

Another great example for this is emacs. python-mode + elpy (almost complete solution), hide-show mode, electric-pair mode, and if anything still bugs me, it is fixable. If it were OOP, I'd inherit a lot of powerful functions, but I can always override anything that is wrong.

Expertise helps. If I have written a kernel module, that's another avenue to solving problems I have.

Expertise is a special case here worth more attention. It's the main thing that changes for any single programmer, and can skew this equation immensely. Expertise grows when you struggle with new things. Preferably just outside what you know and are comfortable with.

Considering that, DIY whenever you can afford to DIY (eg. pay the upfront cost of acquiring expertise), DIY whenever it is just outside what you can do, or DIY when it makes a lot of sense (eg. squarely in your domain of expertise, and there's a benefit to be had).

In concrete examples, that means don't DIY when you're on a tight deadline, don't attempt to write your own kernel after learning about variables, don't write your own parser generator when say, YACC, solves your problem just fine.

Re: Alan Kay has agreed to do an AMA today

#438

Hi Alan, 1. what do you think about the hardware we are using as foundation of computing today? I remember you mentioning about how cool was the architecture of the Burroughs B5000 [1] being prepared to run on the metal the higher level programming languages. What do hardware vendors should do to make hardware that is more friendly to higher level programming? Would that help us to be less depending on VM's while sti…

If you start with "desirable process" you can eventually work your way back to the power plug in the wall. If you start with something already plugged in, you might miss a lot of truly desirable processes. Part of working your way back to reality can often require new hardware to be made or -- in the case of the days of microcode -- to shape the hardware. There are lots of things vendors could do. For example: Intel…

Have you looked into the various Haskell/OCaml to hardware translators people have been coming up with the past few years?

It seems like it's been growing and several FPGA's are near that PnP status. In particular the notion of developing compile time proved RTS using continuation passing would be sweet.

Even with newer hardware it seems we're still stuck in either dynamic mutable languages or functional static ones. Any thoughts on how we could design systems incorporating the best of both using modern hardware capacities? Like... Say reconfigurable hierarchical element system where each node was an object/actor? Going out on a bit of a limb with that last one!

Re: Alan Kay has agreed to do an AMA today

#440

Earlier quoted context omitted.

A lot more good activity here than on Quora ...

Quora has some onerous policies, unfortunately: https://twitter.com/waxpancake/status/453958676529696769 HN is an excellent venue, but is necessarily text oriented, which is an OK tradeoff I think. My next project after Stack Overflow, Discourse, is an 100% open source, flexible multimedia-friendly discussion system. It's GPL V2 on the code side, but we also tried to codify Creative Commons as the default license in…

Still there seems to be only a sandbox install. Why can't we have discourse just like stackoverflow just with technical discussions allowed instead of attacked by both mods and the rules.
Post reply on HN