←back to thread

1401 points alankay | 1 comments | | HN request time: 0s | source

This request originated via recent discussions on HN, and the forming of HARC! at YC Research. I'll be around for most of the day today (though the early evening).
Show context
16bytes ◴[] No.11940211[source]
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 the way you write code the most, especially even in languages where it is not available?

replies(1): >>11940252 #
alankay1 ◴[] No.11940252[source]
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.

replies(2): >>11940453 #>>11941568 #
dang ◴[] No.11940453[source]
Could you give an example of what you mean by "safe meta-definition"? I'd like to understand this better.
replies(3): >>11940546 #>>11940648 #>>11941131 #
alankay1 ◴[] No.11941131{3}[source]
"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 lot safer (most languages don't help much)

replies(1): >>11941531 #
edejong ◴[] No.11941531{4}[source]
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?
replies(2): >>11941609 #>>11959251 #
1. MichaelMoser123 ◴[] No.11959251{5}[source]
Rust has quite powerful macros (hygienic macros). It is still not a major programming language, but it wants to be one.