From: hal9000@... Date: 2000-11-08T04:40:02+09:00 Subject: [ruby-talk:6138] Thoughts on a Ruby browser I have to issue a disclaimer first, that I am not a code browser user, except in things like C++ Builder, JBuilder, etc. I've never even seen a Smalltalk browser, though I have heard rumors that it is an awe-inspiring tool. I don't even know Smalltalk. Despite my ignorance, I will offer some opinions. 1. Yes, we do have to have SOME kind of interface. But let's keep it as independent from the core functionality as we can. 2. I do favor the possibility of a web-based browser. In fact, I wouldn't mind if it was *truly* web-based, i.e., you could look at code running on a remote machine as long as it had an embedded web server. 3. I do also favor the possibilty of a "native" GUI, whether your desktop of choice is Win32 or Linux KDE. In a case like this, I would prefer an MDI interface, as nonmodal as possible. 4. I'm not an emacs weenie, but numerous people I respect are. I favor a way to hook the browser into emacs (and whatever other editors are powerful enough). 5. No matter the interface, I am a big believer in "collapse and hide" features. For example, when looking at code, I would like to be able to hide the embedded docs. I would like only a very shy, unobtrusive hint that the docs are even there. Yet on the other hand, I would like a feature that says, "Collect ALL the embedded docs and show them to me." 6. Same with the code. I'd like to get a super-high-level view and drill down to the lowest detail with ease. Maybe even offer the opportunity to restructure the code by dragging/dropping icons representing methods or whatever. 7. I want the browser to remember every detail of the state I was in at the end of my last session. 8. Possibly allow changing of syntax to equivalent forms by a simple keystroke combination or button click. (Hmm, I'll change that for-loop to a .each, and I'll change these braces to a do-end...) Does anyone remember the Alice Pascal compiler from long ago (1985)? In some ways it was very neat... it had a syntax-directed editor that made it nearly impossible to make a syntax error, and easy to make changes of the sort I just mentioned. Unfortunately, it also made it rather difficult to type in even a correct program... 9. I favor a flexible and customizable interface. Let me create my own macros (in Ruby, of course), assign icons to them, and add them to the toolbar. 10. I'd like the capability to click on a standard identifier and get documentation on it -- different levels of documentation, beginning with just, for example, the "prototype" of a method. I'd like to click on the user-defined stuff and get information about it -- where is it first defined, where is it used, etc. 11. I wish (though this is not possible in Ruby as it is) that we could associate a comment specifically with the piece of code it belongs with. I have often thought that perhaps program text should advance to the point that it was more like a word-processing document, with a browser-like tool required in order to use it... that is a break with tradition, and millions would disagree with me, though. Just a few thoughts. Hal -- Hal Fulton Sent via Deja.com http://www.deja.com/ Before you buy.