[#17198] enhancing Ruby error messages for out of the bound constant Fixnum? — Guillaume Cottenceau <gc@...>

Hi,

11 messages 2001/07/03

[#17206] /* */ comments — Dave Thomas <Dave@...>

43 messages 2001/07/04
[#17207] Re: /* */ comments — Stephen White <spwhite@...> 2001/07/04

On Wed, 4 Jul 2001, Dave Thomas wrote:

[#17251] Re: /* */ comments — Sean Chittenden <sean-ruby-talk@...> 2001/07/04

> Over on http://www.rubygarden.org, dv posted a patch to parse.y that

[#17268] Re: /* */ comments — matz@... (Yukihiro Matsumoto) 2001/07/05

Hi,

[#17212] Ruby 1.6.4 Win32 .exe installer question — A Bull in the China Shop of Life <feoh@...>

Folks;

11 messages 2001/07/04

[#17225] Re: /* */ comments — Arnaud Meuret <ameuret@...4you.com>

|From: Mark Slagell [mailto:ms@iastate.edu]

17 messages 2001/07/04

[#17240] Ruby Mascot/logo — "Kevin Powick" <kpowick@...>

Hi there.

14 messages 2001/07/04

[#17281] Inheritance — "Aleksei Guzev" <aleksei.guzev@...>

15 messages 2001/07/05
[#17282] Re: Inheritance — ts <decoux@...> 2001/07/05

>>>>> "A" == Aleksei Guzev <aleksei.guzev@bigfoot.com> writes:

[#17348] Adding a method to a class at the top-level — Guillaume Cottenceau <gc@...>

Comrades,

14 messages 2001/07/05

[#17482] Aliases for class methods — "HarryO" <harryo@...>

Say I wanted to write my own version of File#open that adds some

23 messages 2001/07/08

[#17511] Ruby on Slashdot — jweirich@...

Ruby is currently mentioned on Slashdot. I posted some references.

29 messages 2001/07/08
[#17512] Re: Ruby on Slashdot — Tobias Reif <tobiasreif@...> 2001/07/08

Interesting...

[#17518] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17519] Re: Ruby on Slashdot — "James (ruby-talk)" <ruby@...> 2001/07/09

> |I thought about that too; what about Ruby being a standard?

[#17525] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17536] Re: Ruby on Slashdot — David Alan Black <dblack@...> 2001/07/09

Hello --

[#17572] Re: Constants and Variables — "HarryO" <harryo@...>

> If you want objects that don't change, try Object#freeze,

25 messages 2001/07/10

[#17732] Re: Array#sort! returns nil when array empty — hfulton@...

> Array#sort! returns nil if the array is empty, whereas ri

32 messages 2001/07/12
[#17736] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001 hfulton@pop-server.austin.rr.com wrote:

[#17739] Re: Array#sort! returns nil when array empty — ts <decoux@...> 2001/07/12

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#17746] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001, ts wrote:

[#17747] What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

While following the Array thread, I noticed the minus

[#17752] Re: What is Array#- ? — Dave Thomas <Dave@...> 2001/07/12

Jim Freeze <jim@freeze.org> writes:

[#17753] Re: What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

On Fri, 13 Jul 2001, Dave Thomas wrote:

[#17833] Extending objects — "Aleksei Guzev" <aleksei.guzev@...>

16 messages 2001/07/14
[#17834] Ruby-newbie seeks help with Rubywin starting IRB — "Euan Mee" <lucid@...> 2001/07/14

Once I fire up Rubywin, and then invoke _R_uby _I_rb from the

[#17839] Re: Ruby-newbie seeks help with Rubywin starting IRB — A Bull in the China Shop of Life <feoh@...> 2001/07/14

At 07:05 PM 7/14/01 +0900, Euan Mee spewed forth:

[#17859] Re: Creating methods on the fly — "HarryO" <harryo@...>

I

18 messages 2001/07/15

[#17925] Movement in scripting language communities to integrate XML-RPC — gsemones@... (Guerry Semones)

Greetings,

20 messages 2001/07/16
[#17934] Re: Movement in scripting language communities to integrate XML-RPC — Tobias Reif <tobiasreif@...> 2001/07/16

"out of the box" by including

[#18018] Broadcasting data — "HarryO" <harryo@...>

Does someone have an example of broadcasting data around a network using

12 messages 2001/07/18

[#18023] [ANN] libxslt Rubified! — Wai-Sun Chia <waisun.chia@...>

Hello,

16 messages 2001/07/18
[#18024] Re: [ANN] libxslt Rubified! — TAKAHASHI Masayoshi <maki@...> 2001/07/18

Wai-Sun Chia <waisun.chia@compaq.com> wrote:

[#18100] Looking for Ruby programming exercises — Wayne Vucenic <wvucenic@...> 2001/07/19

I've been learning Ruby, mostly with the Pickaxe book, and it's going

[#18188] Newbie. Sinking fast. Please help. — Matt <matt@...>

I bought Programming Ruby a number of months back and finally have an opportunity to try out Ruby. However, I can't get it to build. Actually, that's not quite accurate. It builds fine. It won't pass 'make test'.

12 messages 2001/07/20

[#18193] Re: 99 bottles of beer — "Dat Nguyen" <thucdat@...>

18 messages 2001/07/20
[#18204] Re: 99 bottles of beer — Glen Starchman <glen@...> 2001/07/20

99.downto(0){|x|w=" on the wall";u="#{x!=0?eval(x.to_s):'no more'}

[#18306] Ruby as opposed to Python? — "Mark Nenadov" <mnenadov@...>

Hello. I have toyed with the idea of trying Ruby out for some time now.

118 messages 2001/07/22
[#18759] Re: Ruby as opposed to Python? — Paul Prescod <paulp@...> 2001/07/29

Yukihiro Matsumoto wrote:

[#18774] Re: Ruby as opposed to Python? — "Florian G. Pflug" <fgp@...> 2001/07/30

On Mon, Jul 30, 2001 at 05:58:22AM +0900, Paul Prescod wrote:

[#18393] Trouble Using FXRuby on cygwin/Windows NT — rgilbert1@... (Robbie Gilbert)

Hi,

10 messages 2001/07/23

[#18566] Which database should I use? — Urban Hafner <the-master-of-bass@...>

Hello everybody,

17 messages 2001/07/26
[#18575] Re: Which database should I use? — Urban Hafner <the-master-of-bass@...> 2001/07/26

[#18582] Re: Which database should I use? — Michael Neumann <neumann@...> 2001/07/26

Urban Hafner wrote:

[ruby-talk:18330] Ruby, Python and Objects philosophy

From: "Joe Graham" <joe@...>
Date: 2001-07-23 06:31:26 UTC
List: ruby-talk #18330
Wasn't there a big /. discussion about this a week or so ago?  If I may
interject some thoughts into this matter as well.  Regretfully it belongs on
page 75 of that old slashdot discussion but how could I resist?
*** Warning, below is pure opionated sputter.  Read or discard as needed ***

Some data type differences I have noticed.
Firstly Ruby is Dynamically typed.  So is Python.  In Ruby everything is an
object and objects are construed of their definitions as such and not just a
few basic complimentary data types. An example is lists, tuples, sequences
and dictionaries acting like objects and collections in Python but are
really "intrinsic" data types.  For most people this really doesn't make
much difference since the implementation is more or less syntactically the
same.

Why Objects?
So it really begs the question, "what is an object and why is it important
that everything be defined as such?"  This is particularly the case with
respect to interpreted languages at design-time.  If my code looks the same
and acts the same, then isn't it the same?  Perhaps this is true.  I have
seen arguments conveying very compelling arguments against Object Oriented
programming that make a lot of sense.  Here are some that I have seen.
-Most people just don't get Object Oriented Programming either in theory or
practice.
-If you duplicate code then you've broken the "golden rule" of OOP so it's
pointless to try.
-Maintaining a poorly designed Object Oriented Design is worse than mucking
through functional spaghetti code. (gawd ain't this the truth?)
-A poorly designed object metaphor ends up creating more work than just
coding the functions and not duplicating code. (my personal favorite)
-If all you're doing is using objects to represent namespaces with functions
or rich data types then what difference does it really make? (you just need
a struct right?)
-Don't you have to have like 3 years life cycle to get you're money out of
Object Oriented Systems?  (i've seen this one, hey it's possible!)

No really, why objects?
So the answer from it's face value is, "does it really matter?"  I mean if
you're going to code it and throw it away?  Or are you?  To me it all boils
down to a matter of personal preference.  If you feel like greased
lightening when you code and you aren't hitting any brick walls then you're
doing something right.  Keep it up.

What is a 菟ureobject language anyway?
There has been debate on the 溺eta Objectbehavior of pure object languages
such as Smalltalk (wot痴 that?) and Ruby.  Does a Meta Object Protocol
really belong as a 吐eatureof Object Oriented design?  Well all of these
arguments are all fine and good but to me the answer is 土es  Here are my
thoughts on the matter if you are still awake.

It all boils down to three things Neo.  鼎ontrol, Opions and PerspectiveTo me, Smalltalk was not so much about syntax as it was about 菟erspective.Objects were perceived to be living entities.  In other words we perceived
our code to exist purely in the runtime environment.  Let us excuse design
time for a moment because an object at design time is a dead object.  To me,
Smalltalk was also about patterns.  Patterns of reuse, patterns modeling
processes, patterns mixed with other patterns to make a larger pattern
(pattern language).  Patterns were built from homogenous building blocks
(objects) and nothing was ever hidden from you by the VM (like keywords) so
anything that existed was built entirely from objects.  Objects were
percieved to be "alive" and given personas.  Debugging was known as
"communicating with your objects,"
So in order to apply this level of perception in a practical sense we can
take the following requirement into consideration.  Take that cool program
(not just a piece of code) and reuse any piece of it or tie it into a bigger
program without ever stopping your program.  (whoa!)  When you take that
requirement and try to apply it to most so-called Object Oriented languages
the complexity starts to boggle the mind.  But in Smalltalk it was not
uncommon at all.  In fact, if I were to share some Smalltalk code with you I
would send you my instantiated objects in binary form along with the code
that defines them.  To me, it was just as imported to have 妬nstancesas it
was to have a definition.
So from an implementation standpoint I really do not care about what the
academic definition of an Object Oriented something or other is.  All I care
about are my requirements and the obstacles it would take to get there.
Perhaps this is pragmatic?   For example, let us examine that requirement of
reusing your code and never stopping your program.  My code can be run as
long as there is power (not easy in CA) and as long as it is running (or
not) I can reuse it.  Apply those requirements to (my_favorite_language) and
you池e options start to shorten or the code it would take to get this done
starts to lengthen.  Given a running configurable/reusable environment
requirement, the concept of assembling objects and methods at runtime start
to make sense.  Assembling objects and modifying their behavior at runtime
is powerful mechanism in and of itself wouldn稚 you say?
Other buzzwords protagonizing modeling languages such as Smalltalk are
鄭spect Oriented Programmingor buzzwords such as 鼎rosscuttingbut words
get in the way.  Let痴 take a logging example.  Every program I get paid to
work on involves some custom logging mechanism and whoever I work for has
some brilliant idea on this new fancy logging framework that痴 going to tell
you everything about stupid program X.

Method defintion( some params )
  LogMethodEntry( Hard_code_method_name_or_something )
  Try:
    Wow_my_code_finally_goes_here
  Catch:
    LogThatProblem( Send_That_Error_All_Unformatted_and_ugly_to_our_logger )
   Finally:
    LogMethodExit( Hard_coded_method_name )

Wow you notice all the duplicate code here?  Also what if I知 printing to a
rich text canvas?  Also, what class am I in?  Also when did that class
transition occur?  Also, when that class transition occurred do I have to
hard code a logging statement there too?  Gee that sucks!  How much time was
spent coding and how much time was spent logging?  About 50/50 you say?  Now
that痴 what I call value!  So what is the alternative?  If I can override
the default behavior of all objects in stupid program X than I can have it
電escribeitself to the logger without writing all that duplicate ugly
code.  How easy is that in Java?  How easy is that in Python? How easy is
that in a language that allows for dynamic manipulation of the 鼎lassobject runtime behavior?
What about all those ugly try catches in every method?  Isn稚 that duplicate
code?  Why yes, it is and it痴 pretty common if you池e in a real hurry and
don稚 have time to come up with, think about or even programmatic privilege
to implement some nice delegator pattern that allows us to never duplicate
exception handling code.  Reminds me of the first time my Smalltalk buddy
explained the 澱lockto me.  展ell it痴 this cool method object that just
hangs around and you can just attach it to any object you need if you want
that behavior. So this design works pretty cool if we just design some
nifty object and call it 擢ailBlock.
..method definition
#notesomeMethod exhibits error trapping behavior
someMethod( some params )
 # logging is take care of by Class!
  Do_my_work_here

outside method call
catch( methodProblem )
  tell_FailBlock( what, where )
  send_methodProblem_back_to_sender


Now isn稚 that pretty?  Notice the missing duplicate code?  Assuming of
course that we can have objects interested only "aspects" of what is going
on take care of those things and the code does not have to be duplicated.
In this case the "aspect" is logging method behavior.  Please forgive and/or
correct me if my understanding of Aspect Oriented Programming (AOP) is
skewed.  Now wouldn稚 it be cool if we could get that method as it exists in
it痴 instance, change the code then send it back to every instance of that
object?  Wouldn稚 that be like open heart surgery or something?

Everything is beautiful in my little world
So you can see that in my little world everything is perty and code is never
duplicated.  Objects are self-describing and can accommodate themselves to
their environment dynamically.  It痴 a beautiful place.  However in the salt
mines of reality where people pay get paid to write code.  I have found that
there is a certain sick pleasure companies get out of knowing that some
project took hundreds or thousands of man hours to complete especially if it
involves re-inventing the wheel in some form or other.  (duplicate code
non-withstanding)  Also I can get paid big bucks today programming in
languages like Java that really limit what I can do at runtime.  (ouch!)
This is not the case with Ruby or Smalltalk.  So what difference does it
make to the would-be Ruby fleeing from Python / Java / VB or whatever
programmer?  The answer for me would be 展hat difference would I want it to
make? Can you make Python act like ruby?  (yes!)  Can you make Ruby act
like Python? (yes!)  Can you even get those cool block thingies in Python?
(well you have anonymous functions and if you are really good at tricking
yourself, yes!)

Thanks to all you technical people for hammering out all those tough
technical aspects.  This has been a purely spiritual and religious sermon.

In This Thread