On Fri, Sep 23, 2005 at 08:41:40AM +0900, Isaac Gouy wrote:
> Rick Nooner wrote:
> > On Fri, Sep 23, 2005 at 06:26:39AM +0900, Isaac Gouy wrote:
> > > Rick Nooner wrote:
> > > >
> > > > Oh, and I've been writing large C systems since the mid 80's.
> > >
> > > Have you been writing large C++ / Java systems long enough to support
> > > the claim of 10x size difference? Do you have any data, or is 10x a
> > > nice sounding guess?
> >
> > Hmmm...  I think I said that I've been doing this for a long time.
> 
> You said you'd been doing C for a long time - you didn't say you'd been
> doing Java and C++ for a long time.

C++ since the early 90's.  Java since '96.  Python since '95.  Ruby since
'03.  I've used many other languages through the years as well.  I don't
have a problem choosing the right language for the job at hand.  Ruby
is by no means the only language that I use regularly.

> 
> > Just in
> > case you are wondering, I have written realtime systems in both the Nuclear
> > Power industry and more recently in telecommunications.  I've also spent
> > time in the video game industry (but that really was a long time ago and was
> > all in assembly.)  Interestingly enough, the arguments were pretty much the
> > same when discussing the move from assembly to C (and fortran to C).  In fact,
> > looking back to the early 70's, there is a series of computer science text
> > books by McGraw Hill that discusses the transition from doing systems
> > programming in assembly vs PL/1 that uses almost identical arguments that
> > we use today about "scripting" lanaguages.  I'll have to get the name of the
> > book when I get home tonight.
> >
> > Interestingly enough, these arguments were were formulated based on my
> > observations over the past two decades independently of those in this book
> > which I only found in the last couple of weeks.  Others have made the same
> > observations, also indepenently.  Has there been a formal study?  Not that
> > I know of.  I can only speak from my own experience.  YMMV.
> 
> So 10x is a nice sounding guess.

It's an educated guess, but it is a guess.  I've been making educated guesses
about development for my whole career.  In fact, it's expected to even get
a project approved.

I don't have the time or the inclination to do an actual double blind study.
If this doesn't suit your expectations, do things your way and I'll do them
my way.  In the end, it doesn't matter what either you or I do to anyone
but those we work for (and our own peace of mind).

> 
> >
> > > Are you doing the same kind of task in Ruby that you did with
> > > C/C++/Java?
> >
> > In the telecommunications world, yes.  In fact, with some systems, it was
> > quicker and easier to reimplement them in Ruby, adding new features in
> > the process than to just add the new features in the original languages.
> 
> Did you do both? Did you re-implement the systems in Ruby, and
> implement the new features in the original languages? If not, aren't we
> simply assuming it was quicker and easier.

You don't have to implement in both languages to know which would be easier.
That's what experience in both languages gives you.  That doesn't mean you
have to take my word for it.  You can actually try yourself and see :-)
I'm not going to do the dirty work trying to convince you.

I'm also not saying that Ruby is the only language that should be used
for any given project.  Use the right tool for the job.  Experience teachs
this quite well.

> None of this has anything to do with whether it's more productive to
> use a high-level language with an appropriate framework, rather than
> using a systems programming language - it has a lot to do with
> separating data from assumption.

My experience says differently - YMMV.  If you have the time to do
a research project on this, by all means do so...  I have real work to
do.

I've said all that I'm going to say on this subject for the moment.
Believe what you will.

Rick

-- 
Rick Nooner
rick / nooner.net
http://www.nooner.net