97 lines
4.4 KiB
Plaintext
97 lines
4.4 KiB
Plaintext
= render "pages/project/menu"
|
|
|
|
%h1.center= title "Ruby in Ruby"
|
|
%p.center
|
|
%span
|
|
RubyX hopes to make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all,
|
|
%em 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 open source, and 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
|
|
%em complied (binary) code
|
|
is.
|
|
%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
|
|
at all.
|
|
Only the c std library makes them look like c functions, but they are not.
|
|
.row
|
|
%h3.center 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 the 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.
|