You can't implement Ruby in Ruby, you have to use C. That's never
going to change.
Heh, I agree with your posting except for that last claim. Writing a
Ruby compiler in Ruby ought to be reasonably simple -- the run time is
the critical part, because you want it to be fast, and Ruby is slow
unless you can speed it up, but it certainly is possible as well.
MetaRuby is a reimplementation of ruby in ruby itself, involving a
rewrite of ruby's core libraries, parser, interpreter and garbage
collector. Metaruby will use the ruby2c translator in order to
bootstrap a new ruby binary. As Squeak Smalltalk has helped
demonstrate, I believe this will make ruby easier to develop and
maintain because developers will not need to work in both C and Ruby
when working on Ruby itself.
I will describe the process of porting ruby from C to ruby, lessons
learned during porting, our processes for maintaining consistency
between matz's ruby and MetaRuby (using and enhancing rubicon),
benefits this project will have for the ruby community, related
projects, and how we're using them.
Then I will grovel for contributors.
···
On 9/15/05, Josh Charles <josh.charles@gmail.com> wrote:
There is not now, nor will there ever be a 'one-size-fits-all'
language. It's that simple. You can't implement Ruby in Ruby, you
have to use C. That's never going to change.
> Static typing is _wrong_, and the right alternative is linguistic support
> for _optional_ typing.
Try building an operating system without static typing.
That would be a job for BCPL
···
On 9/15/05, Phlip <phlipcpp@yahoo.com> wrote:
The point is
that you use the right tool for the job. C# is a great language, and
the future is looking especially bright for it. With the Mono
project, and a few other, .NET is a great platform to use as well.
You can really do some neat things with it.
> Then when you retrofit a language design feature, instead of building it in
> from scratch, you can't use it to simplify everything. Even its syntax will
> suck.
Has every feature that is currently a part of Ruby been a part of Ruby
from the start? I doubt it. C#'s syntax is great for what it is used
for.
You should use the best tool for the job. If the situation is one
where you are using several different languages, or any of the several
other advantages of using the .NET platform, use .NET / C#. If the
situation is different, and you're implementing a micro-kernel, use C.
If you're creating a web application, use Ruby with the Rails
Framework.
There is not now, nor will there ever be a 'one-size-fits-all'
language. It's that simple. You can't implement Ruby in Ruby, you
have to use C. That's never going to change.
Oh, is that all? Where've they been these last years?
When Daddy Warbucks tells his minions to promote Language X, and if it
sucks, then the majority of those minions must tread water frantically just
to write the simplest libraries and packages for X. The language's poor
quality slows down all the minions. Daddy Warbucks doesn't mind, because he
always has more minions to throw at the problem.
Then all the other companies that suck-up to that company will offload the
labor of supporting X, for free, further diluting the effects of X's poor
quality.
Many things in the Ruby universe are enterprise ready, at least for
some enterprises.
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set (including
scalability features) and serve large numbers of concurrent users? I'm
not prejudicing, just curious.
Regards
robert
Yes, they are.
I'm working in a company with products based on J2EE/JBoss where the scalability is one reason for our customers to choice the products. They want to add users as they need and the front-end is a rich-client for image processing, not only a web front-end.
In my opinion it is a good choice for decent applications, but not a general solution for all tasks.
Fortunately, the last time I had to face the Java/Web world was 3 years and 5
months ago, and I have been making enterprise use of Ruby ever since then.
Kirk Haines
···
On Friday 16 September 2005 2:16 am, Robert Klemme wrote:
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set (including
scalability features) and serve large numbers of concurrent users? I'm
not prejudicing, just curious.
#: Robert Klemme changed the world a bit at a time by saying on 9/16/2005 10:16 AM :#
Kirk Haines wrote:
Many things in the Ruby universe are enterprise ready, at least for
some enterprises.
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set (including
scalability features) and serve large numbers of concurrent users? I'm
not prejudicing, just curious.
Regards
robert
Should I ask as Trans did on another mail: where've you been these last years? :-).
Very interesting. But you'll still need C I'm interested to know
how this will effect performance, thoug.
···
On 9/15/05, Joe Van Dyk <joevandyk@gmail.com> wrote:
From an upcoming Rubyconf talk:
Reimplementing Ruby
Eric Hodel
MetaRuby is a reimplementation of ruby in ruby itself, involving a
rewrite of ruby's core libraries, parser, interpreter and garbage
collector. Metaruby will use the ruby2c translator in order to
bootstrap a new ruby binary. As Squeak Smalltalk has helped
demonstrate, I believe this will make ruby easier to develop and
maintain because developers will not need to work in both C and Ruby
when working on Ruby itself.
I will describe the process of porting ruby from C to ruby, lessons
learned during porting, our processes for maintaining consistency
between matz's ruby and MetaRuby (using and enhancing rubicon),
benefits this project will have for the ruby community, related
projects, and how we're using them.
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set
(including scalability features) and serve large numbers of
concurrent users? I'm not prejudicing, just curious.
Yes, they are.
I'm working in a company with products based on J2EE/JBoss where the
scalability is one reason for our customers to choice the products.
They want to add users as they need and the front-end is a
rich-client for image processing, not only a web front-end.
Can you post some figures (# of hosts, max concurrent users etc.) or is
this somehow confidential?
In my opinion it is a good choice for decent applications, but not a
general solution for all tasks.
Been busy with a non J2EE-Java application that is DB intesive. Also, I prefer to participate in c.l.r over J2EE related forums. When I last peeeked at J2EE it seemed bloated, complicated and more hype than reality. Big players jumped on the train because they seemed to want to make big bucks with big development environments for J2EE. But since I know that some time has passed since they I asked.
Cheers
robert
···
Alexandru Popescu <the.mindstorm.mailinglist@gmail.com> wrote:
#: Robert Klemme changed the world a bit at a time by saying on 9/16/2005 10:16 AM :#
Kirk Haines wrote:
Many things in the Ruby universe are enterprise ready, at least for
some enterprises.
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set
(including scalability features) and serve large numbers of
concurrent users? I'm not prejudicing, just curious.
Regards
robert
Should I ask as Trans did on another mail: where've you been these
last years? :-).
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set
(including scalability features) and serve large numbers of
concurrent users? I'm not prejudicing, just curious.
Yes, they are.
I'm working in a company with products based on J2EE/JBoss where the
scalability is one reason for our customers to choice the products.
They want to add users as they need and the front-end is a
rich-client for image processing, not only a web front-end.
Can you post some figures (# of hosts, max concurrent users etc.) or is
this somehow confidential?
Ok, looked at my current installations, find one with:
- 10 Servers (8*CPUs...)
- 120-160 Users
- Oracle and MSSSQL-DBs
- SAP-Integration
Hmm, ok, it is not that big, but because it is an type of accounting system, it must be very reliable/scalable.
When I last peeeked at J2EE it seemed bloated, complicated and more hype than reality. Big players jumped on the train because they seemed to want to make big bucks with big development environments for J2EE. But since I know that some time has passed since they I asked.
Yeah, nothing's changed.
Oh, except there's a growing Spring subculture .
Devin
(Spring is an IoC container for Java, in case you live in a pineapple under the sea.)
Btw, is J2EE enterprise ready? Is there a significant number of
applications out there that make full use of J2EE's feature set
(including scalability features) and serve large numbers of
concurrent users? I'm not prejudicing, just curious.
Yes, they are.
I'm working in a company with products based on J2EE/JBoss where the
scalability is one reason for our customers to choice the products.
They want to add users as they need and the front-end is a
rich-client for image processing, not only a web front-end.
Can you post some figures (# of hosts, max concurrent users etc.) or
is this somehow confidential?
Ok, looked at my current installations, find one with:
- 10 Servers (8*CPUs...)
- 120-160 Users
- Oracle and MSSSQL-DBs
- SAP-Integration
Hmm, ok, it is not that big, but because it is an type of accounting
system, it must be very reliable/scalable.
You need 80 CPU's to serve 120-160 concurrent users? That would be 2
concurrent users per cpu *max*. This certainly sounds like bad resource
usage - or did I miss something here?
> Very interesting. But you'll still need C I'm interested to know
> how this will effect performance, thoug.
No, you need C to implement a virtual machine, but not for the
language parser/bytecode compiler/runtime.
But i'm still convinced that ruby in ruby will got give us any real
benefits.
My Point was that you still need to use C (a _strongly_ typed
language) at some point, or else you can't do what you want to do. I
was still reacting to the guy that flat out said that stronly typed
languages were just wrong. My entire point is that your should use
the best tool for the job. it would be bad idea to implement
something like basecamp in C. It would also be a bad idea to
implement the latest NVidia 3D device driver in Ruby.
> Very interesting. But you'll still need C I'm interested to know
> how this will effect performance, thoug.
No, you need C to implement a virtual machine, but not for the
language parser/bytecode compiler/runtime.
Actually, you need C to *bootstrap* a virtual machine. Lots of other
languages do it that way too, see Squeak or Slime. They convert their
VM to C, and compile it. That's just easier than emitting assembly
directly.
But i'm still convinced that ruby in ruby will got give us any real
benefits.
I prefer hackable implementations.
···
> On 9/15/05, Joe Van Dyk <joevandyk@gmail.com> wrote:
In fact it's an octopus's garden - but don't tell anyone: I would not want to get it crowded down here.
robert
···
Devin Mullins <twifkak@comcast.net> wrote:
Robert Klemme wrote:
When I last peeeked at J2EE it seemed bloated, complicated and more
hype than reality. Big players jumped on the train because they
seemed to want to make big bucks with big development environments
for J2EE. But since I know that some time has passed since they I
asked.
Yeah, nothing's changed.
Oh, except there's a growing Spring subculture .
Devin
(Spring is an IoC container for Java, in case you live in a pineapple
under the sea.)
How about dynamic analysis of code blocks suitable for JIT'ing or
loop unrolling etc?
How about AST analysis?
Note that there are three general ways to implement code:
- test driven development
- design by contract with proofs (Ada SPARKS)
- debugging day and night
Ruby has the first one nailed. Conquering the second one would put a lock on
the industry, and would demonstrate proof-driven development in a dynamic
language.
Has this worked in that other self-compiling language, Smalltalk?