--------------010707020208090005070604
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Bil Kleb wrote:
> Ranieri Teixeira wrote:
>> I've downloaded the sources of Ruby 1.8.7-p22 and compiled it with MS CL
>> compiler. Ok, very well. But, the code is in structured C, not in object
>> oriented C++. Why?
> 
> 1) Ruby was born long before C++ compilers were even close to portable,
>    and according to Ara, they weren't portable even a few years ago.
> 
> 2) Rubinius' core VM is currently in C++ -- see http://is.gd/RJE

1. Rumor has it that Rubinius is migrating towards LLVM, which is also 
written in C++.

2. I think Ruby was born in the mid-to-late gcc 2 era, and I think maybe 
even gcc 2.9.5 was available. gcc runs just about everywhere, and was 
often competitive with "native" compilers even back then. I think gcc 
4.3.1 still runs on a Motorola 68000, or at least will cross-compile to 
it. :)

I'd think the real sticking point would have been the *Microsoft* 
compilers. Microsoft C with a POSIX library is relatively similar to 
most of the rest of the world, but Microsoft C++ is a whole other 
ballgame. And I think back then, Microsoft was still deluding themselves 
and the rest of the world that Windows NT on an Alpha was a viable 
product. :)

Speaking of which, one of the things that killed Windows NT (4) and its 
successors on Alphas was the fact that they had severe performance 
problems, which came from the fact that they were emulating Intel 
hardware for some time-critical operations. "Premature optimization is 
the root of all evil." "Hardware is cheaper than programmers." Yeah, 
right. :)

-- 
M. Edward (Ed) Borasky
http://ruby-perspectives.blogspot.com/

"A mathematician is a machine for turning coffee into theorems." -- 
Alfréd Rényi via Paul Erds

--------------010707020208090005070604
Content-Type: text/x-vcard; charset=utf-8;
 namenmeb.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filenamenmeb.vcf"

YmVnaW46dmNhcmQNCmZuOk0uIEVkd2FyZCAoRWQpIEJvcmFza3kNCm46O00uIEVkd2FyZCAo
RWQpIEJvcmFza3kNCmVtYWlsO2ludGVybmV0OnpubWViQGNlc21haWwubmV0DQp4LW1vemls
bGEtaHRtbDpGQUxTRQ0KdmVyc2lvbjoyLjENCmVuZDp2Y2FyZA0KDQo--------------010707020208090005070604--