Friday, March 23, 2012

My dream editor

I was watching an amazing video today: "Inventing on Principle" by Bret Victor.  Even if you don't read this blog post, go watch that video. Then, if you feel like it, read this :).

I was inspired to think about what features The Great Ultimate Editor of All Time would have in it. So here's the start of my ridiculous wishlist. In particular, I'm concentrating on thinking about any and all kinds of code analysis, visualisation or tools which help the reader to understand code as quickly as possible, and show it to them in ways that makes understanding as simple as humanly possible. It's probably not very deep thinking, so don't shoot me if you think this is all a bit silly to the thinking about :)

  • nosier / test re-execution
  • sphinx docs of file
  • code inspections (pylint, pep8)
  • develop-with-example / standard test / default input view
  • advanced folding / hiding
  • embedded images and formulas in docstrings
  • "hg replay" / "instant history"
  • integrated visual diff
  • Code re-use heat-map (number of times function is referenced)
  • coverage heat-map
  • Maybe a performance heat-map (slow lines, fast lines etc)