On Sun, 2006-01-08 at 08:44, Gregory Brown wrote:
> On 1/8/06, Eero Saynatkari <ruby-ml / magical-cat.org> wrote:
> 
> > If one were inclined to actually argue a point, one might mention  some
> > of C++'s vulnerabilities: buffer overflows, pointers, memory handling
> > and so on.
> 
> This is a good point.  In languages like C++, your security can really
> go to hell through improper memory management.  This is much less
> likely to happen in Ruby.

It is a good point when comparing Ruby and C++, but it is unlikely to
impress Java programmers.

I believe it will be a better strategy to argue the strengths of Ruby,
rather than the weaknesses of other languages. For example, on the Java
side, there are frameworks who aim to make software designs more loosely
coupled, for example IoC frameworks, AOP extensions, etc. These
frameworks emulate a dynamic approach to software development. Some of
these, like Spring, are very good. Nevertheless, learning those
frameworks requires a considerable investment in time and effort. The
proliferation of different frameworks makes it hard to get by knowing
just one or two. (One thing that maybe shouldn't be brought up is that
often corporate policies, rather than technical considerations, dictate
which framework gets used. For example, many companies use EJB and
various EJB frameworks even though it is not appropriate for the
development they do.)

Ruby, as we know, has many AOP features built in. The dynamic typing
removes the need for complex interface based designs. More important,
the Ruby features are easy to learn, easy to use, and because they are
built-in, they don't run the risk of being prohibited by corporate
policies.


/Henrik

--

http://www.henrikmartensson.org/  - Reflections on software development