Live data from Hacker News

Data Structure Visualizations

cs.usfca.edu

1–10 of 36 posts

Re: Data Structure Visualizations

#2
I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so.

It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for context, different execution environments, etc, all make this difficult to tackle generally.

More and more lately, I find that I'm interested in this problem more than the code itself.

Re: Data Structure Visualizations

#3
post #2

I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for cont…

http://pythontutor.com/ visualizes variables and arrays for python code.

Re: Data Structure Visualizations

#5
post #2

I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for cont…

Higher level languages / code and abstractions.

Re: Data Structure Visualizations

#7
post #5
post #2

I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for cont…

Higher level languages / code and abstractions.

This is correct, but this stuff is particularly hard. I would even say it's the hardest part of our profession. Some people try to invent reusable abstractions, small (map, fold, zip) and big (AbstractFactory, Command, Composite), but to attack this problem really efficiently you need to be able to come up with your own ones, preferably those that are less leaky and have limited and well-defined surface area.

I remember doing one of the Project Euler's problems, something in the vein of "you are given a 20x20 matrix, find an element for which the sum of the elements around it is maximum". Nothing complicated, right? You just iterate over rows, then over columns, then throw in a check for zero index and the max boundary index, then do this for both x and y, etc. When I was done with the problem (nested for loops, five if checks inside), I found someone else's solution in Haskell on Project Euler's forums. A point-free one-liner with bunch of smart folds.

That's the power of abstraction.

Re: Data Structure Visualizations

#8
post #2

I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for cont…

I am totally on board with you on that one.

I remember checking out this book on graph drawing, and realizing how hard a problem drawing arbitrary data structures is. And what about functional code? How do we visualize stateless algorithms?

I deeply want this to exist though. I feel like, much in the same way excel secretely represents the core of what we want to do with computers, data structure visualizations is the core of how we want to read code, especially in "tight" code involving heavily coupled structures.

Re: Data Structure Visualizations

#10
post #2

I dream of a world where this is built in everywhere that I write expressions. It's so hard, and we desperately need it. Bret Victor has called a lot of attention to this lately, and rightly so. It's easy to forget how much we have to remember inside our heads just to work with code. And why? Much of this work could and should be done by the machine, which would free us to focus on what we want. But the need for cont…

I'm planning on building this as my next project.

Although I think aiming for building this into the general programmer's development environment is ideal, there is an easier first step. Simplify and reduce the scope of the project to where you build this into a pedagogical programming environment. Most programmers have solidified these mental models into their heads. We only need to see them when we've made an error. Students, on the other hand, are flying blind and need this visualization desperately. More than that, the types of programs students build are highly constrained assignments which are more amenable to visualization.

Post reply on HN