|
This thread is locked; no one can reply to it. |
1
2
|
[Rant] Linux C++ IDE's suck |
OICW
Member #4,069
November 2003
|
A while ago I've ranted a bit about how the Code::Blocks suck. Well, quite frankly I have to admit that at least they seem to suck the least from all of the other IDE's I have tried for C++ development so far. At least for me. I have downloaded several of them just today and tried to import one non-trivial project (2 subprojects) of mine created in Code::Blocks. In addition I have tried to create a new project from scratch.
End of rant. Long story short, it seems that though the C::B autocompletition and whispering suck plus lots of other pet peeves. At least it doesn't get in my way and allows for great deal of customisation and flexibility. Anyway, what do you guys use for development on Linux? Any suggestions what am I doing wrong with Eclipse? [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Thomas Fjellstrom
Member #476
June 2000
|
The C++ stuff for eclipse just sucks. Have you tried creating new projects for the IDEs rather than importing? Especially with KDev. I really liked it for doing kde dev. -- |
Aikei_c
Member #14,871
January 2013
|
Linux is an IDE itself! You just need to configure it. |
Chris Katko
Member #1,881
January 2002
|
Geany. {"name":"geany.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/5\/5579a976493d0f9f5943e87ea3e26ce3.png","w":919,"h":740,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/5\/5579a976493d0f9f5943e87ea3e26ce3"} Highlighting, project support (don't know if your type is though), variable/class/etc context highlighting and completion, and a side-bar object view. -----sig: |
l j
Member #10,584
January 2009
|
I've used MonoDevelop for C++ with varying success. OICW said: Any suggestions what am I doing wrong with Eclipse? I've only used it for Java development. Having a lot of open projects in a workspace can randomly grind your computer to your halt for no apparent reason, but it does require a hell lot of projects, so I'll let that slide. Sometimes something just breaks and requires a restart (not that often but it happens). They've added a restart button in the menu bar under one of the items (or maybe that's just the adk version), which is helpful but shouldn't be something that's required in the first place. Also I've found the standard auto-completion settings get in my way most of the time instead of assist me, but that's personal preference. It always felt quite sluggish though.
|
Chris Katko
Member #1,881
January 2002
|
taron said: I've used MonoDevelop for C++ with varying success. I tried to, but it would max out CPU usage and crash every time it tried to load on my Netbook. -----sig: |
bamccaig
Member #7,536
July 2006
|
IMO, the reason that no good IDEs exist on Linux is that it is contradictory to the "UNIX philosophy" and therefore hard to do well period, let alone without major funding. It's the same reason that no good IDEs exist on any platform. For starters, GUI applications are exponentially more complicated than their command-line brethren. What might take a day to add to a command-line client is probably a week's work in a GUI, if not more. And of course, all of that extra code adds to maintenance costs too. There are always going to be bugs, and with GUI code those bugs are exponentially harder to resolve. The worst offense is that the code is tightly coupled to the IDE that it is written for. If you try to implement a feature for Code::Blocks then it can't be reused easily for Eclipse or NetBeans, etc. Part of that is short-sighted design, and part of that is GUI programming already taking enough goddamn time without adding the added complexity of abstracting things into reusable interfaces. This makes things difficult. When GUIs change they break everything because things are so tightly coupled to the GUI... Getting it right is very hard and rarely accomplished. The command-line is the most efficient, precise, and friendly user-interface. Think of a command line as another form of code. That's all it really is. It is fast and precise to command the computer with commands (both in development and use). It is slow and error-prone to command the computer with graphics (both with development and use). I think that most Linux users are more than happy on the command line. They've given it a chance, learned how much better it is, and just don't require graphical tools to get their job done. Why waste time developing exponentially more code for a worse result when they can apply their skills to something that really makes a difference? That's my personal opinion... Don't knock Vim until you've persevered. -- acc.js | al4anim - Allegro 4 Animation library | Allegro 5 VS/NuGet Guide | Allegro.cc Mockup | Allegro.cc <code> Tag | Allegro 4 Timer Example (w/ Semaphores) | Allegro 5 "Winpkg" (MSVC readme) | Bambot | Blog | C++ STL Container Flowchart | Castopulence Software | Check Return Values | Derail? | Is This A Discussion? Flow Chart | Filesystem Hierarchy Standard | Clean Code Talks - Global State and Singletons | How To Use Header Files | GNU/Linux (Debian, Fedora, Gentoo) | rot (rot13, rot47, rotN) | Streaming |
Chris Katko
Member #1,881
January 2002
|
I'd say the reason Linux IDE applications suck is because most Linux GUI applications suck. And the reason, I think, for that is that people hate writing good user interfaces and assume that "anybody can do it" in the same way that non-programmers take for granted advanced programming. The effect is further compounded by that fact that: In Windows, if the GUI sucks, nobody uses it. In Linux, if the GUI sucks, the programmers tell you you're not using it right. The whole Dwarf Fortress complex. -----sig: |
OICW
Member #4,069
November 2003
|
Thomas Fjellstrom said: Have you tried creating new projects for the IDEs rather than importing? Yep, I have tried making a new project from sources since nothing else besides C::B can open C::B project. Perhaps I was doing it wrong (TM) and perhaps that project of mine doesn't have a very good structure. Aikei_c said:
Linux is an IDE itself! You just need to configure it. Well, it's not a joke, it's entirely possible. But there's a reason I'm not using vim[1] nor esoteric desktop environments like xmonad/Awesome. I have found that I'd have to spend a unreasonably long time configuring these. Not to mention that in order to get used to them I'd have to configure them first. But here comes the Catch 22. And I don't have time to learn these things. What I'm looking for is a software that allows code editing and project management because I can't be arsed to manually track all my files outside the code editor. I also don't want to write my own makefiles as they quickly become a mess. I'll have a look at Geany, thanks Chris. I might give KDevelop one last try, but crashing on me almost after start is a way to ensure I won't use the software in the future. I know MonoDevelop, but I wouldn't use it for C++. bamccaig said: Don't knock Vim until you've persevered. I seldomly use vim, but I just don't have the time to learn it properly. I have things to do. And at work IntelliJ Idea seems to work best for Grails development (though in my opinion it's much bigger bloatware than Eclipse and Netbeans combined). Update: References
[My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Thomas Fjellstrom
Member #476
June 2000
|
OICW said: Yep, I have tried making a new project from sources since nothing else besides C::B can open C::B project. Perhaps I was doing it wrong (TM) and perhaps that project of mine doesn't have a very good structure. Ah ok. It sounded like you were trying to import the project file. If its crashing just trying to open up the files, that really sucks. I don't remember KDev crashing on opening up a regular set of files. But I have to say, KDev does some fancy magic, so its not impossible that some new language features might confuse the heck out of it. That's my guess on what it might be. Still though, that's no excuse for crashing. -- |
OICW
Member #4,069
November 2003
|
Well, I have seen something like "import project from sources" and tried that. When I tried to restart the KDev it crashed again. The third time I got some error message and no crash. But still a bad way to go. On the other hand I wasn't able to start CodeLite until I have deleted the workspace... [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Jonatan Hedborg
Member #4,886
July 2004
|
The problem with developing without a good IDE for me is the lack of context sensitive refactoring (no, SED does not count), auto-complete (that is, language aware and parsing your code to figure out what you might need), direct error feedback, and maybe most of all, a usable debugger. Oh and easy and flexible code style formatting (that does not require that you learn Yet Another DSL to configure). Linux is good for a lot of things, but it's been standing pretty much still when it comes to development environments, while the rest of the world has been racing ahead. This is because some people simply refuse to acknowledge that they might not have the optimal solution already. Really, what are the odds that the first idea was the best?
|
Thomas Fjellstrom
Member #476
June 2000
|
KDev has some powerful re-factoring. You just have to not have the version that's crashing for OICW. -- |
Slartibartfast
Member #8,789
June 2007
|
I'm using QtCreator for developing C++ on Linux, it has every feature I expect it to have and it works well. ---- |
OICW
Member #4,069
November 2003
|
Thomas Fjellstrom said: You just have to not have the version that's crashing for OICW. The version is this: oicw@apollo ~ > kdevelop --version Qt: 4.8.5 KDE Development Platform: 4.10.5 KDevelop: 4.3.1
I have just tried to create a new C++ project from template. Just as soon as I got to see the default main.cpp it crashed what baffles me is why KDevelop depends on vlc. Update: Update 2: Update 3: [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Thomas Fjellstrom
Member #476
June 2000
|
OICW said: what baffles me is why KDevelop depends on vlc. It likely uses the phonon, which depends on vlc or gstreamer. Quote: "You need a user account on the KDE bug tracking system in order to file a bug report..." - wait, what? I need what? No way in freaking hell! They got tired of all the people spamming the bug tracker. If you can't be bothered to take the step to sign up, they really don't care I'd do the same thing. I use Kate, and Konsole. It sucks that it doesn't have decent project wide auto-complete, but it does do it for symbols in a given file. -- |
OICW
Member #4,069
November 2003
|
Thomas Fjellstrom said: They got tired of all the people spamming the bug tracker. If you can't be bothered to take the step to sign up, they really don't care I don't really care either I can't be bothered to create bazillion of accounts I use only once, though I understand the reason for this decision. Sadly, this was the first time I was actually going to file a bug report (though I think I'd have gotten flamed for not using the up to date version instead of the one from repo). Thomas Fjellstrom said: I use Kate, and Konsole. It sucks that it doesn't have decent project wide auto-complete, but it does do it for symbols in a given file. I have used it in the past for small assignments. KDevelop is essentially Kate with project management (that seems utterly borked). Though I really need something that can take care of the tedious project management tasks. I hate to admit that I'm probably going ot use QtCreator after all [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Thomas Fjellstrom
Member #476
June 2000
|
KDev is far (far far) more than kate with project management. Also Kate is the only one with that fancy automagical file tree view[1]. References
-- |
OICW
Member #4,069
November 2003
|
Sure, that was gross generalisation on my side Oh, by the way I've always liked Kate sadly, I can't right now remember that tree view you're talking about Anyway, thanks for suggestions rants etc. [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
axilmar
Member #1,204
April 2001
|
The command line can be more powerful than GUIs for complex tasks, but GUIs cannot be beaten for the less complex tasks. For example, compiling a project in an IDE is as complex as pushing a button, because the IDE knows all the horrific details of calling the compiler and linker. In the command line, even typing a simple command that does everything would take more than pressing a button. Linux doesn't have a polished GUI and polished GUI applications because people that use Linux do not have an incentive to create such applications. When they have though, the results are just as good as those in Windows/Mac. |
Evert
Member #794
November 2000
|
OICW said: I seldomly use vim, but I just don't have the time to learn it properly. I have things to do. There is no obligation for you to use vim (or any other piece of software) if you don't want to. I will say this though: if I had thought "I have too much to do to learn to use vim properly" rather than "I have a lot of things to do and a deadline approaching. If I start using vim to do things I will learn to use it quickly" I would never have learned to use it. |
OICW
Member #4,069
November 2003
|
Evert said: I will say this though: if I had thought "I have too much to do to learn to use vim properly" rather than "I have a lot of things to do and a deadline approaching. If I start using vim to do things I will learn to use it quickly" I would never have learned to use it. Well, when I'm in such desperate time constraint, the last thing I want to do is to complicate the matters by learning new stuff that seems unintuitive at first glance. Though I understand the reasoning behind it. [My website][CppReference][Pixelate][Allegators worldwide][Who's online] |
Trezker
Member #1,739
December 2001
|
A comment on the linux is an IDE thing. In Haiku, there a desktop feature called stack & tile. This allows you to put different windows together either docked or stacked (tabs). I don't know if there is anything like this on Linux. |
Edgar Reynaldo
Major Reynaldo
May 2007
|
I'm sorry, but I will never be converted to using a text based and not graphical code editor. I hate text interfaces in general, and all they do is slow me down. I know, I must be the anti-floss to bamccaig but I like my GUIs. When done right, they speed up work tremendously. As for IDE's on Linux, I tried C::B and I didn't like it very much, and it takes a lot of processor time for some reason. There were menus and toolbars everywhere. Configurable I'm sure, but the defaults are horrendous. I like to have a menu and maybe one toolbar, and that's it. Get out of my way, let me have my screen space, and let me work. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
Chris Katko
Member #1,881
January 2002
|
Edgar Reynaldo said: I'm sorry, but I will never be converted to using a text based and not graphical code editor. There is zero advantage to intentionally using text mode on a graphics card. And if you're using text mode emulation in a graphics environment, you're using a GUI. Truetype font anti-aliasing doesn't occur in text-mode. Don't get me wrong, I still love the glow of edit.com's Hyper C/Pascel/whatever format. But I've yet to find a Linux text editor that comes even close. They're all covered in obscure, silly, key combinations. It's like "Yeah, you can do regular expressions while you write code! But all I care about is do you actually know how to write software?" My points seem scattered around, so I'll just say, use what you want, just don't tell me a fake text-mode editor is automatically going to give everyone better code. -----sig: |
|
1
2
|