Linux IDE's suck!!
Linux IDE's suck!!
i dunno whether it's my distro, my machine, or what; but I hate how most IDE's for linux for c++ either
a) suck
or
b) don't work "out of the box" as it were
none of them can touch Visual studio, dev-c++, or even code::blocks for windows. I just wish once you installed the RPM or the DEB package that wham, there it is, it works. But it never seems to be that easy. either G++ won't play nice, or the IDE can't compile even a hello world without mucking around trying to fix environment vars for hours to get includes right...etc.
WHY WHY WHY do so many linux devs think it's so "1337" to waste time writing makefiles instead of using an IDE??? makefiles suck.
grrrr......
</rant>
a) suck
or
b) don't work "out of the box" as it were
none of them can touch Visual studio, dev-c++, or even code::blocks for windows. I just wish once you installed the RPM or the DEB package that wham, there it is, it works. But it never seems to be that easy. either G++ won't play nice, or the IDE can't compile even a hello world without mucking around trying to fix environment vars for hours to get includes right...etc.
WHY WHY WHY do so many linux devs think it's so "1337" to waste time writing makefiles instead of using an IDE??? makefiles suck.
grrrr......
</rant>
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
-
- Posts: 1029
- Joined: Thu Apr 06, 2006 12:45 am
- Location: Tennesee, USA
- Contact:
Which distro are you using? I would recommend a nightly build of code::blocks if it's available for your distro. I'm using that since more than a year and it just works the same on windows and linux.
The reason why many programmers like makefiles is that they are a lot more flexible than any IDE ;-) I've used the code::blocks build system for my current project, but i will definitly switch to make or a similar buildsystem in my next game. The reason is that i have a rather complex system to create releases by now. I copy stuff around, do some automated checks, etc. I can automize most of that stuff - but it's really hard to incooperate an IDE in my scripts. So that means basicly that i have to flip some compileswitches and set release defines by hand.
The reason why many programmers like makefiles is that they are a lot more flexible than any IDE ;-) I've used the code::blocks build system for my current project, but i will definitly switch to make or a similar buildsystem in my next game. The reason is that i have a rather complex system to create releases by now. I copy stuff around, do some automated checks, etc. I can automize most of that stuff - but it's really hard to incooperate an IDE in my scripts. So that means basicly that i have to flip some compileswitches and set release defines by hand.
code::blocks, linux, etc...
yeh im pretty sure that was what niko ended up doing too, and I tried as well.
I run ubuntu 6.06 on my linux box, since for some reason 6.10 would not install. I used to be really into fedora/redhat, but I hated the manual rpm system back when i used it. I hear they use yum now, but i tried that too and was not so impressed.
I tried debian for a while, but it just requires so much tweaking to get usable as a desktop box.
Ubuntu is the most impressive distro ive found so far, uses the good apt update system, but still, a lot of stuff just WILL NOT RUN. monodevelop just crashes on me all the freaking time. I spent hours trying to get a code::blocks nightly working on my box, and finally just gave up. Kdevelop wont compile bupkis, neither will anjuta. I dont have the patience to keep messing with it, since i have a perfectly operable dev system on my windows boxen. It's just so much easier. I just install it and it works.
I really wish ubuntu or code::blocks or whatever would make a fully packaged fully working install package that would install as simply and cleanly as on windows. I want to write freaking code, not dig around trying to manually update so files and scrounge for dependencies to fix their busted packages.
now my ubuntu box just sits there and idles, since i cant get anything useful done with it without lots of pain. don't get me wrong, if i were running a server of any kind it would still be a linux box, but as a desktop for everyday use, even ubuntu just is NOT ready yet.
I've used linux since 1998, I was a network admin for 3 years, running 8 linux servers of various flavors, i'm no genius, but i do know my way around linux to a degree. I would think if this damn thing were any kind of usable I should be able to get it going but it's just too frustrating that it's not worth it.
Till something really changes, it will be windows on the desktop, and linux on the server.
I run ubuntu 6.06 on my linux box, since for some reason 6.10 would not install. I used to be really into fedora/redhat, but I hated the manual rpm system back when i used it. I hear they use yum now, but i tried that too and was not so impressed.
I tried debian for a while, but it just requires so much tweaking to get usable as a desktop box.
Ubuntu is the most impressive distro ive found so far, uses the good apt update system, but still, a lot of stuff just WILL NOT RUN. monodevelop just crashes on me all the freaking time. I spent hours trying to get a code::blocks nightly working on my box, and finally just gave up. Kdevelop wont compile bupkis, neither will anjuta. I dont have the patience to keep messing with it, since i have a perfectly operable dev system on my windows boxen. It's just so much easier. I just install it and it works.
I really wish ubuntu or code::blocks or whatever would make a fully packaged fully working install package that would install as simply and cleanly as on windows. I want to write freaking code, not dig around trying to manually update so files and scrounge for dependencies to fix their busted packages.
now my ubuntu box just sits there and idles, since i cant get anything useful done with it without lots of pain. don't get me wrong, if i were running a server of any kind it would still be a linux box, but as a desktop for everyday use, even ubuntu just is NOT ready yet.
I've used linux since 1998, I was a network admin for 3 years, running 8 linux servers of various flavors, i'm no genius, but i do know my way around linux to a degree. I would think if this damn thing were any kind of usable I should be able to get it going but it's just too frustrating that it's not worth it.
Till something really changes, it will be windows on the desktop, and linux on the server.
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
We are developing 100s kLOC applications under Linux completely without IDEs. Only thing you need is a good editor (vim or if you really want emacs ) and make. The only GUI tool I found useful for development is the graphical gdb interface ddd for huge C++ projects. Otherwise the gdb shell is enough. And valgrind is *THE* tool for mem leak checking. I just recently switched to the latest version and it's mind-blowing.
So just invest some time and learn make, it's also available on windows systems. Using gnumake you can really do astonishing things even without additional shell tools.
So just invest some time and learn make, it's also available on windows systems. Using gnumake you can really do astonishing things even without additional shell tools.
buhatkj: Well, that sounds like bad luck. I thought code::blocks does deliver ready .deb packages for ubuntu. I didn't know those don't work. Maybe just ask them in the forum. They are very helpful guys who mostly answer within a day if you tell them about problems.
Btw. - i'm using linux on desktop for a few years now. It's certainly very different from windows (i don't say better or worse - it's that comparing apples with oranges thing), but by now i prefer working on it a lot. I guess every system has it's good points and it's quirks. Just don't expect them to be the same. I guess IDE's on linux are somewhat seen as a starthelp for people coming new from the windows world ;-)
Btw. - i'm using linux on desktop for a few years now. It's certainly very different from windows (i don't say better or worse - it's that comparing apples with oranges thing), but by now i prefer working on it a lot. I guess every system has it's good points and it's quirks. Just don't expect them to be the same. I guess IDE's on linux are somewhat seen as a starthelp for people coming new from the windows world ;-)
As was seen in my post about Linux, I had nothing but problems with Suse and Ubuntu. I couldn't get a single IDE to work in Ubuntu. I agree with Monkeycracks, just use Windows, Linux is pointless and a waste of time.
Last edited by Spintz on Sun Mar 04, 2007 2:38 pm, edited 1 time in total.
AHhhh,I get it now. Believe it or not, I use Linux for many things at work. Linux has the best proxy software available( Squid ) and there are many other uses it can be good for. 3D, in my experience, is by far not it's strongpoint. Not being Linux's fault directly, the driver support from Nvidia and ATI is just not good.
So contrary to this communities belief, or rather some of the community here, I'm not sour at all about Linux. Just that it is too unreliable at the moment for 3D to be of use.
So, when I say, use Windows, here on this forum, the context is directly related to 3D. I get it that people do have success with Linux and 3D, but it's too hit or miss for me at the moment to try and support it.
I guess I can be sour though, towards the Linux fanboys, that take it as a personal insult, like I just degraded their mom or something, when a negative comment is made about Linux, or when someone praises Windows for what it's good for.
It's ridiculous to be close minded as a software developer, to think that any OS is perfect, be it Linux, Windows or whatever. If you don't like my opinions or posts, ignore them.
So contrary to this communities belief, or rather some of the community here, I'm not sour at all about Linux. Just that it is too unreliable at the moment for 3D to be of use.
So, when I say, use Windows, here on this forum, the context is directly related to 3D. I get it that people do have success with Linux and 3D, but it's too hit or miss for me at the moment to try and support it.
I guess I can be sour though, towards the Linux fanboys, that take it as a personal insult, like I just degraded their mom or something, when a negative comment is made about Linux, or when someone praises Windows for what it's good for.
It's ridiculous to be close minded as a software developer, to think that any OS is perfect, be it Linux, Windows or whatever. If you don't like my opinions or posts, ignore them.
Last edited by Spintz on Sun Mar 04, 2007 2:37 pm, edited 1 time in total.
make
well hybrid, I really gotta disagree about make, I think it's crap.
Ok lemme back that up some, here is a makefile we are all familiar with from the irrlicht hello world example
see that long stupid list of command line params? this thing is a little-diaguised shell script basically, for calling g++ from the command line. now my particular problem on my ubuntu box mostly are due to the fact that g++ itself is freaking broken, but still, this is not how I'd prefer to manage my includes or build process. I much prefer a gui that makes it easier to set compile options, include directories, link libs, etc. than either try (and fail) to remember what all those params mean, or dig around in man files to figure them out. basically the gui saves me time, and I like that. On windows, dev-c++ for example makes setting up and compiling a program with g++ simple as pie...why can't it be that way under linux?
now i have tried to understand automake, but honestly it didnt seem like much of an improvement.
like i say, could be bad luck, could be im just an impatient guy, but I think this could be better.
also, spintz raises a good point about the driver support. it would be really nice if ATI/NVIdia would get off their butts and just REALLY open source the drivers for linux already.
Ok lemme back that up some, here is a makefile we are all familiar with from the irrlicht hello world example
Code: Select all
CPP = g++
OPTS = -I"../../include" -I"/usr/X11R6/include" -L"/usr/X11R6/lib" -L"../../lib/Linux" -lIrrlicht -lGL -lGLU -lXxf86vm -lXext -lX11
all:
$(CPP) main.cpp -o example $(OPTS)
clean:
rm example
now i have tried to understand automake, but honestly it didnt seem like much of an improvement.
like i say, could be bad luck, could be im just an impatient guy, but I think this could be better.
also, spintz raises a good point about the driver support. it would be really nice if ATI/NVIdia would get off their butts and just REALLY open source the drivers for linux already.
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Well, the Makefile from the examples is very simple and completely against all Makefile rules. Have a look at the main Irrlicht Makefile, it's slightly better. But there are several things which could be done even easier, i.e. additional debug targets etc.
The use of command line parameters or dialog boxes is just a matter of being used to one or the other. It took me several days to figure out which check boxes make my projects compile under VisualC++ because there had been some incompatible settings in the required libs. Since the compiler already told me that I should use some switch I knew what to add, but I could not add the parameter, just had to find a check box which would do it for me. That's what I call stupid. And before someone wants to tell me that I can append parameters in the additional parameters box: No, not those which the GUI knows about
So what is the difference between adding a directory in either "Include dir" or "Library dir" or "Object dir" in some IDE compared to adding the same name to one of the variables? If you want to avoid the -I or -L in front you can use the gmake string functions, but the average gcc user knows about all this already.
BTW: I remember some posting from me several month ago I wrote about a competition between the IDE build process setup and Makefiles. I will have to think about the actual job, but I'm pretty sure that you cannot do many things with the dialogs which Makefiles can easily do. And I did not specify artificial jobs those days.
So the final point: Why in the world do yo need OpenSource drivers? Which Windows gfx driver did you ever see in source code? The only thing which is sometimes annoying is that the installation requires several manual steps. But besides a litlle (well documented) additioanl work you get the same results on both systems: Graphics output which is only as good as the driver's current implementation. So you will have times where the drivers suck all over, but that's true for both systems. But you will also have better times (and these are the common cases) where all goes well, installation works automatically, screen comes up and the new features are available right away. Use a good distribution and even installation is simple.
The use of command line parameters or dialog boxes is just a matter of being used to one or the other. It took me several days to figure out which check boxes make my projects compile under VisualC++ because there had been some incompatible settings in the required libs. Since the compiler already told me that I should use some switch I knew what to add, but I could not add the parameter, just had to find a check box which would do it for me. That's what I call stupid. And before someone wants to tell me that I can append parameters in the additional parameters box: No, not those which the GUI knows about
So what is the difference between adding a directory in either "Include dir" or "Library dir" or "Object dir" in some IDE compared to adding the same name to one of the variables? If you want to avoid the -I or -L in front you can use the gmake string functions, but the average gcc user knows about all this already.
BTW: I remember some posting from me several month ago I wrote about a competition between the IDE build process setup and Makefiles. I will have to think about the actual job, but I'm pretty sure that you cannot do many things with the dialogs which Makefiles can easily do. And I did not specify artificial jobs those days.
So the final point: Why in the world do yo need OpenSource drivers? Which Windows gfx driver did you ever see in source code? The only thing which is sometimes annoying is that the installation requires several manual steps. But besides a litlle (well documented) additioanl work you get the same results on both systems: Graphics output which is only as good as the driver's current implementation. So you will have times where the drivers suck all over, but that's true for both systems. But you will also have better times (and these are the common cases) where all goes well, installation works automatically, screen comes up and the new features are available right away. Use a good distribution and even installation is simple.
mac legacy, OSS drivers
The reason I like the GUI better is because it puts the options in front of you, and I'm more accustomed to poking around dialogs and panels than I am to scouring man files. This is probably cuz my first computer was a mac, so GUI from the get-go. I never spent much time in DOS, or old UNIX pre-GUI days, so I find the idea of doing things on the command line when a GUI is available, to be archaic, and for me, counter-intuitive. Using linux as much as i have I have seen just how powerful the command line can be, but I still prefer the simplicity and availability of the GUI. like i say, purely a matter of preference. I have a co-worker who like you did suggested emacs, but id take a good windows editor over that any day of the week, like crimson editor or ultraedit. column mode is my friend
as for open source drivers, I suppose Im treating the symptoms a bit...the reason to want open source drivers is that many distros are wary of closed source drivers due to the potential licensing issues, so do not include them, which makes getting any decent 3d acceleration working a serious PITA. Open source drivers would alleviate their concern. I suppose simply working out the license issues would allow the situation to improve too, but to me that seems unlikely given the current patent situation and the general FUD against open source.
as for open source drivers, I suppose Im treating the symptoms a bit...the reason to want open source drivers is that many distros are wary of closed source drivers due to the potential licensing issues, so do not include them, which makes getting any decent 3d acceleration working a serious PITA. Open source drivers would alleviate their concern. I suppose simply working out the license issues would allow the situation to improve too, but to me that seems unlikely given the current patent situation and the general FUD against open source.
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Re: make
This might be a stupid question but have you installed it?buhatkj wrote:now my particular problem on my ubuntu box mostly are due to the fact that g++ itself is freaking broken, but still, this is not how I'd prefer to manage my includes or build process.