[#1649] Re: New Ruby projects — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1672] Re: Ruby 1.4 stable manual bug? — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1673] Re: Possible problem with ext/socket in 1.5.2 — itojun@...
[#1694] Conventions for our Ruby book — Dave Thomas <Dave@...>
[#1715] Install postgresql support — Ikhlasul Amal <amal@...>
Hi all,
Hi,
[#1786] Is this a bug? — Clemens Hintze <clemens.hintze@...>
(mailed & posted)
[#1814] Objects nested sometimes. — Hugh Sasse Staff Elec Eng <hgs@...>
I am attemptiong to write a package which consists of a workspace
[#1816] Ruby 1.5.3 under Tru64 (Alpha)? — Clemens Hintze <clemens.hintze@...>
Hi all,
Hi,
Yukihiro Matsumoto writes:
Hi,
Hi,
[#1834] enum examples? — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examplse of using the Enumerable module? I've had a
[#1844] Minor irritation, can't figure out how to patch it though! — Hugh Sasse Staff Elec Eng <hgs@...>
I was considering how difficult it would be to patch Ruby to accept
[#1889] [ruby-1.5.3] require / SAFE — ts <decoux@...>
[#1896] Ruby Syntax similar to other languages? — "David Douthitt" <DDouthitt@...>
From: Yukihiro Matsumoto <matz@netlab.co.jp>
[#1900] Enumerations and all that. — Hugh Sasse Staff Elec Eng <hgs@...>
Thank you to the people who responded to my questions about Enumerated
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On 16 Mar 2000, Dave Thomas wrote:
[#1929] Re: Class Variables — "David Douthitt" <DDouthitt@...>
| "David Douthitt" <DDouthitt@cuna.com> writes:
[#1942] no Fixnum#new ? — Quinn Dunkan <quinn@...>
Ok, I can add methods to a built-in class well enough (yes I know about succ,
[#1989] English Ruby/Gtk Tutorial? — schneik@...
Hi,
[#2022] rb_global_entry — ts <decoux@...>
[#2036] Anonymous and Singleton Classes — B_DAVISON <Bob.Davison@...>
I am a Ruby newbie and having some problems getting my mind around certain
[#2069] Ruby/GTK+ question about imlib --> gdk-pixbug — schneik@...
[#2073] Re: eval.rb fails — "Dat Nguyen" <thucdat@...>
The doc is fine, this happens only if you try to execute 'until' block
On Wed, 22 Mar 2000, Dat Nguyen wrote:
[#2084] Scope violated by import via 'require'? — Clemens Hintze <c.hintze@...>
Hi,
[#2104] ARGF or $< — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examples of how to use ARGF or $< as I cannot find much
Hi.
[#2165] Ruby strict mode and stand-alone executables. — "Conrad Schneiker" <schneiker@...>
Some people want Ruby to have a strict compile mode.
[#2203] Re: parse bug in 1.5 — schneik@...
[#2212] Re: Ruby/Glade usage questions. — ts <decoux@...>
>>>>> "m" == mrilu <mrilu@ale.cx> writes:
[#2241] setter() for local variables — ts <decoux@...>
[#2256] Multiple assignment of pattern match results. — schneik@...
[#2267] Re: Ruby and Eiffel — h.fulton@...
[#2309] Question about attribute writers — Dave Thomas <Dave@...>
Clemens Hintze <c.hintze@gmx.net> writes:
[ruby-talk:02148] Scripting and OO -- thought question
h.fulton@att.net writes: > Here's an opinion question for you all. > > I was telling a friend about Ruby the other day, > and I told him how it was OO from the ground up, > unlike Perl, etc. > > His interest level was mild. He said that he > thought object orientation was a good thing in > general, but that for the things scripting > languages are generally used for, it's not that > useful. > > In his words, "If I were going to write a 60,000 > line chess program or something, I wouldn't do it > in Perl or any other script; I'd use Java or C++ > or something. And if I were doing something like > a filter, like 'munging' a text file, I wouldn't > really need OO." > > That's an interesting thought. How would you answer > him? That is difficult, I think. IMHO, your friend has a total archaic understanding of the term scripting. If he does not want to revise this understanding, he never will catch the whole truth, I fear. His understanding seems to be from the time of the good old Bourne shell. In that time scripting was used to glue several programs together to do a more complex work. Today the term scripting has changed its meaning, IMO. Today we do not necessarily glue programs together, but libraries or modules and the like! In the past we have used so-called high level languages like C, C++ or other to describe an algorithm in a high-level form. It was easier for the programer to use such languages to come to a solution than to program into Assembler directly. Although programs written in Assembler were faster than the ones written in C. So programmer has begun to combine the both worlds. First write an application in e.g. C, then tune it by re-writing time critical parts of them in Assembler. Today a new level has open. The task of the high-level languages in the past, are now taken over by the so-called scripting languages. What Assembler was for C yesterday, is C for scripting languages like Ruby or Perl today. Unfortunately much people has not recognized it yet. But I am sure they will! Today I am writing a whole application in e.g. Ruby. That is done much faster than writing it in e.g. C++. If the customer is convinced I can begin to tune it by re-writing the time critical parts in C. Normally Assembler is not necessary anymore. C has taken over its part. I believe that most of the fault why people think so ancient about scripting goes to Perl. Perl was invented to allow the system administrator to write scripts like the good old Bourne shell, sed, awk mixmax more convenient. Not using three or more programs but only one ... Perl! I do not know for sure, but after looking into the Perl C API --the how to extend Perl-- I got the impression Perl was not invented with easy extendability using C in mind. There is really a big difference in extending Perl compared with languages like Tcl, Python or Ruby. The last is the easiest, IMO! > I think I see his point; but perhaps one reason he > would not use a scripting language for a large > project is that he simply has never SEEN a scripting > language powerful enough for large projects. Then he has not looked to such languages very carefully, IMO. Due to the facts I mentioned above, I dare to guess he is biased against scripting languages. I mean, I can take every one of Ruby, Python, Perl or Tcl to bring a large project to success. Only I have to bear in mind, that I probably have also to use C to do some small parts of the project. Scripting only may be difficult or impossible; but the combination of scripting and e.g. C ... no problem at all. The only remaining problem is: how to hide my source code against the customer. ;-) > There is also the speed issue; but he cites Java as > a "real" language, and we are certainly not > guaranteed that it will be speedy on every platform. Then he cannot mean interpreted languages. Does he think only deep compiled ones are 'real'? Have a look onto Objective C; this language is compiled but its object system has much in common with Smalltalk. Or take Smalltalk ... it is interpreted most of the time. Whether directly via syntax tree (Ruby, Perl), or indirectly via bytecode like Java, Python or Tcl. Is Smalltalk a 'real' language? If Smalltalk is a real language, have a look to Ruby. Many Smalltalk programs can simply be transferred to Ruby by changing the syntax; not the semantic. Does that make Ruby a 'real' language? Are only languages with type system be 'real'? Then Objective C is also not 'real'. Its variables are totally typeless like Ruby's, Python's or Smalltalk's. What is with Prolog? Or do you know the good old UCSD-Pascal? It was bytecode interpreted! 'Real' language? And the speed issue ... I think there is no such an issue, if you can code time critical parts in C. I strongly believe that my app using scripting and C together would be nearly as performant as his one coded in C/C++ only. And perhaps more reliable, thinking for Ruby's true garbage collector, for instance. I think your friend has to widen his horizon. The world has changed. His opinions were true, but a long time ago. Not today. What is a 'real' language is not so easy decideable today. I would say that question concerning 'real' or not 'real' is nearly meaningless now. There are problems, there are solutions and there are languages. Take the one, that helps you most to come to your solution. That would be the right one! > Opinions? I think, he should first try to understand my claims about scripting. Then we could begin to discuss whether one could/should use OOP for e.g. text filter or chess problem solvers. Just my US$1.20. Sorry for being so verbose. I hope I had not waste too much bandwith :-) > > Hal Fulton \cle -- Clemens Hintze mailto: c.hintze@gmx.net