←back to thread

1401 points alankay | 4 comments | | HN request time: 0.404s | 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
wdanilo ◴[] No.11941656[source]
Hi Alan! I've got some assumptions regarding the upcoming big paradigm shift (and I believe it will happen sooner than later):

1. 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 visual<->textual language Luna ( http://www.luna-lang.org ).

By visual<->textual I mean that you can always switch between code, graph and vice versa.

What do you think about these assumptions?

replies(2): >>11942789 #>>11945722 #
alankay ◴[] No.11945722[source]
What if "data" is a really bad idea?
replies(3): >>11945869 #>>11956981 #>>11984719 #
richhickey ◴[] No.11945869[source]
Data like that sentence? Or all of the other sentences in this chat? I find 'data' hard to consider a bad idea in and of itself, i.e. if data == information, records of things known/uttered at a point in time. Could you talk more about data being a bad idea?
replies(2): >>11946532 #>>11948698 #
alankay ◴[] No.11946532[source]
What is "data" without an interpreter (and when we send "data" somewhere, how can we send it so its meaning is preserved?)
replies(3): >>11946764 #>>11957966 #>>11959640 #
olantonan ◴[] No.11959640[source]
So the idea is to always send the interpreter, along with the data? They should always travel together?

Interesting. But, practically, the interpreter would need to be written in such a way that it works on all target systems. The world isn't set up for that, although it should be.

Hm, I now realize your point about HTML being idiotic. It should be a description, along with instructions for parsing and displaying it (?)

replies(1): >>11960130 #
1. alankay1 ◴[] No.11960130[source]
TCP/IP is "written in such a way that it works on all target systems". This partially worked because it was early, partly because it is small and simple, partly because it doesn't try to define structures on the actual messages, but only minimal ones on the "envelopes". And partly because of the "/" which does not force a single theory.

This -- and the Parc PUP "internet" which preceded it and influenced it -- are examples of trying to organize things so that modules can interact universally with minimal assumptions on both sides.

The next step -- of organizing a minimal basis for inter-meanings -- not just internetworking -- was being thought about heavily in the 70s while the communications systems ideas were being worked on, but was quite to the side, and not mature enough to be made part of the apparatus when "Flag Day" happened in 1983.

What is the minimal "stuff" that could be part of the "TCP/IP" apparatus that could allow "meanings" to be sent, not just bits -- and what assumptions need to be made on the receiving end to guarantee the safety of a transmitted meaning?

replies(2): >>11960285 #>>11972129 #
2. olantonan ◴[] No.11960285[source]
Now it's to late to fix.
replies(1): >>11960343 #
3. alankay ◴[] No.11960343[source]
I don't think it's too late, but it would require fairly large changes in perspective in the general computing community about computing, about scaling, about visions and goals.
4. solidsnack9000 ◴[] No.11972129[source]
Would some kind of IDL not be enough to allow meanings to be sent?