Live data from Hacker News

Why programming is a good medium for expressing poorly understood ideas (1967)

web.media.mit.edu

21–30 of 70 posts

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#21
The beauty is in that a weighted graph of lambdas could be build out of conses even back then. The idea that code is data (and it could be generated by a program itself) was already there, but they have dropped this right intuition and turned back too early, and the dark ages of Java and packer's mindset followed.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#22
post #5

Earlier quoted context omitted.

He was very wise on this matter. The best code I've written was thanks to first designing it on paper.

He was an insanely smart guy, Type 2 Unixbeard (the skinny one with the pony tail rather than Type 1, the portly one with the T-shirt of a bankrupt tech company). Back in the 80's he worked on the software that ran/runs digital switching for (iirc) BT, high scale, high reliability stuff in C.

I had only one Unixbeard professor, and he was the best one I had in my program. He was also a Type 2.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#23

My programming lecturer used to say "programming is the process of breaking a problem down so a high speed idiot can understand it, if you don't understand the problem then you can't explain it". He also said that a programmers most useful tool was a pencil and a 5mm square A4 pad. After years of solving thorny problems by getting away from the screen and scribbling in a pad I can't say he was wrong.

Yes I learned how to program on paper. It was when computer access was expensive. We learned how to write code on paper and then go over each line with a table for variable values as we run over the code. I learned BASIC on punch cards using an IBM Mainframe for the junior high school math computer club, and it got changed to the math contest club after they couldn't afford computer time anymore. In modern times ther…

Do you still do any programming on paper? I've noticed I've occasionally felt like I've relied too much on my tools like my IDE or Resharper. I've been thinking I should get in the habit of doing some programming using just a simply text editor or pencil/paper to prevent that.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#24

I'd love if all the formulas on Wikipedia were written as pseudo code with meaningful variable names. I'd understand them so much faster.

Seriously! Any programmer would get pilloried for working solely in single letter variable names. It's so tedious that this is the norm in math.

Any programmer except a Haskell programmer.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#25
post #23

Earlier quoted context omitted.

Yes I learned how to program on paper. It was when computer access was expensive. We learned how to write code on paper and then go over each line with a table for variable values as we run over the code. I learned BASIC on punch cards using an IBM Mainframe for the junior high school math computer club, and it got changed to the math contest club after they couldn't afford computer time anymore. In modern times ther…

Do you still do any programming on paper? I've noticed I've occasionally felt like I've relied too much on my tools like my IDE or Resharper. I've been thinking I should get in the habit of doing some programming using just a simply text editor or pencil/paper to prevent that.

If I'm doing something with threading I sketch out a framework for how things should work before writing any code. Just pseudo-code though.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#26
post #20

Earlier quoted context omitted.

Seriously! Any programmer would get pilloried for working solely in single letter variable names. It's so tedious that this is the norm in math.

I think it's largely because the long-standing mathematical tradition comes from an era where those formulas always had plenty of context, be it that of a topic-specific class/lecture or a paper that is published in a journal with a particular focus. Once you know what field of mathematics you're dealing with, there are strong conventions for what variables mean what; that's one of the things that has let to mathemat…

I think that the short variable names in math come from the time when these things had to be written out in long hand on blackboards. You ever see old sci-fi movies, like "The Day The Earth Stood Still" where professors are working out ideas on huge blackboards? Having long variable names wouldn't fit on the blackboard and would be slow and hurt your hands.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#27
post #20

Earlier quoted context omitted.

I think it's largely because the long-standing mathematical tradition comes from an era where those formulas always had plenty of context, be it that of a topic-specific class/lecture or a paper that is published in a journal with a particular focus. Once you know what field of mathematics you're dealing with, there are strong conventions for what variables mean what; that's one of the things that has let to mathemat…

I think that the short variable names in math come from the time when these things had to be written out in long hand on blackboards. You ever see old sci-fi movies, like "The Day The Earth Stood Still" where professors are working out ideas on huge blackboards? Having long variable names wouldn't fit on the blackboard and would be slow and hurt your hands.

The lack of an efficient IME for verbose math input on a computer certainly accounts for why math is still terse when done in real-time such as when extemporaneous lectures or when working something out. But I don't think it fully explains why the convention persists even in published works that took months or years to prepare; there's got to be a significant effect for the readers and not just the writers. If a longhand style of presentation were as clearly superior for mathematics as for software source code, one probably would have caught on by now.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#28

My programming lecturer used to say "programming is the process of breaking a problem down so a high speed idiot can understand it, if you don't understand the problem then you can't explain it". He also said that a programmers most useful tool was a pencil and a 5mm square A4 pad. After years of solving thorny problems by getting away from the screen and scribbling in a pad I can't say he was wrong.

This might be a strange question, but what does 'scribbling on a pad' actually entail? Do you write the actual code, or is it usually more about drawing out the flow of program?

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#29
post #27

Earlier quoted context omitted.

I think that the short variable names in math come from the time when these things had to be written out in long hand on blackboards. You ever see old sci-fi movies, like "The Day The Earth Stood Still" where professors are working out ideas on huge blackboards? Having long variable names wouldn't fit on the blackboard and would be slow and hurt your hands.

The lack of an efficient IME for verbose math input on a computer certainly accounts for why math is still terse when done in real-time such as when extemporaneous lectures or when working something out. But I don't think it fully explains why the convention persists even in published works that took months or years to prepare; there's got to be a significant effect for the readers and not just the writers. If a long…

It's probably just the weight of tradition from the longhand days that leads people to use the short variable names, not that it's somehow better, even on a computer.

All it would probably take would be for someone to start a math journal that required a minimum of three letter variable names and everyone would switch over.

Re: Why programming is a good medium for expressing poorly understood ideas (1967)

#30

I'd love if all the formulas on Wikipedia were written as pseudo code with meaningful variable names. I'd understand them so much faster.

Seriously! Any programmer would get pilloried for working solely in single letter variable names. It's so tedious that this is the norm in math.

And then they run out of Latin letters so they switch to Greek. Then they run out of Greek letters so they switch to Hebrew...

You have to remember that math is written for the sake of mathematicians' brains, not for the sake of dumb machines which accept only linear strings of a limited character set through a teletype. A mathematician can look at a formula and subconsciously break it down into constituent parts based on its shape. Multi-letter (word? phrase?) variable names would only serve to add unnecessary clutter and obscure the shape of the formula. Meaningfulness of names is a secondary concern, if it is a concern at all; meaning can be established in the text surrounding the formulas or equations; and if things indeed get too complex for a set of a few formulas, the option is always there to switch representations -- to computer code or pseudocode.

Post reply on HN