Though I'm not firmly in Linux land, IMHO you won't find the equivalent of MSVC++ which was a great development environment. <div><br></div><div>For quick file edits if you don't want to learn vim or emacs ("learning" involves simply memorizing the zillions of keyboard shortcuts), geany is fairly good or even gedit. </div>
<div><br></div><div>For more involved development, Eclipse is probably the best free IDE on Linux as far as code completion, easy look up of class members etc, BUT, you'll probably have to give up on integrated compile and debug. At least I've never gotten that to work well.</div>
<div><br></div><div>Instead, I compile on a separate command line.  </div><div><br></div><div>For debug, KDE/KDbg if you want graphical debugging</div><div><br></div><div>Valgrind to find pesky memory problems.</div><div>
<br></div><div>Gary<br><div><div><br><div class="gmail_quote">On Tue, Jul 6, 2010 at 7:34 AM, Adam Leeper <span dir="ltr"><<a href="mailto:aleeper@stanford.edu">aleeper@stanford.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I'll echo Morgan's points about the advantage of being comfortable editing your code from a terminal window. It makes modifying files on any arbitrary remote computer much easier. I use vim, but perhaps only because I've never taken the time to look at emacs. I'm fairly new to Linux, having started using Linux and ROS less than a year ago, but I've found that trying to lessen my dependence on gui-based point and click interactions has improved parts of my workflow considerably.<div>

<div><br></div><div>That said, when working on my own computer for a more extended coding session, I think it is worth setting up an IDE like Eclipse. The instructions on the ROS wiki work great, and for those of us who were raised on Visual Studio, it feels a bit like home. When working with new/unfamiliar ROS packages, I've found it is helpful to have code completion to remind me what the options are, which is sometimes faster than digging through the ROS wiki/tutorials to remember how something works.</div>

<div><br></div><div>Just another data point :)</div><div><br></div><div><br></div><div><br clear="all">Adam Leeper<br>Stanford University<br><a href="mailto:aleeper@stanford.edu" target="_blank">aleeper@stanford.edu</a><br>
719.358.3804<div><div></div><div class="h5"><br>

<br><br><div class="gmail_quote">On Mon, Jul 5, 2010 at 10:19 PM, Morgan Quigley <span dir="ltr"><<a href="mailto:mquigley@cs.stanford.edu" target="_blank">mquigley@cs.stanford.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi Sam,<br>
<div><br>
> 1.- What is the recommended Linux-based code editor and compiler to use with<br>
> ROS?<br>
<br>
</div>that's a bit of a flamewar-starting question among Linux coders :)<br>
The compiler question is easy; that's usually gcc/g++ on linux. As to<br>
editors, there are lots of reasonable options. Personally, I use vim,<br>
but many (most?) people use emacs with good results; it's a bit<br>
fancier. Some people use gedit for a more GUI-like experience. There<br>
are also fully-GUI editors out there, such as Eclipse, that are more<br>
like Visual Studio in terms of appearance and features. ROS is often<br>
run on headless machines in robots, however, and in such cases you'll<br>
find that console-based editors like vim or emacs are much faster.<br>
Beware that vim or emacs have steep learning curves, especially when<br>
compared to user-friendly tools like Visual Studio or XCode. However,<br>
the interwebs are full of excellent tutorials to learn them.<br>
<div><br>
> 2- Is there a recommended Linux-based C++ IDE to use? Should I even use an<br>
> IDE? (Code::Block?)<br>
<br>
</div>Not really. The command-line tools in Linux/UNIX are fantastic, and<br>
well worth your while to learn. However, some folks have worked on<br>
making ROS and Eclipse play nicer. More info here:<br>
<a href="http://www.ros.org/wiki/IDEs" target="_blank">http://www.ros.org/wiki/IDEs</a><br>
<div><br>
> 3- Are 2 monitors recommended instead of one?<br>
<br>
</div>more pixels are always better :)<br>
<div><br>
> 4- What did, or currently do the original developers of ROS use as their<br>
> software development setup?<br>
<br>
</div>I can't speak for anyone else, but I usually work with lots of<br>
consoles on my screen, filled with either running programs or<br>
text-editor sessions. I think many (if not most) other people work<br>
this way as well. For me, the main benefit is that it looks and feels<br>
the same regardless if things are running on my local machine or on a<br>
headless machine on a robot or server somewhere.<br>
<br>
I'm sure others can chime in here as well; this is just one data point.<br>
<font color="#888888"><br>
-mq<br>
</font><div><div></div><div><br>
<br>
On Mon, Jul 5, 2010 at 9:02 PM, Sam Quintanar <<a href="mailto:robosq@hotmail.com" target="_blank">robosq@hotmail.com</a>> wrote:<br>
><br>
> Coming from a Microsoft Robotics Studio Windows-based development world, I'd<br>
> like some guidance concerning my robotics development setup on an Ubuntu<br>
> computer.<br>
> I'm migrating from Windows to Ubuntu for robotics purposes and I've never<br>
> used a Linux system.<br>
> I'd like to start out with good choices concerning development tools (for<br>
> C/C++ (?!)).<br>
> I'm certain the original ROS developers have a certain setup and I wouldn't<br>
> mind replicating that setup.<br>
> I scanned the ROS Developers Guide (nice!), but I need to know:<br>
> 1.- What is the recommended Linux-based code editor and compiler to use with<br>
> ROS?<br>
><br>
> (Emacs with Emacs Code Browser (<a href="http://ecb.sourceforge.net/" target="_blank">http://ecb.sourceforge.net/</a>) and CEDET<br>
> (<a href="http://cedet.sourceforge.net/" target="_blank">http://cedet.sourceforge.net/</a>) ?)<br>
><br>
> 2- Is there a recommended Linux-based C++ IDE to use? Should I even use an<br>
> IDE? (Code::Block?)<br>
> 3- Are 2 monitors recommended instead of one?<br>
> 4- What did, or currently do the original developers of ROS use as their<br>
> software development setup?<br>
><br>
> Thank you for your help with my newbie request.<br>
><br>
> Sam Q.<br>
><br>
> ________________________________<br>
> The New Busy is not the too busy. Combine all your e-mail accounts with<br>
> Hotmail. Get busy.<br>
</div></div><div><div></div><div>> _______________________________________________<br>
> ros-users mailing list<br>
> <a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
><br>
><br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
<br></blockquote></div><br></div></div></div>