Earlier quoted context omitted.
"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?
Alan Kay has agreed to do an AMA today
291–300 of 931 posts
Re: Alan Kay has agreed to do an AMA today
#292Q: I've always been a big fan both of text console accessible UI's like CLI's and REPL's as well as of GUI's. In my mind they each clearly have a different mix of strengths and weaknesses. One way a user might have a bit of the "best of both worlds" potentially is an app or client featuring a hybrid input design where all 3 of these modes are available for the user to drive. Any thoughts on that?
I'm writing a paper in my free time about some architectural ideas in this area and would love to hear your thoughts. Feel free to tell me this is a FAQ and that I should go read a particular book/paper of yours, and/or to get off your lawn. :-)
thank you!
Re: Alan Kay has agreed to do an AMA today
#293Re: Alan Kay has agreed to do an AMA today
#294We met at a retreat last fall, and it was a real treat for me to hear some fantastic stories/anecdotes about the last 50 years of computing (which I have only been directly involved with for about 1/10th of). Another one of my computing heroes is Seymour Cray, which we talked about a bit and your time at Chippewa Falls. While a lot of HN'ers know about you talking about the Burroughs B5000, I (and I bet most others) would have had no idea that you got to work with Seymour on the CDC 6600. DO you have any particular Seymour Cray/6600 stories that you think would be of interest to the crowd?
Thanks again for doing this, and I hope to be able to talk again soon!
Re: Alan Kay has agreed to do an AMA today
#295Earlier quoted context omitted.
Tricky question. One answer would be to ask whether there is an intrinsic difference between "computer science" and (say) physics? Or are the differences just that computing is where science was in the Middle Ages?
Computer science is defined by information theory, and we already have mathematical proofs binding together information theory with the laws of quantum physics (such as the example of the minimum energy needed to erase one bit of entropy from memory, something which is bounded by the ambient temperature).
So, given I don't study it or read on it, I'm actually curious if you or anyone else has references on where information theory impacts real software development over the years. I study lots of formal methods & synthesis research but never even see the phrase mentioned. I've been imagining it's in its own little field working at a strongly theoretical level making abstract or concrete observations about computers. Just don't see them outside some cryptography stuff I've read.
EDIT to add example below where Bertrand Meyer presents a Theory of Programs that ties it all to basic, set theory.
https://bertrandmeyer.com/2015/07/06/new-paper-theory-of-pro...
Re: Alan Kay has agreed to do an AMA today
#296Earlier 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…
Along this point, C# and VB.NET have SQL-like expressions that can be used for processing, called LINQ [1]. They even get the order of the clauses correct! A feature like this may help your programmers who are used to thinking in terms of filter -> select -> order. [1] https://msdn.microsoft.com/en-us/library/bb397927.aspx
Re: Alan Kay has agreed to do an AMA today
#297As a high school teacher, I often find that discussions of technology in education diminish 'education' to curricular and assessment documentation and planning; however, these artifacts are only a small element of what is, fundamentally, a social process of discussion and progressive knowledge building.
If the real work and progress with my students comes from our intellectual both-and-forth (rather than static documentation of pre-exhibiting knowledge), are there tools I can look to that have been/will be created to empower and enrich this kind of in situ interaction?
Re: Alan Kay has agreed to do an AMA today
#298Earlier quoted context omitted.
HN has always worked informally. We don't have 'processes'; it isn't clear that we need them, and the thought of having to set them up makes my soul cry. But anyone who has concerns about fakes, abuses, and the like can always get an answer by emailing hn@ycombinator.com. We appreciate such emails because occasionally they point out actual abuses that we need to take care of!
Thanks for the input
Re: Alan Kay has agreed to do an AMA today
#299Hey Alan, you once said that lisp is the greatest single programming language ever designed. Recently, with all the emergence of statically typed languages like Haskell and Scala, has that changed? Why do you think after being around for so long, lisp isn't as popular as mainstream languages like Java, C or Python? And lastly, what are your thoughts on MIT's switch to use Python instead of Scheme to teach their under…
Many of the "current best paradigms" of Computer Science are actually fads. LISP was a fad of the 1980s. Java was a fad of the 1990s. NoSQL databases are a current fad. It doesn't mean that one is better than another. It's human nature to think that new technology must be better than old technology. In fact, the programming environment on the LISP machines of the 1980s was far better than anything we had till the early 2000s, despite being "old".
Re: Alan Kay has agreed to do an AMA today
#3001. focus on data processing rather than imperative way of thinking (esp. functional programming)
2. abstraction over parallelism and distributed systems
3. interactive collaboration between developers
4. development accessible to a much broader audience, especially to domain experts, without sacrificing power users
In fact the startup I'm working in aims exactly in this direction. We have created a purely functional visualtextual language Luna ( http://www.luna-lang.org ).
By visualtextual I mean that you can always switch between code, graph and vice versa.
What do you think about these assumptions?