Earlier quoted context omitted.
Emacs is a text editor in the same way the space shuttle is a vehicle.
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…
New IDE: code bubbles
111–120 of 226 posts
Re: New IDE: code bubbles
#112Earlier quoted context omitted.
The video highlighted an annoying feature of Squeak Smalltalk, where you get tiny little views of individual methods in their own window, which seems like a good idea until you actually try to do something complicated using it. It's pretty to watch though. The cool things there, in my opinion, were the code navigation pieces. Those are the things I actually think work better with tabbed files. In other news, yikes! I…
Those bubbles would have been a nightmare if they didn't relate to each other in such a clean way They have some great grouping features - snapping, colouring, pushing, connections with lines, naming groups.
This stuff is awesome. First time I've been this impressed by an IDE outside of Smalltalk, Self, or Symbolics, Lisp.
Re: New IDE: code bubbles
#113I 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 think there's some really interesting stuff here that should be leveraged. What I like best is that it really focuses your mind on the task at hand. You don't spend a lot of time looking through large amounts of code just to find a few things. I wouldn't like the UI directly as presented, but there's certainly a starting point there. Really though, don't know what kind of programmer would accept line wrap on code.…
I'd happily accept syntactically- and semantically-aware line wrap, if someone could do it and get it right. Combine that with elastic tabs that actually work, add a standard set of layout rules that gives good results, and provide bullets to shoot anyone who thinks coding standards should be about whether the space goes before or after that `*` when declaring a pointer, and I'm sold. :-)
Re: New IDE: code bubbles
#114Earlier quoted context omitted.
I'd like to have a dollar for every time I've seen a NullPointerException on some line that was constructed by someone who loves the list of methods that automagically pops up for the dot operator: foo.bar().baz().qux() ...Grrrrr!
If only there was some combinator for sequencing computations... then you could write: foo >>= bar >>= baz >>= quux and there would never be a NullPointerException, because the >>= function could react appropriately when null was encountered!
foo?.bar()?.baz?.quux
What other languages have this kind of shortcut?
Re: New IDE: code bubbles
#115Reminds me of Smalltalk...
Re: New IDE: code bubbles
#116Earlier 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…
Emacs can do whatever you want. If it doesn't, it can be added. In fact, Emacs is an IDE... It's just not a mouse-based IDE. Mouse clicking makes my hands hurt much faster than using the keyboard. I also find it annoying to switch from mouse keyboard, so I don't want a UI that relies on constant mousing.
Good keyboard navigation in an editor is valuable, and many IDEs have poor support for it. On this we can probably all agree.
But as I read it, the grandparent post was about functionality. Modern IDEs have a level of semantic awareness that generic editors like Emacs don't, at least not without a prohibitive amount of effort to implement it. As a text editor, Emacs is very powerful. As a code editor, it lacks support for even basic semantic analysis, which means such tricks as it does have are naive operations based on text matching. In a world where even entry-level IDEs have support for basic refactoring, auto-completion and code navigation, Emacs is the dinosaur that hasn't seen the asteroid yet: awesome raw power but completely unaware of the bigger picture.
Re: New IDE: code bubbles
#117Re: New IDE: code bubbles
#118Earlier quoted context omitted.
Emacs is a text editor in the same way the space shuttle is a vehicle.
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…
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. Can your IDE integrate with your calendar?
> Can I edit my code in emacs, have a background compiler compile the file on the fly, and also provide error feedback, hilighting the problem lines
Yes. You're looking for `flymake-mode`. Can your IDE email who created the error using version control information?
> How's emacs' refactoring support? Judging by the following stackoverflow post
Stackoverflow gives retarded answers sometimes. The next best suggestion on that page is correct. Cedet is great.
> How's Emacs' keyword completion?
It's fine. You can complete symbols sensitively, and complete filenames or email addresses from anywhere. Having multiple completion systems is very useful. How's your IDE's ability to complete those things?
> Even if you can get Vim or Emacs to do some of the above, it usually isn't as easy to use or as useful as an IDE.
You don't need to be so hostile. Emacs does these things just fine, and has for a long time. Emacs also does my time tracking, outlining, and email. Your IDE won't do any of those things, and you don't expect it to because you think those tasks are best left to other parts of your operating system.
The thing you're missing is that for Emacs users, Emacs is the operating system. I dual boot into Firefox sometimes.
Re: New IDE: code bubbles
#119Program is interconnected mutating tree. Why the hell we are looking at its latest snapshot through set of flat files showing encoded parts of these trees grouped chaotically?
On the other hand, why anyone who tries to actually show trees forces me to enter 2+(2*5) as five nodes without using my keyboard?
Re: New IDE: code bubbles
#120Earlier quoted context omitted.
Emacs can do whatever you want. If it doesn't, it can be added. In fact, Emacs is an IDE... It's just not a mouse-based IDE. Mouse clicking makes my hands hurt much faster than using the keyboard. I also find it annoying to switch from mouse keyboard, so I don't want a UI that relies on constant mousing.
Respectfully, I think you're avoiding the main point of the post to which you replied. Good keyboard navigation in an editor is valuable, and many IDEs have poor support for it. On this we can probably all agree. But as I read it, the grandparent post was about functionality. Modern IDEs have a level of semantic awareness that generic editors like Emacs don't, at least not without a prohibitive amount of effort to im…
Emacs may have a shallower understanding of languages than an IDE, but the breadth of languages it understands is pretty amazing.