From: "Rob ." Date: 2005-05-27T03:31:16+09:00 Subject: Re: Intellisense and the psychology of typing Andrew, code auto-completion is not tied to static typing. Your search for 'IntelliSense' (a Microsoft trademarked term) might not find all relevant discussions, try auto completion, code completion or method completion. My efforts to implement code completion in the Ruby Editor Plugin for jEdit have been successful to date. Currently the plugin supports type-based method completion for the Ruby core types, using a naive variable type detection algorithm. Implementation work hasn't been too hard, just time consuming. The plugin's documentation viewer window displays documentation for your current selection on the method completion popup. My personal use of the plugin's method completion has mainly proved useful in helping me learn Ruby APIs. Future improvements to the plugin will allow the user to select RDoc they want to import. The imported RDoc will be displayed in the documentation viewer, and also be used to show additional methods in the completion popup. So for example you'd be able to import the Rails RDoc and then autocomplete Rails methods. http://www.jedit.org/ruby/ - jEdit's Ruby Editor Plugin Rob andrew.queisser wrote: > Yesterday I typed in some C++ code that called a function with two > ints. Intellisense (auto-complete) helpfully told me that the first > formal parameter was called "frontLight" and the second "ringLight". It > occurred to me that I'm getting some semantic help here on top of the > obvious type safety. It seems to me that the existance of this kind of > support is tied to the static typing nature of C++. > > I've always been interested in the psychology behind those heated > "static" vs. "dynamic" (quotes to avoid another lengthy discussion > about manifest, latent, explicit, ...) typing debates. So I googled > "Intellisense static dynamic typing" and tried to get a view of the > collective mental landscape of this subject. It appears that the > threads that talk about Intellisense soon run dry. I'm wondering if > this is because: > > 1) Intellisense is really just another crutch that does more harm than > good? There were a few hardcore defenders of this position but not > many. > > 2) Intellisense is really useful but hard to implement well in IDEs for > dynamic languages? Can anyone comment on the status of > Intellisense-like tools for dynamic-language IDEs? > > 3) Users of dynamic languages are always developing/debugging running > programs where the current type of a variable is known and hence > Intellisense is possible again? My own limited experience with dynamic > languages (Ruby) is limited to edit-run cycles. > > Any opinions? > > Thanks, > Andrew