-----BEGIN PGP SIGNED MESSAGE-----

In article <anfig6$7ob$1 / grapevine.wam.umd.edu>,
William Djaja Tjokroaminata  <billtj / y.glue.umd.edu> wrote:
>Exactly, Booker.  I grew up in Fortran and C/C++, and I think most of the
>engineers are familiar with Fortran and C.  I think these days they teach
>either Fortran, C, or Java in the engineering curriculum and not a single
>functional language at all.  Although I am learning Ruby, I cannot expect
>the users of my code (whom mostly will be engineers) to change their state
>of mind.

- - IMHO, if you aren't willing to change the way you think about
  problems then you're just going to be frustrated by Ruby. 
  To me that's the entire point of Ruby. Sometimes the square peg
  is just not going to go in the round hole. 

>
>I hope now you understand why I think the way I do.  I may change, but I
>cannot expect the users of my code to change much.
>

- - What I don't understand is why you use Ruby at all? Java seems
  to be more or less what you want. 

>As you see, Fortran, C, and Java are all procedural languages with static
>typing, and only in C we have to deal with memory de-allocation.  That's
>why I am really interested to use a language similar to Ruby with some
>typing; if it is not for my sake, it is for my users' sake...
>

- - Well, I know how hard it is to train engineers to use sane
  coding practices, but giving them Ruby and then encouraging
  a procedural style seems especially cruel. 

>Regards,
>
>Bill
>
>P.S. By the way, I do have a Link class.  The "link" method is the
>abstract factory pattern function to create a Link object.  

- - Well, Factory methods are perhaps an exception, but I still
  think the 3 arg rule applies. Where do all these args come
  from anyway? I would guess either a GUI or input file.
  If it were my code, you'd be passing around structs of
  LinkParameters. Even in C and java, the 3 arg rule is 
  a life saver. I write a lot more C then ruby and I try
  pretty hard to stick to this rule. 

  function(context,input,output,error)

  I've found this to be a much more powerful technique for
  keeping code in sync with design than any amount of type
  checking.

- - Booker C. Bense 





-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBPZ2/2WTWTAjn5N/lAQEHkQP/Vg+Nq5EBPXmANd6/3g4sl3ZLjw/8McZo
mN8mSPq/pCHG02EIk4iZZj9MyBMRJcclA80xFLgoWQ5YAaAeUtr2i7MMOy3fTTTu
N9WmjyZQuMO3o5tgv0e7SUkdLoaFAJeJ1lGqLWQJEVNnqPcUAPS/Kn0nttO6EfvE
o2FeGbc+hiY=
=hqFn
-----END PGP SIGNATURE-----