4 ms·
I don't want an IDE. I want an IDE service. Something like GoCode for Go or Omnisharp for C#. IDE's miss the point. What a programmer edits code in becomes more
by zaphar 12y ago
I don't want an IDE. I want an IDE service. Something like GoCode for Go or Omnisharp for C#. IDE's miss the point. What a programmer edits code in becomes more and more personalized as time goes on. An IDE can never hope reach the level of customization we crave. But a service that our editor of choice can consume? That is where the future is at.
When JetBrains releases an IDE as a service then I'll be excited.
I do admit that of all the IDE's I've used IntelliJ was definitely the least annoying. But it still doesn't hold a candle to Emacs in Evil Mode for me.
- pjmlp 12y ago> IDE's miss the point. No, because IDE are more than just coding. They offer an integration of services that one usually requires in large scale projects. I want: - semantic refactoring - background compilation as I type - static analysis - integration with bug tracking software and source control - visual debugging of data structures, threads - ability to change code during debbuging sessions - navigation of binary artifacts - debugging unit tests - semantic code navigation - GUI designers - XML build tools - visual navigation of databases - UML dual way generation - ... And above all, avoid trying to make Emacs or VIM do half of these features, every time I install them.
- zarkov99 12y agozaphar's point, and I agree with him, is that most of the features you mention should be offered as services that can be used by whatever UI suits your fancy. It is a shame to have to switch to shallow editing tools to be able to benefit from all this machinery.
- pjmlp 12y agoDid you miss the visual part?
- zarkov99 12y agodid you miss the "most" part?
- pjmlp 12y agoNo I did not. A great part of an IDE worflow is the visual experience. Having some kind of service, while forcing each client application to create their own UIs, kind of beats the purpose. This is why on UNIX world the developer experience feels half-baked to those of us that could step a bit into the world as imagined by Xerox PARC.
- EpicEng 12y agoI have never, ever found the "visual experience" to be the reason that I enjoy using an IDE. Besides, even if it were, what about that procludes building a nice UI around existing modules?
- zaphar 12y agoIt's a great part of the workflow for you. For me it's constant visual interruption of flow state. Nothing about having a service prevents offering that visual experience. IntelliJ/Eclipse the IDE can still exist while consuming the same backend that my Emacs consumes. You get your visual experience that helps you achieve flow state. I get my highly configurable/optimized editor that helps me achieve flow state. win/win
- edran 12y agoEmacs AFAIK can do all those things, with different degrees of integration depending on the language. For pure C, for instance, Emacs has always been the "IDE" of choice for years in UNIX(ish) environments. Thanks to Clang C++ is now covered too. For Lisp languages there is simply no other option. Even scripting languages like Python, Perl and Ruby have all got fantastic integration, and their modes keep getting better and better because of their open source nature, adding semantic analysis and tools integration. The package manager makes it really easy to automatise installation and updates. Sure, its learning curve is unusually high and Elisp knowledge is required for some edge cases, but it's definitely worth in the medium and the long run.
- pjmlp 12y ago> Emacs AFAIK can do all those things, with different degrees of integration depending on the language. Did you miss the visual and semantic adjectives? I know UNIX since Xenix and DG-UX days, before Linux was a thing and Emacs was my editor to go up to 2005. Unless it has changed radically, no it cannot do all these features. Half of them, yes. Sure you can program them yourself, to get as end result some text interface to ELisp functions. But I no longer want to spend time doing that. > For Lisp languages there is simply no other option. Only if you don't want to pay for proper Common Lisp environments. They can do so much more.
- klibertp 12y ago> Unless it has changed radically It didn't. Emacs still tries to do most of those things and fails more often than not. I love Emacs and I use it daily, but between it's dated look, monstrous codebase, enormous feature set and limited resources dedicated to development it cannot hope to match programs written for a single purpose by a team of professionals. Still, Emacs is great editor. I'm not going to dump Org Mode, for example, and calc is great, and scripting is absolutely awesome (Emacs is also great IDE for Elisp) and so on. It's great for many things, and it's even ok for programming, but it's never going to be as good as IDEs. And IDEs are not going to have mail & newsgroup clients built into them, I suppose.
- nodivbyzero 12y agohttp://tuhdo.github.io/emacs-tutor.html http://tuhdo.github.io/emacs-tutor.html
- pjmlp 12y agoVisual, semantic, binary navigation, ... I used Emacs on my UNIX projects between 1994 and 2005.
- Jweb_Guru 12y agoYou want to send all your code over the internet for processing every time you edit a line? This is (to a much lesser extent) how Salesforce's IDE works, and it's awful in my estimation. The only reason to do it is if (again, like Salesforce) you have a proprietary platform with an automated verification process that you don't want to reval to users.
- SloopJon 12y agoZaphar obviously didn't mean a web service. Look at the READMEs for the projects he mentioned to get a sense of the architecture: something that understands the language, be it a library, a daemon, what have you; and a binding of the editor to that thing, like a plugin. Pitching a new IDE is asking a programmer to throw away years of experience in their editor of choice (mine, for better or worse, is Emacs) for some shiny feature.
- Jweb_Guru 12y agoWasn't obvious to me :) In that case, I would generally agree, and I'm not sure why that isn't the standard model (since I can't think of many IDE frontend features that don't reduce to some pretty generalizable concepts, while I can think of lots of IDE backend features that are very unique to the language in question). (I see above that people are arguing that this doesn't solve the issue of visual integration, but I don't see why separation of concerns in this way would make it harder to write a language-specific IDE--can anyone point to any examples?)
- soAsian 12y ago>I want an IDE service. That just silly.
- nileshk 12y agoJetbrains appears to be making some effort to "modularize" the IntelliJ platform. I'm not sure exactly what that entails, but they've at least gotten far enough such that they are building a web-based tool for code browsing and more [1], so it appears they've made some effort to decouple the Swing GUI from their underlying platform. I'm not sure how much of this can be seen in the open source IntelliJ Community Edition or where it stands, but maybe something similar to NRefactory (what Omnisharp uses for C# support) can be achieved. BTW I've recently tried omnisharp-emacs, but found dealing with larger C# source files was way too slow to be useful. But it's pretty great to be able to use Emacs for C# and get useful code completion, so I'll be continuing to make efforts to make this work. [1] http://blog.jetbrains.com/blog/2013/09/18/upsource-a-platform/ http://blog.jetbrains.com/blog/2013/09/18/upsource-a-platfor...
- zaphar 12y agoI'm using Omnisharp extensively but I don't have to deal with large C# files so I've not run into any issues there. I try to keep the classes and methods small and clean so I hope I continue to not run into issues there.
- swah 12y agoI'm also waiting for it: http://bsumm.net/2012/08/11/steve-yegge-and-grok.html http://bsumm.net/2012/08/11/steve-yegge-and-grok.html