Live data from Hacker News

Light Table - a new IDE concept

chris-granger.com

291–300 of 315 posts

Re: Light Table - a new IDE concept

#291
post #68

Earlier quoted context omitted.

We might not want the hassle of dealing with files and folders all the time, but I sometimes worry that a new generation of "programmers" will emerge who have no understanding of how the underlying filesystem works.

I sometimes worry that a new generation of "programmers" will emerge who have no understanding of how the underlying anything works. For as useful as sites like stackoverflow are for sharing knowledge, it is potentially encouraging a generation of copy/paste coders who's job it is to find and glue snippets together until they get the desired outcome. Maybe I'm getting old, but I'm starting think some knowledge needs…

[deleted]

Re: Light Table - a new IDE concept

#292
post #290

Earlier quoted context omitted.

I sometimes worry that a new generation of "programmers" will emerge who have no understanding of how the underlying anything works. For as useful as sites like stackoverflow are for sharing knowledge, it is potentially encouraging a generation of copy/paste coders who's job it is to find and glue snippets together until they get the desired outcome. Maybe I'm getting old, but I'm starting think some knowledge needs…

Speaking of file conflicts: I'm picturing an alternate universe in which 'the database' stands in for 'the filesystem'. Data is laid out in a manner logical for its origins. Most programs use the library-provided implementation, of course, but there is a little more variability than in our world. People have spent the past fifty odd years writing utility programs for manipulating databases instead of files, so concer…

Reminded me of something Jaron Lanier wrote... found it:

"For instance, there is the idea of the computer file, which was debated up until the early 80s. There was an active contingent that thought that the idea of the file wasn't a good thing and we should instead have a massive distributed data base with a micro-structure of some sort. The first (unreleased) version of the Macintosh did not have files. But Unix jumped the fence from the academic to the business world and it had files, and Macintosh ultimately came out with files, and the Microsoft world had files, and basically everything has files. At this point, when we teach undergraduates computer science, we do not talk about the file as an invention, but speak of it as if it were a photon, because it in effect is more likely to still be around in 50 years than the photon."[1]

http://www.edge.org/documents/day/day_lanier.html

Re: Light Table - a new IDE concept

#293
post #179

Earlier quoted context omitted.

Field ( http://openendedgroup.com/field ) is a modern programming environment that embraces most (if not all) of these principles.

As always, the multi-media programming environments are miles ahead and nobody knows about them. Field is amazing. Max/MSP, Pd, et al. are a different paradigm altogether, but have had live editing, documentation a click away, etc. and have been in heavy use for 20+ years.

Where can I find a list of these amazing multi-media programming environments that I've never heard of before, but which look so awesome?

Re: Light Table - a new IDE concept

#294

Earlier quoted context omitted.

Spreadsheets would be nicer if they had a coherent dataflow model. What do you mean by "coherent dataflow model"? (I'm working on these problems - hence all the questions.) This gives a column of constant values which are tweakable by tweaking just the first element. That's what a scalar variable looks like in a spreadsheet. Why not just put the value in a cell and reference that cell absolutely? With some visual tin…

(1) You're right, I should have explained that more. I wanted to contrast this with something like "spreadsheets today have a datum-flow model" but a nice phrasing didn't come to me and I posted without remembering to insert the missing sentence. What I mean is that spreadsheets are (right now) fundamentally based on the idea of a grid of cells which are individually meaningless and can contain anything, any individu…

Interesting. It seems our views are similar on some aspects of this and divergent in others. I agree with you that the cell-based referencing system that treats every individual datum independently is too low-level and can lead to arbitrary spaghetti. (Boy do I know that spaghetti. I have been doing battle with that spaghetti. Or more precisely, with the computational model that you correctly describe as allowing for spaghetti.) There is clearly a need to express operations at a higher level: on vectors of data, let's say, rather than arbitrarily cell-by-cell. On the other hand, the grid layout and cell referencing system are the essence of the spreadsheet. If you mess with it very much, you forfeit the familiarity of spreadsheet users and run the risk of forfeiting what makes spreadsheets so accessible and popular in the first place. So I see the challenge less as "how to come up with a more structured UI that maps to a more coherent dataflow model" (where by "coherent" we mean literally, "let related data cohere together") and more as "how to generalize existing spreadsheet language into something that allows for coherence and exploits it where possible". Although spreadsheet language allows spaghetti, most spreadsheets do lay out their data and calcs in a coherent fashion. It's just that the system fails to recognize it.

Once one achieves "coherent dataflow", there might be a case for adding some features into spreadsheets at the application level that allow for declaring and visualizing more structure. But I think it's a mistake to start with that - or at least risky, because spreadsheet users like spreadsheets and there is no guarantee they will like anything else. (There's a reason why it's always programmers who come up with ideas for "fixing" the spreadsheet UI. You gave yourself away with the Haskell reference :)) The approach I'm advocating is risky too, though, since it's not obvious that there is any coherent generalization to be had out of the spreadsheet data model.

The reason why I can't be "absolute" about it is because in Calc (and Excel the last time I used it), to extend a computation over a vector, you highlight the computation and then [...] resize it into an area parallel to the input vectors

Yes, but in your example the computation that you extended this way had an identical number in every cell. (That is, by extending it, you were copying a formula guaranteed to evaluate to the same number in every cell of the column.) If that's correct, why copy that number at all? Why not just keep it in one cell and have everyone reference it from there? Is it that you wanted it to be visually nearby in every row? I'm probably just missing something about your example.

That sounds suspicious. mean(v) should be associated with the column v in a clear way.

But the solution is to make it very easy for you to lay out your data and calculations in the way you find clear. It is certainly not to force every user to lay out their data and calculations that way.

Re: Light Table - a new IDE concept

#295

Earlier quoted context omitted.

Maybe by "coherent dataflow model" he means some separation between what's an input to any given operation, so you can see what data is going where and how instead of it being scattered all over the place. That's what I'd like, anyway. What it looks like to me is more like a program than a table, but with really good list/table entry and flow arrangement tools. That may just be because I'm a programmer. Can you share…

There's an aspect of that, too. I'm especially influenced by the circuit diagrams in G, the language which you program in when using LabVIEW. Basically most of the system, except for loops, looks like one big circuit. (Since loops are ugly because they're nonfunctional, I have wasted some time trying to think of what the Haskell version of G would look like, how you would embed monads in the circuit elements, and so…

Can you point to an example of a nontrivial program in G that does something people would normally do in a spreadsheet?

Re: Light Table - a new IDE concept

#297
post #139

Earlier quoted context omitted.

If Smalltalkers really believe their environment is the right way to code, their attitude should not be one of "we did this first, meh" That was totally not the spirit in which I meant my post. It's more like, "I told you so!" (My mind works differently, I guess. I present facts that challenge people's model of the world, hoping the curious absorb the information and run with it. Many people seem to take these as som…

Ah, understood. Tone threw me off and it's all too common to see the attitude I outlined above when old ideas are given fresh paint. Apologies for misrepresenting your view.

> Apologies for misrepresenting your view.

Oh please. He even misrepresented his own view.

"I wasn't attacking anyone, I was only letting everybody know they've been told"

The constructive bit of information was "hey cool this uses a lot of the concepts SmallTalk used in the 80s, great to see it getting some traction" instead of "I told you so!".

Re: Light Table - a new IDE concept

#298
post #290

Earlier quoted context omitted.

I sometimes worry that a new generation of "programmers" will emerge who have no understanding of how the underlying anything works. For as useful as sites like stackoverflow are for sharing knowledge, it is potentially encouraging a generation of copy/paste coders who's job it is to find and glue snippets together until they get the desired outcome. Maybe I'm getting old, but I'm starting think some knowledge needs…

Speaking of file conflicts: I'm picturing an alternate universe in which 'the database' stands in for 'the filesystem'. Data is laid out in a manner logical for its origins. Most programs use the library-provided implementation, of course, but there is a little more variability than in our world. People have spent the past fifty odd years writing utility programs for manipulating databases instead of files, so concer…

wasn't micorsoft supposed to roll something out with Vista that was sql server standing in for the filesystem?

http://en.wikipedia.org/wiki/WinFS#Development

I don't use windows anymore, but I hang with some .NET developers, and they aren't raving about WINFS, or Power Shell, or Sharepoint. Generally they seem pretty miserable.

Re: Light Table - a new IDE concept

#299
A man after my own heart. Here's another concept to dramatically improve efficiency: Code Contexts. Enable the user to select (or add) a specific set of contexts. When coding under a specific set of contexts, differentiation of code applies only under the given context set. Or, after making a code change the user could add/remove contexts to which it applies. This would resolve a lot of the complexities of OO programming. Behind the scenes, context sets can be organized into a class hierarchy. But the programmer wouldn't have to search through the damn hierarchy to find out what version of a particular method is currently in play..

Re: Light Table - a new IDE concept

#300
post #139

Earlier quoted context omitted.

Ah, understood. Tone threw me off and it's all too common to see the attitude I outlined above when old ideas are given fresh paint. Apologies for misrepresenting your view.

> Apologies for misrepresenting your view. Oh please. He even misrepresented his own view. "I wasn't attacking anyone, I was only letting everybody know they've been told " The constructive bit of information was "hey cool this uses a lot of the concepts SmallTalk used in the 80s, great to see it getting some traction" instead of "I told you so!".

After a decade of waiting, I think I'm entitled to express a bit of frustration.

Your position is quite contradictory. Do you really think I'd extoll these capabilities for years while mainstream programmers pooh-poohed me, then suddenly change my position to "meh?" "I told you so," seems to be the most sensible response to me.

Post reply on HN