--------------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; name nmeb.vcf" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename nmeb.vcf" YmVnaW46dmNhcmQNCmZuOk0uIEVkd2FyZCAoRWQpIEJvcmFza3kNCm46O00uIEVkd2FyZCAo RWQpIEJvcmFza3kNCmVtYWlsO2ludGVybmV0OnpubWViQGNlc21haWwubmV0DQp4LW1vemls bGEtaHRtbDpGQUxTRQ0KdmVyc2lvbjoyLjENCmVuZDp2Y2FyZA0KDQo--------------010707020208090005070604--