←back to thread

1401 points alankay | 5 comments | | HN request time: 0.23s | 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
discreteevent ◴[] No.11940642[source]
Hi Alan,

A lot of the VPRI work involved inventing new languages (DSLs). The results were extremely impressive but there were some extremely impressive people inventing the languages. Do you think this is a practical approach for everyday programmers? You have also recommended before that there should be clear separation between meta model and model. Should there be something similar to discipline a codebase where people are inventing their own languages? Or should just e.g. OS writers invent the languages and everyone else use a lingua franca?

replies(1): >>11941154 #
alankay ◴[] No.11941154[source]
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?
replies(3): >>11941209 #>>11942139 #>>11942510 #
1. Natanael_L ◴[] No.11941209[source]
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).
replies(2): >>11941638 #>>11941876 #
2. nickpsecurity ◴[] No.11941638[source]
Sort of. There's quite a few theories operating on computer science as we know it today. Especially in software and hardware. Examples include model-driven development, flow-based programming, lambda calculus, state machines, logic-oriented systems, and so on. The mathematical models involved underlying structuring and verification of anything built in these can be quite different although often with some overlapping techniques or principles. There's also been lots of work in high-assurance systems going from requirements and design specifications in a rigorous, mathematical (even mechanical) way down to an implementation in HW, SW, or both. None of them cite information theory. Heck, the analog computers might be outside of it entirely given they implement specific, mathematical functions with continuous operation on reals. I know Shannon had a separate model for them.

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

3. alankay1 ◴[] No.11941876[source]
Respectfully ... I think you missed the point of my answer.
replies(1): >>11941908 #
4. Natanael_L ◴[] No.11941908[source]
Did you intend to compare the progress and formalization of the fields? Didn't pick up on that
replies(1): >>11942469 #
5. alankay1 ◴[] No.11942469{3}[source]
Yes, that was what I was driving at. Anyone could do physics in the Middle Ages -- they just had to get a pointy hat. A few centuries later after Newton, one suddenly had to learn a lot of tough stuff, but it was worth it because the results more than paid for the new levels of effort.