Vladimir, On Feb 3, 12:10 pm, Vladimir Ignatov <kmis...@gmail.com> wrote: > Hello, > > I am sitting here for quite some time, but usually keep silent ;-) I
> Finally I develop a feeling that strong instrumentation / tools can > bring us the best of two worlds. That I am dreaming on is an absolute > new type/class of IDE suitable for Python and potentially for other > dynamic-type languages. Instead of current text-oriented IDEs, it > should be a database-centric and resemble current CAD systems instead > of being just "fancy text editor". Source text should be an output > product of that CAD and not a "source material" itself. I don't know CAD systems, but I want to share my comments about this. I self learned to program with Squeak Smalltalk at 17. Later, I worked with VisualAge for Java, that was a Smalltalk IDE applied to Java. Now, I can tell you that in Smalltalk IDEs the code is not written in files. It's stored in a thing called "image". You have these frames, in the first frame you have the classes, in the second frame you have the child classes and in the third frame you have the methods of the child class you selected. A bigger frame showed the code of the single method you had selected. You modified the method, hit ctrl-s and it was COMPILED and saved in the image. You had a frame in which you could interactively call your objects, some of them represented things that were "showable" on the monitor and you could see these things pop up as you instantiated them. Then, you had some specialized browsers in which you could search, for example, all the places a method was called in (a thing I have difficulties with, in python, today) VisualAge had its own management version system such that EVERY TIME I saved a method, it became a VERSION and there was a specialized browser for browsing the versions (the image tended to grow, that's it) while the regular browser defaulted on the last version and there was a tool for freezing a version as a milestone. Today, I tried to understand the twisted.web.client code and I found 3 methods I couldn't find by who were called. I asked on the mailing list and they suggested me where they were called and that the tool for such thing is "grep". So, you grep, you get a list of files, you open each one of them and keep scrolling and switching from one file to another... endlessly. Maybe I'm getting old, but I tend to get lost in the process. I can't believe the code editing situation today is in a such sorry state. Is this what you meant ? If it's this, then it's not experimental at all, it's been done already and been put apart. Crap won :-( You write: > Instead of current text-oriented IDEs, it > should be a database-centric well, it seems you agree with Alan Kay, (the Smalltalk inventor) when he wrote that programming is NOT glorified text editing. He called it "direct manipulation" every method was a live thing you could send messages to and the source code that implemented it was just an attribute of the method. So you could have had a World Of Warcraft like interface, to manipulate your methods. You know what I'm doing now ? I'm drawing the map of twisted.web.client on a paper with a pencil :-( Bye Catonano -- http://mail.python.org/mailman/listinfo/python-list