Live data from Hacker News

New IDE: code bubbles

cs.brown.edu

161–170 of 226 posts

Re: New IDE: code bubbles

#161

Earlier quoted context omitted.

Take a look at Squeak. The Smalltalk folks have been doing this for a long time with the GUI utilities. SLIME is another dynamic environment that knows and can tell You much about itself.

This information comes from actually running the code. Not that this is a bad thing, though. People seem really afraid of having the code they just wrote be executed, but I think this is an unfounded fear. And, as SLIME shows, you get great information from running the code; much better than mere static analysis.

I was about to ask, "Why don't they just run the code, and provide something like reverse debugging or VM state snapshots to explore different code paths?" but it seems that's already been covered.

Re: New IDE: code bubbles

#162
post #9

I feel like the response has been fairly lukewarm, but to me this is some really nice (dare I say game-changing) stuff. Mindmap + IDE = great. Why? I have written in a variety of languages, and my number one complaint, whether it be with eclipse, textmate, vim, emacs, whatever, is the clumsiness of going from one file to another and then back to the original. Further, outside of actual development, when debugging, I…

I'm curious about what exactly didn't you like about moving between files in vim?

CTRL-^ just toggles back and forth, with ctags you get one-keystroke movement up and down the function call stack, and you can jump to various buffers with ":b partial_filename", or ":b" if you remember the specific number, or ":blast".

Re: New IDE: code bubbles

#163
post #152
post #137

Earlier quoted context omitted.

In the 30+ years Emacs has been around people have written a huge amount of Emacs Lisp that does pretty much everything you can think of. Almost every feature from other editors and IDEs has been implemented in Emacs. I like Lisp but rarely write very much Emacs Lisp, and when I do it's usually an extension of some code someone else started. There aren't a lot of new ideas and when an Emacs user sees one he implement…

You may say this, but I don't see semantic member or statement completion for any language. I don't see "go to definition" or "find all references." Frankly, although cc-mode is fantastic for indentation and stuff, it offers a small fraction of the features of Eclipse or NetBeans. Yes, I've used ctags and I've used etags. They tend to be interesting approximations but are never 100% reliable. They don't do a deep sem…

"Go to definition" is 'gd' in vim. If vim has it, emacs certainly does.

Perhaps vim and emacs don't do everything you want. But also, perhaps you don't know their capabilities as well as you think you do?

Re: New IDE: code bubbles

#164
post #156

It's odd that it's so rare in software to find window widgets that push each other out of the way instead of overlapping. I'm thinking of the gazillion pallettes in Adobe CS that always occlude each other. You'd think they'd have figured that out by now.

Visual Studio sort of does this. When you drag one pane over another, the default is to have the panes be tiled or tabbed (depending on where you drag it). It's all very intuitive too, with the arrows to guide you through what you're doing. Visual Studio's window management is totally awesome and one of my favorite features.

Does it work well with multiple monitors yet?

Re: New IDE: code bubbles

#165
post #153

I think they're trying to reduce the impact of the superhuman levels of concentration displayed by the uberhackers. I don't like it.

I disagree, they're augmenting the current impact of a super-human level of concentration displayed by an "uberhacker" by giving the fruits of that capacity to everyone. Automating a super-human level of concentration in one part of the development process will free up brain cycles for use elsewhere. The best developers won't instantly cease to be the best developers because of a mind-mapping IDE.

The second sentence of my earlier post was my idea of comedy.

Re: New IDE: code bubbles

#166
The main benefit of this IDE, compared to terminal stalwarts vim and emacs, is the effective use of a large, high-resolution screen. The color-coding and context grouping is really slick; IMO vim gets a bit visually confusing if you split windows more than twice.

My main gripe about this system would be the normal one of moving back and forth between the keyboard and mouse. Also I wonder how sluggish it gets if you have multiple workspaces and debugger sessions open.

The alt+drag static call graph was another cool feature.

Ultimately, the best tool is the one you know best. Any IDE will have a very tough time competing with 30-odd years of developers perfecting all the small stuff in vim and emacs.

Re: New IDE: code bubbles

#167
post #152
post #137

Earlier quoted context omitted.

In the 30+ years Emacs has been around people have written a huge amount of Emacs Lisp that does pretty much everything you can think of. Almost every feature from other editors and IDEs has been implemented in Emacs. I like Lisp but rarely write very much Emacs Lisp, and when I do it's usually an extension of some code someone else started. There aren't a lot of new ideas and when an Emacs user sees one he implement…

You may say this, but I don't see semantic member or statement completion for any language. I don't see "go to definition" or "find all references." Frankly, although cc-mode is fantastic for indentation and stuff, it offers a small fraction of the features of Eclipse or NetBeans. Yes, I've used ctags and I've used etags. They tend to be interesting approximations but are never 100% reliable. They don't do a deep sem…

I don't see "go to definition" or "find all references."

SLIME has this in Emacs for Common Lisp and perhaps other languages that work with SLIME.

I'm on a non-multitasking phone now so you'll have to do the googling yourself.

Re: New IDE: code bubbles

#169
post #99

Earlier quoted context omitted.

Can your emacs editor construct hyperlinked call graphs showing all callers and callees of a given function? Will this call graph generation remain up to date as I edit files? Can Emacs give me a hyper-linked list of all usages of a given symbol and do it properly(lexical scope, etc.), not just doing a simple symbol search? Can I edit my code in emacs, have a background compiler compile the file on the fly, and also…

geocar's response is pretty good, but I am going to disagree on some points. Hyperlinked call graphs: nope. Never needed it, don't know how to generate them for any language I use. Emacs can't do it, but neither can anything else. Write the code to do the work, and Emacs will support it in about 30 seconds. All use of a given symbol: same problem. The static analysis for this is Really Hard, and it would provide me w…

I learned to program on vim originally, and I've also worked for over a year on a C team that used vim exclusively. I'd like to think that I know most of its important features, and I know what I'm giving up when I using an emulator. I've also looked into the running vim with headless Eclipse, so I know the tradeoffs there as well.

You're right that I don't know a lot about Emacs. In this thread in particular I've learned about CEDET and flymake-mode, which seem to apply to C/C++ and maybe Java and C# to some extent and add a lot of useful IDE-like features.

Re: New IDE: code bubbles

#170
post #136
post #118

Earlier quoted context omitted.

> Can your emacs editor construct hyperlinked call graphs showing all callers and callees of a given function? Will this call graph generation remain up to date as I edit files? Yes. You're looking for Cedet. Can your IDE read my mail? > Can Emacs give me a hyper-linked list of all usages of a given symbol and do it properly(lexical scope, etc.), not just doing a simple symbol search? Yes. You're looking for Cedet. C…

I apologize if people thought I was hostile. I thought I was just making an argument by pointing out several examples of things text editors like Emacs don't normally do that IDE's do well. You've proven me wrong, at least for the case of C/C++. I would still argue that Emacs itself is not an IDE. It's just an editor with a turing-complete scripting engine. However, you could definitely convince me that Emacs+CEDET i…

Where you went wrong was in realizing that Emacs isn't a text-editor. Emacs is a text-based IDE.
Post reply on HN