Find the answer to your Linux question:
Results 1 to 6 of 6
Hey there. I study computer science. At school we started at a slow pace with c++, using dev-cpp on windows. We went on to object-oriented programming (at a simple level ...
  1. #1
    Just Joined!
    Join Date
    Oct 2006
    Posts
    34

    Linux IDE?

    Hey there.

    I study computer science. At school we started at a slow pace with c++, using dev-cpp on windows. We went on to object-oriented programming (at a simple level though). Then we went over to java where we are currently still going over objected-oriented programming basics. So far we've only done simple console applications. Give in some terms, perform some scientific algorithm (Bairstow, Horner, Laplace,...) and give back the result. Nothing fancy, so at the moment I am very much a newbie programmer. We're studying to become professional programmers though so that will change in due time. I know that next year we will be using Microsoft Visual Studio, and we will also see php, .NET, and there are other optional courses for additional programming or scripting languages.

    At home though, I'm mainly a linux user. I'm running Fedora Core 9 and I'm very much loving it. I occasionally do java programming on linux. I just type the code in gedit and manually compile it using the terminal. It's very lightweight (which is my preference, in general). All I really need (so far) is the syntax highlighting (a button to compile would be mighty handy though...). Since I'm aiming to become a real programmer, I am seriously looking into expanding my programming options on linux, which is basically why I wrote this long and boring introduction.

    A first question on my mind is: how big is the chance of my future company using linux machines? This won't affect my OS usage at home in the slightest, but I am very curious about this. I suspect the most will be using Windows, due to the better IDEs available?

    Also, I am wondering (and this is the main reason I wrote this topic) what IDEs are available (or are the best) for linux. I have seen a number of them, such as kdevelop, anjunta, ... some suggested vim or emacs) but I am kinda lost with which one to choose. Like I said, all I *really* need is syntax highlighting and a compile button/shortcut for convenience. Then again, that might change as I learn more about programming. Keep in mind I would prefer to use one program for multiple languages (c++, java, ... and in my spare time I also do css, html and php).

    I'm hoping a few people can give me a bit of insight here. Thanks in advance for any response!

  2. #2
    Linux Guru techieMoe's Avatar
    Join Date
    Aug 2004
    Location
    Texas
    Posts
    9,496
    I use Eclipse for Java and I've been told it also works for C++ with a plug-in.
    Registered Linux user #270181
    TechieMoe's Tech Rants

  3. #3
    Linux Engineer GNU-Fan's Avatar
    Join Date
    Mar 2008
    Posts
    935
    I use NetBeans for big projects.

    The standard text editor of GNOME, gedit, which has all the features you want, for everthing else.

    For your future employer using GNU/Linux, well, I think it depends on who your future employer is, doesn't it? For example, I wouldn't expect Microsoft to use GNU/Linux on a daily basis. RedHat, I would


    BTW: Real programmers are said to be using GNU Emacs, regardless of the platform. I'm not a real programmer, hence I can admit it is too difficult for me. But if I were, I would use it because this way, I could use the same IDE on 101 different systems the same way. Who can tell if your next employer expects you to code on HP-UX? If it does, you are fine, because Emacs has been there all the time, too.
    Debian GNU/Linux -- You know you want it.

  4. #4
    Linux Guru techieMoe's Avatar
    Join Date
    Aug 2004
    Location
    Texas
    Posts
    9,496
    Quote Originally Posted by GNU-Fan View Post
    BTW: Real programmers are said to be using GNU Emacs, regardless of the platform. I'm not a real programmer, hence I can admit it is too difficult for me.
    If by "real" you mean "professional," I am a real programmer. I assure you that if you asked 100 different programmers in 100 different jobs what they used, you'd probably come up with 100 different answers.

    I can also assure you that "real" programmers use IDEs all the time. There are 40 "real" programmers on my floor and a hundred or so more in other departments where I work, and all of us use IDEs rather than an editor such as emacs or vi.

    That's not to say you can't use emacs or vi to program. You just end up doing an awful lot more work when it comes time to compile, link, and run your software.
    Registered Linux user #270181
    TechieMoe's Tech Rants

  5. #5
    Linux Engineer Thrillhouse's Avatar
    Join Date
    Jun 2006
    Location
    Arlington, VA, USA
    Posts
    1,377
    I agree with Moe. IDEs are very powerful and tend to make things easier for the everyday programmer.

    That being said, I don't think it would be such a bad thing for Arianyr to stick with text editors for a while, especially for C/C++. That way, he/she will better understand the process of compiling and linking. Relying on an IDE to auto-generate a makefile for you may be easier but can come back and bite you in the butt if you ever have a problem or need to make a change.
    A first question on my mind is: how big is the chance of my future company using linux machines? This won't affect my OS usage at home in the slightest, but I am very curious about this. I suspect the most will be using Windows, due to the better IDEs available?
    Whether or not you use Linux at your job after you graduate really doesn't have a huge bearing on what development environment you prefer. Many IDEs are platform independent. TechieMoe already mentioned Eclipse but there's also Netbeans which will also work for Java and C++ right out of the box and runs on both Windows and Linux.

    I think working with a text editor and the command line will work fine for you right now while you're in school and the programs you're writing are essentially toy programs. But as you get into programming more and the projects you start working on get bigger and bigger, an IDE becomes almost a necessity. That's how it was for me, at least. I did fine in college with javac and vi but when I first started working on a "real" project, I realized how much I was lacking.
    • I realized that I needed to learn how to use a debugger as System.out.println() statements were no longer sufficient.
    • I realized I needed something that would allow me to reference some section of code in another file without having to stop what I was doing with the current file I was working with to do so.
    • I realized I needed the ability to quickly find where an interface was implemented, a parent class extended or a variable declared.
    • I realized I needed something that would automatically set up my runtime environment for me whenever I wanted to run a unit test or system test driver.

    All of the above are things that most text editors don't allow you to do. That's why IDEs have become so prevalent for many higher level languages, and especially Java. Full-featured IDEs were pretty much non-existent when I first started learning to program (or maybe just in their infancy) but I know now that if I had one, that it would have saved me a lot of long, agonizing hours trying to figure out why my code didn't work.

  6. #6
    Trusted Penguin Cabhan's Avatar
    Join Date
    Jan 2005
    Location
    Seattle, WA, USA
    Posts
    3,230
    As has been said now, you should do your development on whatever makes you happy. I work at a Big Company (~4000 developers), and off the top of my head, I only personally know one person who uses an IDE with any regularity. My team is split between vi and Emacs users. Having said that, many people do use Eclipse for Java development.

    So, my usual suggestion is to try them all! There is nothing stopping you from downloading any and all IDEs and trying them out to see what you like. It all comes down to you.

    As far as your future company using Linux, this very much depends. If you work for a traditional software company, it depends on what platform you're building for, though this tends to be Windows most of the time (having said that, many tools and languages are cross-platform). Web companies have (to the best of my knowledge) tended towards using a LAMP (Linux, Apache, MySQL, Perl/Python/PHP/...) setup.
    DISTRO=Arch
    Registered Linux User #388732

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...