Live data from Hacker News

Alan Kay has agreed to do an AMA today

news.ycombinator.com

281–290 of 931 posts

Re: Alan Kay has agreed to do an AMA today

#281

At my office a lot of the non-programmers (marketers, finance people, customer support, etc) write a fair bit of SQL. I've often wondered what it is about SQL that allows them to get over their fear of programming, since they would never drop into ruby or a "real" programming language. Things I've considered: * Graphical programming environment (they run the queries from pgadmin, or Postico, or some app like that) *…

I teach SQL to my journalism students. Example exercise:

http://2015.padjo.org/tutorials/sql-walks/exploring-wsj-medi...

My main reason for teaching it was that it was a skill that helped me immensely as a journalist, in terms of being able to do data analysis. Because I learned it relatively late in my career, I thought it'd be hard for the students but most of them are able to get it.

Even though I use relatively little SQL in my day to day work, it's my favorite thing to teach to novices. First, it has a similar data model to spreadsheets, so it feels like a natural progression. Secondly, for many students, this is the first time that they'll have done "real" programming and the first time that they learn how to tell a computer to do something rather than learn how to use a computer. In Excel, for example, you double click a file and the entire thing opens. With SQL, you're required to not just specify the database and table, but also each and every column...it's annoying at first, but then you realize that there is power in being explicit.

The main advantage of teaching SQL over, say R, as a first language is that SQL's declarative syntax is easy to follow AND you can do most of what you need with a limited subset of the language...for instance, I don't have to teach variables and loops and functions...which is good because I don't even know how to really do those in SQL (just haven't had the need when I can work from R or Pandas).

When a beginner student fucks up a basic Python script, there are any number of reasons for the failure that is beyond the student's expected knowledge. When a novice student fucks up a SQL query...it's easier to blame the mistake on the student (e.g. Misspelling of names/syntax)

Re: Alan Kay has agreed to do an AMA today

#282
Dear Alan,

What do you think about EAST paradigm which tries to revamp the original spirit of OOP you stated ?

Do you think that the machine learning community suffer from the syndrome of "normal considered harmful". Like using vendor hardware instance of designing their own (FPGA for instance)

Re: Alan Kay has agreed to do an AMA today

#283
post #135

Earlier quoted context omitted.

Could you give an example of what you mean by "safe meta-definition"? I'd like to understand this better.

"Meta is dangerous" so a safe meta-language within a language will have "fences" to protect. (Note that "assignment" to a variable is "meta" in a functional language (and you might want to use a "roll back 'worlds' mechanism" (like transactions) for safety when this is needed.) This is a parallel to various kinds of optimization (many of which violate module boundaries in some way) -- there are ways to make this a lo…

I've always felt that the meta space is too exponential or hyper to mentally represent or communicate. Perhaps we need different lenses to project the effects of the meta space on our mental model. Do you think this is why Gregor decided to move towards aspects?

Re: Alan Kay has agreed to do an AMA today

#284
post #155

Earlier quoted context omitted.

I think all languages today annoy me -- just put me down as a grump. They seem to be at a very weak level of discourse for the 21st century. (But a few are fun when looked at from the perspectives of the past e.g. Erlang ...)

I see, is there anything you see today that you like? (Coq, Idris maybe?)

While the methods are different from what Alan has espoused in the past, I'd like to believe the goals are very well aligned.

Re: Alan Kay has agreed to do an AMA today

#285
post #232
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…

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

Re: Alan Kay has agreed to do an AMA today

#286
post #78

Hi Alan, I'm preparing a presentation on how to build a mental model of computing by learning different computer languages. It would be great to include some of your feedback. * What programming language maps most closely to the way that you think? * What concept would you reify into a popular language such that it would more closely fit that mapping? * What one existing reified language feature do you find impacts t…

I think I'd ask "What programming language design would help us think a lot better than we do now (we are currently terrible!) Certainly, in this day and age, the lack of safe meta-definition is pretty much shocking.

I have a few things in my links on the topic of safe metaprogramming outside your own work. Here's a few I could remember on top of head:

Type-safe metaprogramming Sheard

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=E63...

Type-safe, reflective metaprogramming Microsoft

http://research.microsoft.com/apps/video/dl.aspx?id=103561

Rascal - Metaprogramming language and platform

http://www.rascal-mpl.org/

So, given work like that, what remaining tough problems are there before you would find a metaprogramming system safe and acceptable? Or do we have the fundemantals available but you just don't like the lack of deployment in mainstream or pragmatic languages and IDE's?

Note: Just dawned on me that you might mean abstract programming in the sense of specifying, analyzing, and coding up abstract requirements closer to human language. Still interested in what gripes or goals you have on that end if so.

Re: Alan Kay has agreed to do an AMA today

#287

At my office a lot of the non-programmers (marketers, finance people, customer support, etc) write a fair bit of SQL. I've often wondered what it is about SQL that allows them to get over their fear of programming, since they would never drop into ruby or a "real" programming language. Things I've considered: * Graphical programming environment (they run the queries from pgadmin, or Postico, or some app like that) *…

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…

It may be that its easier for people to define the desired result set, then tweak the query until it gives them what they want.

Re: Alan Kay has agreed to do an AMA today

#289
Hi Alan,

1. Do you think the area of HCI is stagnating today?

2. What are your thoughts on programming languages that encapsulate Machine Learning within language constructs and/or generally take the recent advancements in NLP and AI and integrate them as a way to augment the programmer?

Post reply on HN