• Welcome to Valhalla Legends Archive.
 

A good IDE that runs on Linux?

Started by Yoni, September 02, 2005, 10:38 AM

Previous topic - Next topic

Yoni

Insight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?

nslay

Quote from: Kp on September 04, 2005, 08:44 PM
Quote from: nslay on September 04, 2005, 06:29 PMmemory leak testing tools

I'd like to take this opportunity to recommend Valgrind to those who haven't used it.  Its memory checking facilities can make debugging much easier (if you're willing to wait as it runs!).

KDevelop uses already existing tools and that includes valgrind.

Kp

Quote from: Yoni on September 04, 2005, 10:45 PMInsight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?

Well, if you're going to use anything designed for KDE, you're going to be stuck with having a K at the front of the name, and quite a bit of bloat too. :)  Even worse, though KDE-tied apps can be run under other window managers, they have (or at least had) a nasty tendency to try to start large parts of KDE, ignoring that I only wanted one program!

Why are you so determined to get an IDE?  The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there.  With a well configured X11 window manager, there's really no need to integrate development into a single process.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

nslay

Quote from: Kp on September 05, 2005, 11:29 AM
Quote from: Yoni on September 04, 2005, 10:45 PMInsight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?

Well, if you're going to use anything designed for KDE, you're going to be stuck with having a K at the front of the name, and quite a bit of bloat too. :)  Even worse, though KDE-tied apps can be run under other window managers, they have (or at least had) a nasty tendency to try to start large parts of KDE, ignoring that I only wanted one program!

Why are you so determined to get an IDE?  The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there.  With a well configured X11 window manager, there's really no need to integrate development into a single process.

Bloat?  It only looks bloaty (and even thats tunable!).

Yoni

Quote from: Kp on September 05, 2005, 11:29 AM
Why are you so determined to get an IDE? The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there. With a well configured X11 window manager, there's really no need to integrate development into a single process.
Because whenever I debug, I feel totally blind.
When I debug with ddd, I feel only half-blind. But I don't like ddd much.

Do you have another solution to this problem?

Kp

#20
Quote from: nslay on September 05, 2005, 09:00 AM
Quote from: Kp on September 04, 2005, 08:44 PM
Quote from: nslay on September 04, 2005, 06:29 PMmemory leak testing tools
I'd like to take this opportunity to recommend Valgrind to those who haven't used it.  Its memory checking facilities can make debugging much easier (if you're willing to wait as it runs!).
KDevelop uses already existing tools and that includes valgrind.
That's a rather refreshing change.  For a while, the KDE folks had a bad habit of trying to roll their own versions of perfectly good tools, which is why we have a KDE screensaver wrapper  that's so badly inferior to XScreenSaver's configurator (as noted in the XScreenSaver FAQ). :)

Quote from: nslay on September 05, 2005, 12:38 PMBloat?  It only looks bloaty (and even thats tunable!).
Has it improved greatly since KDE3, then?  When I last used it, KDE took significantly longer to load than fvwm.  Worse, the system actually used its swapspace on occasion.  Under fvwm, I regularly run upwards of a dozen xterms and various other applications, but it's been months since I had any programs swap out on me.  I liked some of KDE's ideas (in particular, tabbed Konsole was nice), but it was too inefficient for my tastes.

Quote from: Yoni on September 05, 2005, 02:01 PM
Quote from: Kp on September 05, 2005, 11:29 AMWhy are you so determined to get an IDE? The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there. With a well configured X11 window manager, there's really no need to integrate development into a single process.
Because whenever I debug, I feel totally blind.
When I debug with ddd, I feel only half-blind. But I don't like ddd much.

Do you have another solution to this problem?
Learn the debugger better?  I don't mean that to sound insulting, but gdb is a very powerful and rather arcane debugger.  Once you get used to using it, it's quite functional.  Some tips to get you started:

Form is windbg => gdb; these are from memory.

  • bp => breal
  • bl => info break
  • bc => del
  • bd => disable
  • be => enable
  • db, dw, dd, dq, da, du => x/FMT, where FMT specifies how you want it shown
  • eb, ew, ed, eq ADDR VAL => set {TYPE}ADDR VAL, where TYPE is char, short, int, etc.  The braces are mandatory.
  • r REG=VAL => set $REG=VAL

Machine registers are available under the names $reg, e.g. $eax, $ebx, $eip.  As with windbg, you can do things like "read eax and show me the value of the memory at the resulting address" by doing x/b $eax.  See gdb's built-in help command for more information.  In particular, "help x" is worth reading.

[Edit: added more spacing to make the message easier to read.]
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Yoni

How about using F7 to step into and F8 to step over (F10/F11 also welcome), and having the value of a variable show in a tooltip when I leave my mouse pointer over it?

(Possibly KDevelop has this, I haven't checked yet.)

Kp

Quote from: Yoni on September 05, 2005, 03:27 PMHow about using F7 to step into and F8 to step over (F10/F11 also welcome), and having the value of a variable show in a tooltip when I leave my mouse pointer over it?

Use s and n (step and next, respectively).  If you enter an empty command, the last command is repeated (same as windbg), so you only need to type it out once.  Then just keep hitting enter.  gdb is traditionally command-line driven, so there's no equivalent for printing the value via mouse.  However, I've never missed that functionality.  Of course, I don't use long/annoying variable names, so "p VAR" is no big deal to me. :)
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Yoni

Quote from: Kp on September 05, 2005, 03:58 PM
gdb is traditionally command-line driven, so there's no equivalent for printing the value via mouse.
Exactly the problem. The debugger HAS to be GUI. That's what I meant by being blind.

Anyway, I'm not going to talk about this more before trying some environments which won't happen before the weekend, as it seems.

nslay

#24
Quote
Has it improved greatly since KDE3, then?  When I last used it, KDE took significantly longer to load than fvwm.  Worse, the system actually used its swapspace on occasion.  Under fvwm, I regularly run upwards of a dozen xterms and various other applications, but it's been months since I had any programs swap out on me.  I liked some of KDE's ideas (in particular, tabbed Konsole was nice), but it was too inefficient for my tastes.

Well, first of all, we should distinguish that fvwm is a Window Manager (WM) and is designed to be minimalistic.  Of course it will use less memory, a WM can be as much as a few hundred kilobytes.  A WM decorates your window and sometimes provides you with a task organizer, it also might offer rudimentry configurations.  A Desktop Environment (DE) is a WM that offers all possible utilities that are commonly used, a DE is also responsible for file management and browsing, as well as task organization and application integration.  DE's are generally easier to configure than WM's.  fvwm is a Window Manager and therefore in its minimalistic nature, requires very little space and memory to run, but its also a hassle to find the commonly used utilities such as viewers and file managers while KDE is a DE, requires a little more memory, it runs a few extra services in the background and provides you with all the utilities you might need. 

I have a Thinkpad T40 Laptop with 512 MB ram and 1 GB swap...I've never used swap.  I never use more than 75% of my ram when running KDE even under heavy use (with tens of firefox browsers open, X-Chat, Gaim, xmms and so forth...or even under heavy compilation).  If you ask me, the application that eats the most memory is the X server.  I use a ported version of KDE for FreeBSD so this might differ as well.  Keep in mind though, I have an advantage with virtual memory over Linux.

KDE uses already existing tools for many things, consider, for example, the KDE print manager uses CUPS or LPD.  The premier integrated movie media viewer Kmplayer uses mplayer.  The Krdesktop uses rdesktop.  As I understand it, Konsole uses xterm, at least on the code level.
KDE also has their own versions of applications.  They have Konqueror, which is the best file manager I've ever used...it sucks for browsing the internet, though, because it lacks a popup blocker and its missing some standards.  KDevelop is also a very good IDE and is comparable to Visual Studio...

If you would like to use a DE, examine other possibilities here
http://www.xwinman.org/

Kp

Quote from: nslay on September 05, 2005, 06:14 PMWell, first of all, we should distinguish that fvwm is a Window Manager (WM) and is designed to be minimalistic.  Of course it will use less memory, a WM can be as much as a few hundred kilobytes.  A WM decorates your window and sometimes provides you with a task organizer, it also might offer rudimentry configurations.  A Desktop Environment (DE) is a WM that offers all possible utilities that are commonly used, a DE is also responsible for file management and browsing, as well as task organization and application integration.  DE's are generally easier to configure than WM's.  fvwm is a Window Manager and therefore in its minimalistic nature, requires very little space and memory to run, but its also a hassle to find the commonly used utilities such as viewers and file managers while KDE is a DE, requires a little more memory, it runs a few extra services in the background and provides you with all the utilities you might need.

I was imprecise in my prior post.  I should have stated that I was including in my figures the supporting functionality outside fvwm's main binary, for instance the pager and drop-open window list.  I've not had to search for any particular supporting utilities, though.  The default install already had word processing, a C compiler, image viewing, ftp/http/https/pop3/imap support, etc.  None of them are integrated with the desktop, nor do I find that to be a defect.  As for file managers - I've never been fond of graphical file maintenance.  I very much prefer using the command line, in conjunction with appropriate scripting.

Quote from: nslay on September 05, 2005, 06:14 PMI have a Thinkpad T40 Laptop with 512 MB ram and 1 GB swap...I've never used swap.  I never use more than 75% of my ram when running KDE even under heavy use (with tens of firefox browsers open, X-Chat, Gaim, xmms and so forth...or even under heavy compilation).  If you ask me, the application that eats the most memory is the X server.

I'll grant that the X server uses a fair amount of memory, but KDE's default configuration tended to match X memory usage at startup, and grow from there.

Quote from: nslay on September 05, 2005, 06:14 PMKeep in mind though, I have an advantage with virtual memory over Linux.

What do you mean by this?

Quote from: nslay on September 05, 2005, 06:14 PMAs I understand it, Konsole uses xterm, at least on the code level.

From reading the Konsole documentation, I was under the impression that Konsole shared no common code with xterm.

Quote from: nslay on September 05, 2005, 06:14 PMIf you would like to use a DE, examine other possibilities here
http://www.xwinman.org/

I'm quite happy with the minimalist design that I have currently. :)
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Adron

I too feel half-blind when using gdb. It is powerful, but it does not use my screen efficiently. With a GUI debugger, I am able to lay out memory dumps, local variable listings, watches, etc, at fixed locations on my screen and then have those update in real time as I step through the program, or every time I hit a breakpoint.

That means one keypress to update them all, and they will be in a fixed location, making it easier for the eye to spot any changes that I am interested in.

Do you not miss that kind of functionality, Kp?

Eric

Quote from: Yegg on September 02, 2005, 08:02 PM
So if you tried using WINE I assume Microsoft Visual C++ (or someother IDE for Visual C++) will function properly on a Linux environment?

Yes, but it'll compile for the Windows platform.

Kp

Quote from: Adron on September 06, 2005, 12:29 AMDo you not miss that kind of functionality, Kp?

No, I don't.  I spend too much time working on systems which lack GUI debuggers to get used to it, so now I just go command-line only whether I'm in windbg, gdb, ntsd, or any other debugger.  Upshot is I switch syntaxes quickly now.
[19:20:23] (BotNet) <[vL]Kp> Any idiot can make a bot with CSB, and many do!

Yoni

Quote from: Adron on September 06, 2005, 12:29 AM
I too feel half-blind when using gdb. It is powerful, but it does not use my screen efficiently. With a GUI debugger, I am able to lay out memory dumps, local variable listings, watches, etc, at fixed locations on my screen and then have those update in real time as I step through the program, or every time I hit a breakpoint.

That means one keypress to update them all, and they will be in a fixed location, making it easier for the eye to spot any changes that I am interested in.

Do you not miss that kind of functionality, Kp?
Yes, that's exactly what I meant.

Quote from: Kp on September 06, 2005, 08:05 PM
No, I don't. I spend too much time working on systems which lack GUI debuggers to get used to it, so now I just go command-line only whether I'm in windbg, gdb, ntsd, or any other debugger. Upshot is I switch syntaxes quickly now.
That's a bad excuse. There has to be a good GUI debugger on any system that more than 1000 people use.

|