Daniel Berger
Posts: 1383
Nickname: djberg96
Registered: Sep, 2004
|
Daniel Berger is a Ruby Programmer who also dabbles in C and Perl
|
|
|
|
Denver/Boulder RUG presentation
|
Posted: Jun 20, 2008 9:39 PM
|
|
|
This post originated from an RSS feed registered with Ruby Buzz
by Daniel Berger.
|
Original Post: Denver/Boulder RUG presentation
Feed Title: Testing 1,2,3...
Feed URL: http://djberg96.livejournal.com/data/rss
Feed Description: A blog on Ruby and other stuff.
|
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Daniel Berger
Latest Posts From Testing 1,2,3...
|
|
A couple nights ago I gave my presentation on Sapphire. It seemed to go over well. No one threw food at me at least. I don't know that I'll post the slides, so let me summarize:
- MRI is badly managed
- MRI source code is sloppy
- Redundant code indicates that zero refactoring has been done.
- No comments on internal functions.
- No style standards (hard to read).
- MRI is badly tested
- Less than 1500 core tests.
- Some patches break other things that would be caught by tests.
- MRI has lots of bugs
- MRI has lots of warnings
- Warnings are not bugs, but usually indicate a problem of intent.
- MRI treats MS Windows as a second class citizen
- Solaris, AIX and HP-UX, too.
- Laziness or apathy, not the difficulty of the Windows API.
- MRI core developers often ignore patches
- Probably because the test bed stinks.
- NIH and Eastern/Western cultural issues are probably contributors, too.
- MRI is stagnating from an evolutionary point of view. Other languages are evolving.
- Fortress
- Erlang
- Perl 6
- Python 3000
- Faster is good, but speed != evolution
- Much more effort could have been put into making 1.8.x faster.
- If speed isn't usually the bottleneck, why obsess over speed?
Ruby 1.9 - Is not what I want
- Driven by cabal of core developers, not end users
Other implementations: JRuby, IronRuby, Rubinius, Maglev, MacRuby are all:
- Bound to a particular platform or...
- Bound to a particular toolchain or...
- Bound by MRI spec
Means they cannot evolve past MRI without breaking spec.
Sapphire:
- Is not bound by the MRI spec.
- Is not bound by Rails.
- Will have a good test suite.
- I currently have about 3000 core tests (9000 assertions) currently.
- More being added.
- Will pick and choose the best of the nuggets from other languages (plus my own)
- Method annotations
- Structured warnings
- Type inferencing
- The list goes on ... see the wiki for more details.
Read: Denver/Boulder RUG presentation
|
|