ruby-x.github.io/project/motivation.html.haml

92 lines
4.3 KiB
Plaintext
Raw Normal View History

2018-04-10 17:39:03 +02:00
\---
layout: project
title: Ruby in Ruby
sub-title: RubyX hopes make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all,
%b empower you
\---
.row
.tripple
%h2.center A better tool, a better job
%p
Ruby is the better tool to do the job. Any software job that is.
We, who use ruby daily do so because it is more productive,
better in almost every way.
The only downside is speed and we argue that with cheap resources.
%p
Why it has taken this long to even seriously attempt a ruby implementation in ruby is due to the overwhelming
influence of C (folks), especially at the time.
%p
Just a short and subjective list of why ruby is the better tool:
%ul
%li More fun. Ask anyone :-)
%li Lets you focus on the task
%li Elegant, both in syntax and solution
%li Understandable
%li Much faster to code
.tripple
%h2.center Boys and toys
%p
Rails has evolved tremendously from what was already a good start. All the development
%em around
it has nurtured
ruby developement in all areas. Rails and all those parts make up a most mature and advanced software system.
%p The "rails effect" is due to the accessibility of the system, imho. Ie it is written in ruby.
%p
Ruby itself has not enjoyed this rails effect, and that is because it is written in C
Crystal, Rust, Go Julia etc, have, for the exact same reason.
%p
It is my firm belief that given a vm in ruby, ruby development will "take off" too. In other words, given an
easy way to improve his tools, a developer will do so. Easy means understandable and that means ruby for a
ruby developer
.tripple
%h2.center Step to Indepencance
%p
The first thing any decent compiler does, is compile itself. It is the maturity test of a language to implement
itself in itself, and the time has come for ruby. The mark of growing up is being independant, in ruby's case of C.
%p
Having just learned Assembler, i can attest what a great improvement C is over Assembler.
But that was then and it is not just chance that developemnt has been slow in the last 50 years.
%p
There is this attitude C believers elude and since they are the gatekeepers of the os,
everyone is fooled into believing only c is fast. Whereas what is true is that
= succeed "is" do
%em complied (binary) code
%p
On a very similar note we are lead to believe that os features must be used from c. Whereas system calls
are software interrupts, not really
%em
calls
%em
at all.
Only the c std library makes them look like c functions, but they are not.
.span12
%p.center
%span
%b So what does empowerment mean.
%p
For me it is means owning your tools.
For everyone to really be able to unfold their ideas and potential.
Not to be stuck, rather to be able to change anything one wishes.
We usually own the code we write, and we have seen amazing progress in opening up new ideas.
%p
So it is hard to even think of ruby holding us back, and it isn't off course, only current implementations of it are.
%p
Concretely what does this mean: Well i don't know do i! That's the whole point, that anyone can improve it beyond
the original creators horizon.
%p
But to mention a few things that have crossed my mind (and that i will most certainly not implement)
%ul
%li Efficient vector extensions that use cpu/gpu instructions not supported in the core
%li Efficient graphics extensions
%li New language features, ie real dsl's that extend the parser on the fly
%li Off course there is always new cpu's and os's
%li Better implementation of core datastructures. Did i hear digital trees being mentioned?
%li Better gc's, better memory management.
%li Superoptimization! (heard of that one?)
%p
And the fun thing is off course that all the above can be created as gems. No recompiling, no rvm/rbenv.
Anyone can choose how they want to pimp
their vm in the same way as you can decide what stack/tools you use in a rails project. And we have the essential
tool to do this: the bundler.
%p And off course democracy decides what is good and what will stay. Natural extinction and all.