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

On Aug 1, 8:55m, 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:47m, 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> wrote:

[#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> wrote:

[#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> wrote:

[#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: Ben Christensen <benjchristensen@...>
Date: 2009-08-20 15:22:39 UTC
List: ruby-talk #344341
Thank you very much for the excellent answers, and your well reasoned 
responses to what could have easily been dismissed as someone "not 
getting it" or attempting to start a flame war.

I have quoted various aspects of the responses and added my response or 
further comments.



-- May I then ask what made you consider Ruby in the first place?

The reason I'm considering it is because I don't want to blindly choose 
Java just because it's the default.

As for why Ruby and not Erlang, Scala, Groovy etc -- the honest answer 
is because Ruby is getting so much attention these days, to the point of 
religious fervor amongst many I speak to that I need to take an 
objective look at it and what it does well.

I greatly dislike religious wars amongst technology - for example Linux, 
Mac and Windows - and thus want to understand the objective 
benefits/drawbacks as opposed to personal taste.



-- "seeing how well Ruby can pretend to be Java"

My intention is not to see how Ruby can pretend to be Java.

I'm using Java as the point of comparison for a few reasons:

- it's what I have the most expertise in
- it's generally the "default" choice in the types of projects and 
development teams I lead
- the language has a very wide range of understanding in the development 
world and is therefore a good point of reference to discuss from
- I need a valid point of reference for objective performance 
comparisons

That being said, I am trying to figure out what the "Ruby way" is - 
which so far is far from clear to me.

I appreciate the reference to the Design Patterns in Ruby book. That is 
very much the type of recommendation that will probably help me out, so 
thank you.

http://www.amazon.com/Design-Patterns-Ruby-Addison-Wesley-Professional/dp/0321490452



-- You won't really get a taste for what we mean until you start writing
-- Ruby (real Ruby, not Java ported line-by-line to Ruby).

What example opensource projects can you refer me to which espouse the 
"real Ruby" style of doing things?

I'd prefer non-Rails projects, as I understand the completely different 
approach of webapp dev with Rails.

I'm looking specifically at Ruby.

I keep getting told that I must understand the "Ruby way" - so I'd 
appreciate instruction on how to accomplish the "Ruby way" considering I 
am apparently boxed in as a "Java/C style programmer" ... despite 
disliking C :-)




-- 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.

If scalability was the only issue, this would be a valid response.

For example, if both Java and Ruby both performed single threaded 
transactions at 150ms each, and both scaled to 10 concurrent threads 
equally well, but Java continues to scale to 30 concurrent threads and 
Ruby does not, then that's a scenario where I can add 3 machines to 
scale Ruby horizontally and truly argue that the cost of the hardware is 
more than made up for by lower developer costs.

But, "per request" performance does not get improved by this type of 
solution.

Adding faster hardware does not make Ruby catch up to Java - since Java 
also improves with faster hardware.

This is why the "add hardware" answer doesn't win me over on the 
performance issue, because performance and scalability are two 
completely different problems. I haven't even begun to test scalability 
with Ruby yet.



-- 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.

That's correct ... but supports my point. Requests per second is the 
throughput, or scalability - not performance.

That is something I can throw hardware at - performance is not.


-- 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".

I disagree. If I can cut 30% of the transaction time off of a search 
engine request - that is valuable.

It provides a better use experience to the user and (according to Google 
and Amazon) increases their usage of the system.

Performance of response (not talking about scalability here but actual 
performance) is more than just "bragging rights" or "benchmark candy". 
The speed at which an application responds to an end users request 
impacts the overall usability of an application.

It is for this same reason that things such as network compression, 
network optimization (CDNs, Akamai route acceleration etc) and client 
side caching also all play a role.

In the presentation layer however, I tend to think the performance 
degradation of using Ruby is far less of an issue than backend services, 
since IO does play such a huge role - which is more or less what 
Thoughtworks has come to conclude from their use of it based on their 
reported experiences.



-- premature optimization is the root of all evil

I 100% agree. Martin Fowler comes to mind or someone similar.



-- 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?

An interesting observation and one I must consider.



--  when was the last time the type system saved you?

This is a valid and interesting question.

I would suggest that it's not that it is "saving" anything - cause there 
is nothing to save once the application is running, because the code 
can't be compiled if things aren't type-safe.

It's the toolset as you stated that you suspect.

The readability of code to know exactly what types a given argument, 
variable or array contain.

The IDE telling me as I type when errors are occuring, what objects 
relate to what, navigating through code, etc.

I've attempted RubyMine, Aptana and Netbeans. They are attempting this 
dynamic interpretation but are far from accomplishing it.

For example, code completion in these tools to suggest the available API 
methods is almost useless, as they offer virtually every method 
available under the sun, as they are not interpreting what actual type 
the variable is. Therefore they'll show me 15 different versions of a 
method with the same name, all for different object types from the Ruby 
API.

Similarly, looking at an array or collection in Ruby does not tell me 
what it is, especially if things are being passed around through 
methods, across class boundaries etc. Instead of the method signature 
telling me "Collection<ZebraAnimal>" I just see a variable.

Thus, I must now depend on a team of developers properly documenting 
everything, using very descriptive naming conventions (and properly 
refactoring all of that when changes occur), and wrapping everything in 
unit tests.

Now, all of those are "ideal" cases - ones I believe in and stress 
continually. I have hundreds and hundreds of unit tests and automated 
build servers etc - but in the "real world", getting teams to comment 
every method, properly name (and refactor) variable names and cover 
everything in unit tests just doesn't happen - unless it's a small team 
of very competent people who all believe in the same paradigm and treat 
their code as art. I wish that's how all dev teams were, but it's not a 
reality.

Perhaps if it's a personal project where I know the code and can ensure 
all is covered it's a different story.



-- 100 lines of code is generally easier to read and
-- debug than a thousand.

I'll give you that - but I have yet to see anything that proves to me 
that a competent developer using both Ruby and Java (or C# for that 
matter) would have 10x as much written code than they would in Ruby.

The "cruft" so often referred to are things that I don't even consider 
or think of. Boilerplate code ... clutter and sometimes annoying ... 
fades into the background and tools remove the pain of it. And with the 
advent of annotations, many of these arguments disappear when Java code 
is written correctly with modern patterns and frameworks.



-- 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.

You surely can, and I'm trying to understand what the coding conventions 
are in Ruby. The book link offered is something I'm going to go look at. 
Amazon referred another book called "The Ruby Way" which may also 
provide me good insights. Any experience with that one?




-- ... best served by Ruby ...
-- small scripts for system administration

I completely agree here.

-- any sort of web app ... that needs to be flexible and constantly 
maintained and improved,
-- for which the developer controls the hardware.

I'm leaning more and more towards this. In fact, I'm trying to figure 
out how to rip Java out of my webapps completely and leave that to the 
backend webservices and let the presentation layer be as free from 
"code" as possible. Java developers typically aren't exactly the best at 
client facing solutions (don't attack me on this if you disagree ... 
this is ofcourse not a definitive rule, it's just that I find it more 
challenging to hire good web developers who are 'Java' skilled as 
opposed to PHP, Ruby, Javascript, CSS, etc).

For example, if I can accomplish a dynamic front-end purely driven by 
client side Javascript using AJAX techniques with a REST style 
webservices backend, I will try to pursue that.

The middle ground seems to be pursuing Ruby or something else that is 
still server-side, but better suited to the always changing pace of 
webapp dev and more creative, script driven coding style better suited 
to web developers and designers.

--  desktop app that doesn't need the highest performance possible

What you say makes sense here, but I am so far removed from desktop apps 
that I'm useless in weighing in on this.



-- It's about whether it's possible to throw CPUs at the problem, or
-- whether the CPU is the bottleneck at all.

Understood and I agree.




-- 
Posted via http://www.ruby-forum.com/.

In This Thread