You are not logged in.

#1 2005-12-26 14:03:48

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Most versatile IDE with multiple language support IYO ?

Im trying to gauge which IDE would be best for coding a variety of languages (C/C++, Python, Java...). I'd ideally like something with plugin support, so that you can extend its functionality as desired, and write your own add-ons should the need arise. It'd be great if there was inbuilt support for less common languages such as OCAML, and for more recent languages like Ruby.

I've been using a solely CLI-based setup for 6 months now, with firefox being the only gui app I've used (coding: vim, IM: centericq, IRC: weechat, Music: mpd). I converted to that setup thinking that it would boost my efficiency, since Ratpoison with GNU Screen makes every mouse action replaceable with a keyboard combo. Recently though, I've been frustrated at certain limitations of Ratpoison, and while I have gained speed with some of its features, I've lost speed with others.

The gist of this is that I'm going to go back to Openbox with the expose-like Skippy, and the Mac OS Dock-like yab (via adesklets). I'll miss the versatility of using nought but the terminal, but it sure will be a breath of fresh air to seem some aesthetically pleasing interfaces, lol big_smile

Ive looked at what IDEs are on offer, and the most interesting ones are jEdit (perhaps you'd like to convince me Dusty? tongue), Eclipse (which I've used for Java and Python, and I like it, but it's so fat! lol) and PIDA (not used and can't find screenshots - the ones on the Berlios project page for it won't display: they say I'm unauthorized for access). I'd love to hear any feedback from people who've used any of these development environments and wish to sing their praises, or point out any flaws. Similarly, it'd be great to hear of any other software that Archers have used and found to be productive. wink

Any offers?


.oO Komodo Dave Oo.

Offline

#2 2005-12-27 08:48:55

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Most versatile IDE with multiple language support IYO ?

Everyone hates vim, methinks:
[URL=http://img422.imageshack.us/my.php?image=screenshot200512270240442fo.png]screenshot200512270240442fo.th.png[/URL]

Any of the typical "must haves" of an IDE are easilly done in vim (and most are shown... I tried to get as much on there as I could...)

EDIT: when I say 'vim' I also mean gvim, if you're more comfortable with that

Offline

#3 2005-12-27 09:15:25

dust
Member
Registered: 2005-06-04
Posts: 152
Website

Re: Most versatile IDE with multiple language support IYO ?

That is fricking hot phrakture! I really need to get gvim win32 on this work pc again ,but for some reason the installer won't download from the site and I can't access .zip files due to the firewall. ggrrrr

Now I wonder if I can config vim to do those lovely thigns for me when it comes to Ruby..


Writing stories for a machine.

Offline

#4 2005-12-27 11:27:15

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

phrakture wrote:

Everyone hates vim, methinks:
[URL=http://img422.imageshack.us/my.php?image=screenshot200512270240442fo.png]screenshot200512270240442fo.th.png[/URL]

I already wrote this, but it disappeared... weird.

I don't hate Vim by any means; I think it's a very impressive piece of software, and very efficient in terms of speed. But I'm no longer of the school of thought who consider mouse-usage alone to be the most efficiest interface, or the opposing school of thought that consider just using keyboard combos is the way forward.

I used to think the latter, but after using ratpoison and CLI apps for so long, I've changed my mind. It is very fast to use the keyboard for coding - keyboard shortcuts for auto-completion, indentation etc, very handy. But what if you want to traverse a tree of modules you're working on, looking at separate, random pieces of code you've written in different files. It's a lot faster to just click on whatever module/interface/whatever you want to see the code of, rather than manually scrolling up or down said tree.

Also, for something as simple as scrolling page contents, I prefer to use a mouse. it feels more pleasant than using the keyboard, and it's faster when using the mousewheel. If there's a particular chunk of code on the page that you want to see in the centre of the window, with the keyboard you'd first use the page up/down shortcut to get near the desired area (which has a limited speed), and then you have to manually shift the page up or down by a few lines to get bang on whatever you wish to see. Using a mouse to do the same thing is much quicker. The same argument applies for copy-and-paste.

Some things in Ratpoison are very fast, like being able to launch applications via easily-customizable keyboard shortcuts. But other things, like window resizing (or rather, frame resizing in Ratpoison wink) are very slow. True, you can set pre-defined frame layouts, and also resize frames with key combos... but I hate the inflexibility of this. Frame resizing via the keyboard is so slow; it's something you could do in a second or less using a mouse; the same with moving windows around - a simple action to perform via the mouse, yet in Ratpoison moving frames around is difficult, and moving windows around involves combinations of swapping frame contents, tabbing through available windows, or looking to see what number the window you want is, and THEN switching to it by number. This is slow IMO.

Don't get me wrong, I still think Ratpoison is really good, and completely achieves what it's going for - the easy-to-use Screen-esque WM - but as I say, I just feel that a keyboard-mouse combo is the way forward.

Some people may say that it's better to use CLI-only apps for SSHing, since if you've got a low speed connection, they're the best. But most businesses, colleges, schools and homes where you work/study and need to use SSH have broadband now, so as long as you set up X forwarding, which is a simple task, then you can use your gui apps anywhere you want.

I will never dislike Vim (or Emacs for that matter; both have pros and cons), I do not consider them to be archaic or unwieldy because they're CLI apps (ignoring their X counterparts); I simply feel that a combination of their do-it-by-the-numbers keyboard combos with the flexible-as-a-yoga-teacher mouse is an all-round safer (and faster) bet.

Anyway, I don't want to go too far off topic - I'm just trying to explain why I wish to return to gui-land after being in cli-territory for so long. I'd be grateful if people would mostly ignore this post, and respond to my first post by sharing information and opinions on other IDEs (although I welcome your opinions on what I've just said, Phrakture, since you're the longest Ratpoison/Screen user I know of, and it's clearly worked for you wink).

I'd really like to hear from Dusty, if he reads this... I know he's working on Magnum (I *think*, anyway) and uses or did use JEdit, so I'd like to hear what he likes about them compared to vim etc.

Anyone who's got an IDE suggestion or opinion is most welcome to respond  smile


.oO Komodo Dave Oo.

Offline

#5 2005-12-27 11:31:53

dust
Member
Registered: 2005-06-04
Posts: 152
Website

Re: Most versatile IDE with multiple language support IYO ?

Have you looked into pluggins to give vim those things that you crave? Folds work using double or single click on gvim, aswell as most other code traversing enhancements.


Writing stories for a machine.

Offline

#6 2005-12-27 12:12:31

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

dust wrote:

Have you looked into pluggins to give vim those things that you crave? Folds work using double or single click on gvim, aswell as most other code traversing enhancements.

I have amassed a rather hefty collection of vim plugins dust; I appreciate you pointing out their usefulness though. I'd still like to know of other extensible IDEs:I am unimpressed by the syntax of vim.rc; I also would rather use something capable of syntax highlighting rather than alphabetical completion using dictionary files, as Vim does  wink


.oO Komodo Dave Oo.

Offline

#7 2005-12-27 16:42:44

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Most versatile IDE with multiple language support IYO ?

dust wrote:

Now I wonder if I can config vim to do those lovely thigns for me when it comes to Ruby..

Yes, taglist, on the right, works with anything ctags supports.  I think you have to configure it properly though.  I don't use ruby enough to know what's required, but seeing as taglist is the single most popular vim plugin by leaps and bounds, I'd assume the defaults work well (they do for python).

As for the popup completion, right now, you need custom completion functions (:h 'omnifunc'), and I don't know of a real good one for Ruby.  The C/C++ completion here is handled by IComplete, in [community]

Offline

#8 2005-12-28 03:19:55

deficite
Member
From: Augusta, GA
Registered: 2005-06-02
Posts: 693

Re: Most versatile IDE with multiple language support IYO ?

Kate can be configured into a pretty powerful environment for any language.

Offline

#9 2005-12-28 05:45:21

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: Most versatile IDE with multiple language support IYO ?

I'll agree there, Kate is good, vim is good.

Some of the problems you mention earlier were indeed due to ratpoison, maybe you should give ion3 a try, it's got the same concept as ratpoison, but much more versatile, and can be mouse friendly if you should so much desire that.

iphitus

Offline

#10 2005-12-28 12:02:49

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

iphitus wrote:

maybe you should give ion3 a try

The old Ratpoison vs WMII vs Ion3 debate...

I might give it a whirl, I dunno man. What's the support for multi-window apps such as The GIMP like in Ion3? I think I've seen a vid of it working fine in it, altho that might've been WMII...


.oO Komodo Dave Oo.

Offline

#11 2005-12-28 12:31:52

iphitus
Forum Fellow
From: Melbourne, Australia
Registered: 2004-10-09
Posts: 4,927

Re: Most versatile IDE with multiple language support IYO ?

Komodo wrote:
iphitus wrote:

maybe you should give ion3 a try

The old Ratpoison vs WMII vs Ion3 debate...

I might give it a whirl, I dunno man. What's the support for multi-window apps such as The GIMP like in Ion3? I think I've seen a vid of it working fine in it, altho that might've been WMII...

ion3 can combine tiled and floating windows, either on different workspaces, or the same one. Or you can use the cool panews stuff which you would have seen the video of.

I definitely do not want to incite a debate, I just mentioned that ion3 solves some of the issues you have had with ratpoison, which may make it more suitable - not to say that it was better.

Offline

#12 2005-12-28 13:37:59

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

iphitus wrote:

I definitely do not want to incite a debate, I just mentioned that ion3 solves some of the issues you have had with ratpoison, which may make it more suitable - not to say that it was better.

I know, I just meant that it's always a question of waying up the pros and cons of those 3 WMs, since they're so similar.


.oO Komodo Dave Oo.

Offline

#13 2005-12-29 11:42:27

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

Has no-one else got a suggestion? Are there not any JEdit or Magnum users out there?

Dusty, where are you dammit...  :evil:


.oO Komodo Dave Oo.

Offline

#14 2005-12-29 12:47:08

T-Dawg
Forum Fellow
From: Charlotte, NC
Registered: 2005-01-29
Posts: 2,736

Re: Most versatile IDE with multiple language support IYO ?

Komodo wrote:

Has no-one else got a suggestion? Are there not any JEdit or Magnum users out there?

Dusty, where are you dammit...  :evil:

I've used jedit about 2 times because of its good color highlighting for python. I tried eric yesterday and hated it -way too much crap going on for me. I normally just use good old fashioned vim   8)

Offline

#15 2005-12-29 15:35:40

arooaroo
Member
From: London, UK
Registered: 2005-01-13
Posts: 1,268
Website

Re: Most versatile IDE with multiple language support IYO ?

Too be honest, I've found this thread to be more about advocating text editors rather than IDEs, as requested by the OP.

Of course, it could depend on your definition of IDE, but I tend to think of it as a 'one-stop-shop' for your development needs (for a given language). So, it's you're editor, plus, project management features, debugger, compiler, SCM, documentation, etc.

Now, I'm not saying that text editors can't be made into IDEs - I recall Phrak's excellent blog post about all the vim plugins you can add to make it a more comprehensive IDE. And I think it's a similar story with jEdit. However, out of the box, I wonder whether you can call some of these editors IDEs? (I'd probably concede that Vim and Emacs are).

Offline

#16 2005-12-29 16:30:09

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

arooaroo wrote:

Too be honest, I've found this thread to be more about advocating text editors rather than IDEs, as requested by the OP.

Thanks arooaroo; I do ideally want an IDE, something that makes it as easy as possible (for the sake of speed) to debug and compile your program as well as edit its code.


.oO Komodo Dave Oo.

Offline

#17 2005-12-29 16:31:00

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Most versatile IDE with multiple language support IYO ?

arooaroo wrote:

Too be honest, I've found this thread to be more about advocating text editors rather than IDEs, as requested by the OP.

Well, technically, vim is an IDE when it needs to be.  Check out help topics for 'makeprg' and 'errfmt' - vim knows, internally, how to build/compile a file and also how to display errors when doing so.

Beyond that, and IDE is typically the paradigm of file browser, code editor, and tag list (classes, functions, etc etc, I'm just saying 'tag' to be generic):

Via vim plugins you can complete the full paradigm (you can also vsplit a window and ':e /some/dir/' - vim can 'edit' directories too)

Offline

#18 2005-12-29 16:42:26

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

phrakture wrote:

Well, technically, vim is an IDE when it needs to be.  Check out help topics for 'makeprg' and 'errfmt' - vim knows, internally, how to build/compile a file and also how to display errors when doing so.

*sigh* I have a gut feeling that I'm going to end up going back to vim... I'm reluctant to though, yet I'm not entirely sure why.

Maybe if I spend yet more time studying up on the more advanced features of vim, I'll fall in love with it again. Is the documentation on the official site fairly approachable? I guess I ought to learn how to code properly for vimrc, rather than just fattening it up with tips from www.vim.org,  and then I can make vim my own... my... PRRRESSSHHHUSSS tongue

Why haven't they got syntax completion though? I can't believe no-one's written something to do it... it's just too easy to use the dictionary files, isn't it sad . Plus every language will have to have separate code for syntax completion, whereas code for looking a dictionary file can be generalised for any language.


.oO Komodo Dave Oo.

Offline

#19 2005-12-29 16:48:39

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: Most versatile IDE with multiple language support IYO ?

I used eclipse for a long time. Mostly when I did java in school--lots of java sad

It works great for java. I would venture to say it is likely the best java IDE out there. If you do java..then it is the "bee's knees". It is heavyweight, but java is anyway. *shrug*

I found eclipse to *not* work very well with other languages, however. There are other plugins for other languages, but I never had much luck with them (debugger didn't work, shady code completion/highlighting, etc).

I moved to just using a text editor. I ended up on kate. I really love(d) kate. In fact..kate kept me using kde for a while. I hated most everything about kde, except for kate. I would probably *still* be using kate today, if it was a standalone editor that didn't require kde libs to use. Alas..

Then I moved to vim. I use it more as just a text editor as well. Sure, it can do lots more than I have it do (see phrakture), but my knowledge level with vim is probably somewhere around the 'intermediate' level.

I do, in fact, use it through ssh alot, since you mentioned it. I can use it through putty, whereas X forwarding to a windows box is a real pain (I have set it up before with cygwinX and putty forwarding).. a real pain. Not to mention.. most of my servers have no X installed/running. wink

These days, I ascribe to the school of thought that when you do programming, you should focus on one code editor. One that you know well, and can utilize quickly. Having a different editor/ide for each language you use, will slow you down in the long run. A pragmatic approach (thank you "pragmatic programmers"--I agree with many portions of that book). So the key is to indeed find one that you like, that works well with the languages you use, and is inline with your usage scenarios (ie. ssh alot, super powerful workstation alot, same OS/different OS's, etc).

I am always looking for a better text editor, for my needs. I have moved away from a bundled IDE approach, because I feel it is inflexible for my needs. If the debugger sucks, then I end up using two tools anyway. You get the idea..

Still...I am reading this thread with much interest.
smile

who knows...


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#20 2005-12-29 17:04:07

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Most versatile IDE with multiple language support IYO ?

The thing with code completion is that many people disagree with it.  Yes, it's nice to complete long words just to prevent you from typing (vim does this via C-p and C-n), but the whole context sensitive thing, to alot of people, is a lazy tool, which allows people not to learn the api's they're using and just hit buttons - "Hmmm do_abd_and_xyz, this sounds like the function I need...".

Admittedlty, IComplete does this for C++ - right now the guy who makes IComplete is very busy, as am I, so my contributions are limited to minor patches here and there.  Feel free to contribute to IComplete, as it has the potential to work for other languages beyond C/C++.

Offline

#21 2005-12-29 17:14:47

phrakture
Arch Overlord
From: behind you
Registered: 2003-10-29
Posts: 7,879
Website

Re: Most versatile IDE with multiple language support IYO ?

cactus wrote:

I moved to just using a text editor.

This is one thing that I never understand... how people differentiate 'IDE' and 'text editor'.  There is no difference.  In fact, full on 'IDE's which integrate things are almost against some core unix philosophies.

Think about it this way - what's the difference between clicking "Some Tools Menu -> Compile -> Debug Version" or typing "make debug" in a terminal?  Not much really.  In fact, they probalby do the exact same thing for you?  How about running - "Some Tools Menu -> Run" vs "./myapp" ?  Not much difference.

Any "programmer's editor" can bind these things to keys, the only thing a full on ide does any different is autogenerate the Makefile for you - and autotools can do that (but I hate them, so write makefiles by hand whereever possible).

I really don't get what makes an IDE anything special.

Offline

#22 2005-12-29 17:32:30

SleepyDog
Member
Registered: 2004-10-15
Posts: 114

Re: Most versatile IDE with multiple language support IYO ?

Isn't unix supposed to be an IDE?

Offline

#23 2005-12-29 17:40:04

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: Most versatile IDE with multiple language support IYO ?

phrakture wrote:

This is one thing that I never understand... how people differentiate 'IDE' and 'text editor'.

phrakture wrote:

Think about it this way - what's the difference between clicking "Some Tools Menu -> Compile -> Debug Version" or typing "make debug" in a terminal?  Not much really.  In fact, they probalby do the exact same thing for you?  How about running - "Some Tools Menu -> Run" vs "./myapp" ?  Not much difference.

You answered yourself phakture. That is exactly what differentiates and ide. You can access things "inside" the interface.

I agree that it is against certain philosophies and schools of thought. But others adhere to the "put all the tools you need to use to do your job into one toolbox" philosophy too. Pick your philosophy..

I ascribe to the "do one thing and do it well" school of thought. Text editor for editing my code text, and debugger for my debugging.


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#24 2005-12-29 18:38:31

Mr Green
Forum Fellow
From: U.K.
Registered: 2003-12-21
Posts: 5,893
Website

Re: Most versatile IDE with multiple language support IYO ?

I use magnum


Mr Green

Offline

#25 2005-12-29 18:49:14

Komodo
Member
From: Oxford, UK
Registered: 2005-11-03
Posts: 674

Re: Most versatile IDE with multiple language support IYO ?

Mr Green wrote:

I use magnum

Most... detailed... post... ever.

tongue

Seriously though Mr Green, would you care to tell us why you like it? Pros and cons?


.oO Komodo Dave Oo.

Offline

Board footer

Powered by FluxBB