It depends on what your needs are. You can also embed ruby( and any language) inside a shell script. The key to understanding which tool to use is to identify the right tool for the right job. If I was to use say 'convert' from ImageMagick and had a legacy "WhoTheFooCaresWhatLangIt'sIn" script I may consider calling it with IO:popen or one of it's cousins or if it's trivial script use the gem and build the tool in ruby. For simple things like sifting info from the environment backticks and env may be one way to go. system() might be a place to call the users editor from inside the program = i.e: system( "#{ENV['EDITOR']} /tmp/foobar") Hope some of this info helps. ~Stu On Mon, Jul 18, 2011 at 5:17 PM, Tyrel R. <tyrelrichey / gmail.com> wrote: > Am I wrong in the understanding that the ruby gems that add > functionality to ruby do it by wrapping c programs with ruby syntax > somehow. And if this is the case is there much of a difference between > using a gem like RMagick and just doing a system call: > > =A0system 'rmagick comand' > > -- > Posted via http://www.ruby-forum.com/. > >