[#343034] RUBY vs COMMON LISP — fft1976 <fft1976@...>

On Aug 1, 8:55=A0pm, p...@informatimago.com (Pascal J. Bourguignon)

16 messages 2009/08/02

[#343054] Inconsistency in Array#[] — Wojciech Piekutowski <w.piekutowski@...>

Disclaimer: I know what docs say, but I'd prefer a different

14 messages 2009/08/02

[#343135] Kind of ParsTree for 1.9.1 — Macario Ortega <macarui@...>

22 messages 2009/08/04

[#343186] Bizarre Range behavior — Scott Briggs <scott.br@...>

Can someone please explain this behavior in ruby (1.8.6p111):

42 messages 2009/08/04
[#343187] Re: Bizarre Range behavior — Yossef Mendelssohn <ymendel@...> 2009/08/04

On Aug 4, 1:47=A0pm, Scott Briggs <scott...@gmail.com> wrote:

[#343193] Re: Bizarre Range behavior — Rob Biedenharn <Rob@...> 2009/08/04

On Aug 4, 2009, at 3:04 PM, Yossef Mendelssohn wrote:

[#343196] Re: Bizarre Range behavior — "Matthew K. Williams" <matt@...> 2009/08/04

On Wed, 5 Aug 2009, Rob Biedenharn wrote:

[#343199] Re: Bizarre Range behavior — Rob Biedenharn <Rob@...> 2009/08/04

On Aug 4, 2009, at 3:45 PM, Matthew K. Williams wrote:

[#343234] Re: Bizarre Range behavior — Yukihiro Matsumoto <matz@...> 2009/08/05

Hi,

[#343251] Re: Bizarre Range behavior — Brian Candler <b.candler@...> 2009/08/05

Yukihiro Matsumoto wrote:

[#343261] Re: Bizarre Range behavior — Yukihiro Matsumoto <matz@...> 2009/08/05

Hi,

[#343266] Re: Bizarre Range behavior — "David A. Black" <dblack@...> 2009/08/05

Hi --

[#343272] Re: Bizarre Range behavior — Yukihiro Matsumoto <matz@...> 2009/08/05

Hi,

[#343273] Re: Bizarre Range behavior — Rick DeNatale <rick.denatale@...> 2009/08/05

On Wed, Aug 5, 2009 at 12:21 PM, Yukihiro Matsumoto<matz@ruby-lang.org> wro=

[#343235] remove commas from string — Jason Lillywhite <jason.lillywhite@...>

I have following string:

14 messages 2009/08/05

[#343288] including gems with standalone app — Eric Peterson <ericdp@...>

Morning,

10 messages 2009/08/05

[#343320] 1.9 String and M17N documentation — Brian Candler <b.candler@...>

I have put together a document which tries to outline the M17N

20 messages 2009/08/06
[#343351] Re: [ANN] 1.9 String and M17N documentation — James Gray <james@...> 2009/08/06

On Aug 6, 2009, at 6:47 AM, Brian Candler wrote:

[#343378] Re: [ANN] 1.9 String and M17N documentation — Eric Hodel <drbrain@...7.net> 2009/08/07

On Aug 6, 2009, at 08:57, James Gray wrote:

[#343423] How do I add ? — chutsu <chutsu@...>

I've got a file that is in two columns, how do I add the second column

14 messages 2009/08/07

[#343566] Reading contents of a file and storing — Shekar Ls <idealone5@...>

Guys,

14 messages 2009/08/10

[#343592] Destroying related objects doubt ... basic oop question — Soh Dubom <sohdubom@...>

::Destroying related objects doubt

16 messages 2009/08/10
[#343726] Re: Destroying related objects doubt ... basic oop question — Mike Stephens <rubfor@...> 2009/08/12

Yet another reason for steering well clear of object-relational mappers.

[#343751] Re: Destroying related objects doubt ... basic oop question — Fabian Streitel <karottenreibe@...> 2009/08/12

> Yet another reason for steering well clear of object-relational mappers.

[#343649] Good editor for Windows Ruby — Peter Bailey <pbailey@...>

Hello,

21 messages 2009/08/11

[#343658] Readline not working with Ruby — Stewart <stewart.matheson@...>

24 messages 2009/08/11

[#343756] Class#descendants? — Jason Lillywhite <jason.lillywhite@...>

Ruby can do Class#ancestors but not Class#descendants.

18 messages 2009/08/12
[#343757] Re: Class#descendants? — Joel VanderWerf <vjoel@...> 2009/08/12

Jason Lillywhite wrote:

[#343771] skip_before_filter (Do I need a lesson in modules/mixins?) — Cris Shupp <cshupp1@...>

Gurus,

13 messages 2009/08/12

[#343831] newbie question making a folder with ruby — Simon Staton <simon@...>

ok well the program I am in the middle of programming I need it to

20 messages 2009/08/13
[#343851] Re: newbie question making a folder with ruby — Lui Core <usurffx@...> 2009/08/13

Simon Staton wrote:

[#343898] Re: newbie question making a folder with ruby — Simon Staton <simon@...> 2009/08/14

Lui Core wrote:

[#343902] Re: newbie question making a folder with ruby — Simon Staton <simon@...> 2009/08/14

To give more of an idea this is the code that I have on the .rb file. it

[#343920] Class method aliased in superclass bypasses subclass overrides — Marcos <markjreed@...>

This seems like it should work:

11 messages 2009/08/14

[#344009] start_with? Does someone need a grammar lesson? — 7stud -- <bbxx789_05ss@...>

String#start_with?-------------------------------

15 messages 2009/08/17

[#344088] fromdos dos2unix in ruby — Krzysztof Cierpisz <ciapecki@...>

how can I achieve in ruby the result of running:

18 messages 2009/08/18
[#344103] Re: fromdos dos2unix in ruby — krzysztof cierpisz <ciapecki@...> 2009/08/18

>

[#344109] Re: fromdos dos2unix in ruby — Robert Klemme <shortcutter@...> 2009/08/18

2009/8/18 krzysztof cierpisz <ciapecki@gmail.com>:

[#344125] exercise in DRY — Peter Ehrlich <crazedcougar@...>

I have some simple code for a thumbs up/thumbs down functionality.

13 messages 2009/08/18

[#344180] #has_arguments? — Intransition <transfire@...>

Messing with optional argument check for the umpteenth time, eg.

23 messages 2009/08/19

[#344218] Confirm my Performance Test Against Java? — Ben Christensen <benjchristensen@...>

I'm evaluating Ruby for use in a variety of systems that are planned by

40 messages 2009/08/19
[#344222] Re: Confirm my Performance Test Against Java? — brabuhr@... 2009/08/19

On Wed, Aug 19, 2009 at 9:31 AM, Ben Christensen

[#344342] extending ruby - handling errors — Jason Lillywhite <jason.lillywhite@...>

I want to raise an ArgumentError, "Function only takes numeric objects."

11 messages 2009/08/20

[#344345] How do I estimate how long it will take a calculation to complete? — Paul <tester.paul@...>

Hi there, I wrote a short ruby script to calculate the prime factors

10 messages 2009/08/20

[#344366] Why, oh why, _why? — Karl von Laudermann <doodpants@...>

_why the lucky stiff appears to have disappeared from the internets!

79 messages 2009/08/20
[#344400] Re: Why, oh why, _why? — Ralf Mueller <ralf.mueller@...> 2009/08/21

Karl von Laudermann wrote:

[#344421] Re: Why, oh why, _why? — Gregory Brown <gregory.t.brown@...> 2009/08/21

On Fri, Aug 21, 2009 at 4:24 AM, Ralf Mueller<ralf.mueller@zmaw.de> wrote:

[#344432] Re: Why, oh why, _why? — Rick DeNatale <rick.denatale@...> 2009/08/21

On Fri, Aug 21, 2009 at 7:17 AM, Gregory Brown<gregory.t.brown@gmail.com> w=

[#344434] Re: Why, oh why, _why? — Gregory Brown <gregory.t.brown@...> 2009/08/21

On Fri, Aug 21, 2009 at 9:49 AM, Rick DeNatale<rick.denatale@gmail.com> wro=

[#344441] Re: Why, oh why, _why? — Jason Roelofs <jameskilton@...> 2009/08/21

On Fri, Aug 21, 2009 at 9:54 AM, Gregory Brown <gregory.t.brown@gmail.com>wrote:

[#344448] Re: Why, oh why, _why? — Xavier Noria <fxn@...> 2009/08/21

On Fri, Aug 21, 2009 at 4:07 PM, Jason Roelofs<jameskilton@gmail.com> wrote:

[#344453] Re: Why, oh why, _why? — Jason Roelofs <jameskilton@...> 2009/08/21

On Fri, Aug 21, 2009 at 10:23 AM, Xavier Noria <fxn@hashref.com> wrote:

[#344525] Re: Why, oh why, _why? — Todd Benson <caduceass@...> 2009/08/22

On Thu, Aug 20, 2009 at 3:10 PM, Karl von

[#344526] Re: Why, oh why, _why? — Todd Benson <caduceass@...> 2009/08/22

On Sat, Aug 22, 2009 at 7:43 AM, Todd Benson<caduceass@gmail.com> wrote:

[#344404] How to convert string "/regexp/i" to /regexp/i - ? — Joao Silva <rubyforum@...>

When i try to use:

20 messages 2009/08/21

[#344462] Github and _why — John W Higgins <wishdev@...>

I'm about to get very nasty responses but this absolutely is a very bad

19 messages 2009/08/21
[#344467] Re: Github and _why — Tony Arcieri <tony@...> 2009/08/21

On Fri, Aug 21, 2009 at 10:38 AM, John W Higgins <wishdev@gmail.com> wrote:

[#344545] 1.8.7 String#lines keeps new-line chars (say it ain't so in 1.9) — Intransition <transfire@...>

Ruby 1.8.7 p72

19 messages 2009/08/22

[#344554] Ruby Editor — sasan <sasan.bahrieh@...>

I need a good software for ruby programming. please post message for

21 messages 2009/08/22

[#344573] ruby-debug does not hit breakpoints at class-methods — Sys Ppp <systemppp@...>

ruby-1.8.6-p369

19 messages 2009/08/22
[#344593] Re: ruby-debug does not hit breakpoints at class-methods — 7stud -- <bbxx789_05ss@...> 2009/08/23

...and more

[#344597] Re: ruby-debug does not hit breakpoints at class-methods — Sys Ppp <systemppp@...> 2009/08/23

> $ rdebug r2test.rb

[#344652] Re: ruby-debug does not hit breakpoints at class-methods — 7stud -- <bbxx789_05ss@...> 2009/08/24

Sys Ppp wrote:

[#344653] Re: ruby-debug does not hit breakpoints at class-methods — 7stud -- <bbxx789_05ss@...> 2009/08/24

...or I guess this would be a better example:

[#344656] Re: ruby-debug does not hit breakpoints at class-methods — Sys Ppp <systemppp@...> 2009/08/24

To 7stud. These are all normal, except class-method, as i wrote.

[#344691] Re: ruby-debug does not hit breakpoints at class-methods — Rick DeNatale <rick.denatale@...> 2009/08/24

On Sun, Aug 23, 2009 at 11:50 PM, Sys Ppp<systemppp@gmail.com> wrote:

[#344705] Re: ruby-debug does not hit breakpoints at class-methods — Sys Ppp <systemppp@...> 2009/08/24

Rick Denatale wrote:

[#344580] Development - works, production not - why? — Joao Silva <rubyforum@...>

My development envrioment:

11 messages 2009/08/23

[#344680] Comparison Ruby, Python, Php, Groovy ecc. — Marco Mastrodonato <m.mastrodonato@...>

Comparison script languages for the fractal geometry, these are the

25 messages 2009/08/24
[#344684] Re: Comparison Ruby, Python, Php, Groovy ecc. — Urabe Shyouhei <shyouhei@...> 2009/08/24

Are those executables compiled with identical compilers + compile flags?

[#344717] _why's "suicide" note? — Graham Agnew <graham.agnew@...>

Just found this as _why's last tweet on the Google cached copy of _why's

12 messages 2009/08/24

[#344762] Calling method from another class — Kostas Lps <louposk@...>

Hi guys,

15 messages 2009/08/24

[#344872] ||= with 1.8 and 1.9 ? — Aldric Giacomoni <aldric@...>

A friend of mine on Twitter recently posted this tidbit of code:

30 messages 2009/08/26
[#344879] Re: ||= with 1.8 and 1.9 ? — Brian Candler <b.candler@...> 2009/08/26

Aldric Giacomoni wrote:

[#344899] Re: ||= with 1.8 and 1.9 ? — Rick DeNatale <rick.denatale@...> 2009/08/26

On Wed, Aug 26, 2009 at 11:08 AM, Brian Candler<b.candler@pobox.com> wrote:

[#344921] Re: ||= with 1.8 and 1.9 ? — Brian Candler <b.candler@...> 2009/08/26

Rick Denatale wrote:

[#344923] Re: ||= with 1.8 and 1.9 ? — Joel VanderWerf <vjoel@...> 2009/08/26

Brian Candler wrote:

[#344881] # sign does not work as expected form irb — Salvador Sanjuan <salvador.sanjuan@...>

I have just started Ruby. I have tried to do some exercises usin irb but

15 messages 2009/08/26
[#344887] Re: # sign does not work as expected form irb — Aldric Giacomoni <aldric@...> 2009/08/26

Salvador Sanjuan wrote:

[#344988] Re: # sign does not work as expected form irb — Salvador Sanjuan <salvador.sanjuan@...> 2009/08/27

Aldric Giacomoni wrote:

[#344938] Rack must not dictate how to create a middleware — Sys Ppp <systemppp@...>

In current realization of Rack::Builder the method :use dictates that

15 messages 2009/08/26
[#344940] Re: Rack must not dictate how to create a middleware — Brian Candler <b.candler@...> 2009/08/26

Sys Ppp wrote:

[#345037] Possible to use Ruby for Dynamic HTML sites without Rails? — Frank Peterson <fictionalperson@...>

How easy is this to do? I've been going though a Ruby book again (was

13 messages 2009/08/27

[#345070] I need a string#all_indices method--is there such a thing? — timr <timrandg@...>

In ruby you can use string#index as follows:

22 messages 2009/08/28

[#345079] #map, #select semantics — James Coglan <jcoglan@...>

I imagine this has come up before, though I can't find anything about it. I

16 messages 2009/08/28

[#345097] How to call this method — Robert Dober <robert.dober@...>

Hi list

15 messages 2009/08/28
[#345100] Re: How to call this method — Robert Klemme <shortcutter@...> 2009/08/28

2009/8/28 Robert Dober <robert.dober@gmail.com>:

[#345222] Sorting an array by multiple elements? — Paul <tester.paul@...>

Hi there, I have an array of arrays that I want to sort by multiple

14 messages 2009/08/30

[#345267] What is the ruby conventions to name private method? — pierr <pierr.chen@...>

16 messages 2009/08/31
[#345274] Re: What is the ruby conventions to name private method? — Ryan Davis <ryand-ruby@...> 2009/08/31

[#345322] help on phps $$ equivalent in ruby — Arthur Rats <simon.jacobs.ams@...>

i just cant find this anywhere, googling for a while and read up tons on

11 messages 2009/08/31

Re: Confirm my Performance Test Against Java?

From: David Masover <ninja@...>
Date: 2009-08-20 08:03:35 UTC
List: ruby-talk #344311
First, I should say that I'm going to present arguments for Ruby here, whether 
or not I think it's the best choice. Without knowing what you need, I really 
can't say.

On Thursday 20 August 2009 12:25:58 am Ben Christensen wrote:
> Yes, "CPU is cheap", but that applies to Java as well.

But if you are in a position to be able to throw more hardware at the problem, 
it does really become a question of CPU time vs programmer time. That is, if 
Ruby really does cost 3x the CPU of Java, you can calculate in real dollars 
how much it will cost to use.

Speaking for myself, I certainly feel Ruby makes me more than three times as 
productive as Java, and programmer time is much more expensive than CPU time.

Obviously, there are cases where spending programmer time makes sense. For 
example, performance-critical desktop apps (CAD, games, etc) cannot use the 
"throw more CPU at it" argument, because you're now forcing your clients to 
upgrade their hardware to use your product. A large enough organization might 
want to optimize as much as they can -- if rewriting it in C saves a thousand 
machines and takes a developer a year, it's probably worth it, unless you can 
get a thousand machines cheaper than a developer.

On the other hand, there's a case to be made that you should "write one to 
throw away" -- if you can do it in Ruby in a few days, and rewrite it in Java 
in a few weeks, the rewrite can take lessons learned from that ruby sketch.

It would also give you time to evaluate the "fast enough" argument. If it 
turns out that you have plenty of extra capacity, and the Ruby version runs 
fast enough, it may not be worth rewriting. If it turns out that Ruby is too 
slow (even after trying Ruby 1.9 and JRuby), you've only lost a few days.

> Perhaps in a straight-forward CRUD app where all that's being done is
> retrieving/storing data in a database where IO truly is the bottleneck
> that no amount of optimization can improve - then it doesn't matter and
> "good enough" rings true where IO takes 100ms and the Ruby/Java portion
> is only 10-20ms on top of the IO.

That depends...

Response time is only part of the story. What you really want to benchmark is 
requests per second, and that's not always as simple as multiplying response 
time.

> ## C Extensions to Ruby ##
>
> This feels akin to saying in the late 90s that to make Java perform
> well, use JNI to use C. To me it defeats the whole purpose of the "Ruby
> is simple and pleasant" paradigm. If I have to optimize it with C, then
> it's no longer simple or a joy to use.

It's a bit like C -- it's going to be fast enough most of the time, but 
there's always the possibility you'll find some small part that can be 
rewritten in assembly to squeeze some extra performance out of it.

Most of what I said could be summarized as: The speed of a nonworking program 
is irrelevant, and premature optimization is the root of all evil. (I don't 
remember who I'm quoting, but it was someone important.)

My preference would be, if I can write 97% of the program in Ruby, and 3% in 
C, is that really going to be less pleasant than writing 100% of the program 
in Java?

> Nor am I convinced yet that managing a codebase over 5-10 years and 40+
> developers is any easier with Ruby - Java's static typing and now its
> generics (the polar oppostite approach of 'duck typing' in Ruby) are
> actually very nice for readability, navigation of code, refactoring and
> other such things on such large codebases when so much of it is from
> other coders, teams, or just plain old and forgotten about.

I suspect most of that is due to the tools, more than the type system itself.

The most compelling argument I've heard is: Type checks are just a special 
case of unit tests. You need unit tests anyway, and good unit tests will 
already more than cover what type checks were meant to save you from.

I suppose I'm curious -- when was the last time the type system saved you? 
That is, when was the last time you tried to pass an object of the wrong type 
to a method, and gotten a type error of some sort, and realized you needed to 
do something other than a simple typecast on that object?

> Also, no amount of "throwing hardware at it" will make Ruby faster than
> throwing the same hardware at Java - which is ultimately I think the
> biggest issue I have with the concept.

Indeed -- but again, you're paying for it with increased developer time.

And throwing the same hardware at Java that you would need for Ruby just gives 
you a bunch of unused capacity -- you'd be buying less hardware. So it is 
pretty much a straight trade.

> If I throw the fastest hardware I
> can at something, I want my user to get the biggest bang for the buck -

Which is pretty much going to give you benchmark candy. If your site is 
slowing down, that's a bug. Once the speed of the site is acceptable, and 
you're set up to handle spikes appropriately, more performance doesn't really 
buy you anything other than "because you can".

> As for "brevity" equalling "maintainability" and "less bugs" - I tend to
> disagree when the pursuit results in code such as this example given:
>
>     puts "The number of tokens is: %d." % File.open(ARGV[0]){|f|
>     f.inject(0){|a,l| a+l.split.length } } ,
>       "It took #{(Time.now - start) * 1000} ms"

Probably true for that -- though, to be fair, I wouldn't have put it that way.

However, there was a study done, at one point, which showed that the ratio of 
bugs to lines of code was constant across languages. So while I wouldn't say 
it makes sense to make things unreadably brief, Ruby is usually both more 
readable and shorter. 100 lines of code is generally easier to read and debug 
than a thousand.

> Perhaps your experiences are different - but most development teams have
> a lot of more junior and intermediate developers than senior - and the
> more verbose, easy to read, simple to understand code is far more
> preferable - even for myself when I must review, debug and profile the
> code of dozens of others - as opposed to something that looks like an
> academic puzzle to unravel.

I think that particular code sample was misleading -- certainly, you can play 
Perl Golf in any language. But you have coding conventions in Java, and you 
would in Ruby.

> What types of applications and codebases do you feel truly are served
> best by Ruby - and therefore not in need of the highest performance
> given to the end-user?

I feel the kind that is served best is any sort of web app, or small scripts 
for system administration -- particularly anything that needs to be flexible 
and constantly maintained and improved, for which the developer controls the 
hardware.

Were there better deployment tools (and Shoes seems to be an effort in that 
direction), I'd also say any sort of desktop app that doesn't need the highest 
performance possible. Frankly, that's most of them -- an instant messaging 
client, for instance, doesn't need to be blazingly fast, just fast enough.

But, it's not always about whether the end-user needs the highest performance. 
It's about whether it's possible to throw CPUs at the problem, or whether the 
CPU is the bottleneck at all.

In This Thread