[ros-users] Request for guidance

Gary Bradski bradski at willowgarage.com
Tue Jul 6 15:30:14 UTC 2010


Though I'm not firmly in Linux land, IMHO you won't find the equivalent of
MSVC++ which was a great development environment.

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.

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.

Instead, I compile on a separate command line.

For debug, KDE/KDbg if you want graphical debugging

Valgrind to find pesky memory problems.

Gary

On Tue, Jul 6, 2010 at 7:34 AM, Adam Leeper <aleeper at stanford.edu> wrote:

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


More information about the ros-users mailing list