just polishing

This commit is contained in:
Torsten Ruger 2014-05-27 12:30:29 +03:00
parent 971b3af10e
commit f799c701dc
3 changed files with 33 additions and 30 deletions

View File

@ -1,15 +1,25 @@
Good Principles ---
--------------- layout: site
title: Join the fun
---
Good principles, or rules of thumb, are not so easy to formulate. They come from experience and abstract it. ###Join the fun
If they don't come from, or not enough, experience they easily become just abstract and who really can tell
the difference (only one with more experience off course, and he/she does not need to read about principles). I am very open for people to join.
A conundrum.
I just want to mention that this is my hobby, something i do in my spare time, for fun. I don't get any money and in fact,
running 2 companies, have to carve the time to do this.
As such i want it to stay fun. So i am looking for friendly, constructive, positive contact.
Please read the pages and the code and find something that interests you, possibly from the todo list.
Then talk to me what you are planning. Issues can be good to capture topic conversations, as there is no list.
Then fork and work on a branch before sending pull request.
I wrote some ideas in the about page, but here some more code related guidelines
- Microkernel
Or "leave it out if you can", is definately something i go by. A variation of make it as simple as you can,
but not more simple.
- Walk the straight line - Walk the straight line
Or "No futureproof" means not to design before you code. Not to anticipate, only to do the job that Or "No futureproof" means not to design before you code. Not to anticipate, only to do the job that
needs doing. Better design should be extracted from working code. needs doing. Better design should be extracted from working code.
@ -18,13 +28,6 @@ A conundrum.
Having suffered from broken software (small feature add breaks whole software) so many times, the new tdd Having suffered from broken software (small feature add breaks whole software) so many times, the new tdd
wind is not just nice, it is essential. Software size is measured in tests passed, not lines written. Any wind is not just nice, it is essential. Software size is measured in tests passed, not lines written. Any
new feature is only accepted with enough tests, bugs fixed after a failed test is written. new feature is only accepted with enough tests, bugs fixed after a failed test is written.
- Layers represent an interface, not an implementation
It is said that every problem in computing can be solved by adding anohter layer of indirection. And so
we have many layers, which, when done right, help us to understand the system. (Read, layers are for us,
not the computer)
But implementing each layer comes with added cost, often unneccessary. Layers can and should be collapsed
in the implementation. Inlining, is a good example, a Jit another.
- Use names rightly - Use names rightly
or the principle of least surprise. Programming is so much naming, so if done right will lead to a or the principle of least surprise. Programming is so much naming, so if done right will lead to a

View File

@ -3,7 +3,6 @@ layout: site
title: Ruby in Ruby is 100% ruby title: Ruby in Ruby is 100% ruby
--- ---
<!-- Pay Off -->
<div class="row center vspace10"> <div class="row center vspace10">
<div class="span12"> <div class="span12">
<h1><span>Ruby in Ruby. With more ruby and nothing but ruby.</span></h1> <h1><span>Ruby in Ruby. With more ruby and nothing but ruby.</span></h1>
@ -44,13 +43,13 @@ title: Ruby in Ruby is 100% ruby
</div> </div>
<div class="span4"> <div class="span4">
<h2 class="center">Use the Rails effect</h2> <h2 class="center">Boys and toys</h2>
<p> <p>
Rails has evolved tremendously from what was already a good start. All the development <em>around</em> it has nurtured Rails has evolved tremendously from what was already a good start. All the development <em>around</em> it has nurtured
ruby developement in all areas. Rails and all those parts make up the most mature and efficient software system ruby developement in all areas. Rails and all those parts make up the most mature and advanced software system
i know. i know.
</p> </p>
<p> The rails effect is due to the accessibility of the system, imho. Ie it is written in ruby.</p> <p> The "rails effect" is due to the accessibility of the system, imho. Ie it is written in ruby.</p>
<p> Ruby itself has not enjoyed this rails effect, and that is because it is written in C (or c++) </p> <p> Ruby itself has not enjoyed this rails effect, and that is because it is written in C (or c++) </p>
<p> It is my firm belief that given a vm in ruby, ruby development will "take off" too. In other words, given an <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 easy way to improve his tools, a developer will do so. Easy means understandable and that means ruby for a
@ -59,14 +58,14 @@ title: Ruby in Ruby is 100% ruby
</div> </div>
<div class="span4"> <div class="span4">
<h2 class="center">Mature</h2> <h2 class="center">Evolutionary step</h2>
<p> <p>
The first thing any decent comiler does, is compile itself. It is the maturity test of a language to implement The first thing any decent comiler does, is compile itself. It is the maturity test of a language to implement
itself in itself, and it is time for ruby. itself in itself, and the time has come for ruby.
</p> </p>
<p> <p>
Having just learned Assembler, which i have successfully avoided for 30 years, i can attest what a great improvement C Having just learned Assembler, i can attest what a great improvement C is over Assembler.
is over Assembler. But that was then and it is not just chance that developemnt has been little in the last 50 years. But that was then and it is not just chance that developemnt has been slow in the last 50 years.
</p> </p>
<p> <p>
There is this attitude C believers elude and since they are the gatekeepers of the os, There is this attitude C believers elude and since they are the gatekeepers of the os,

View File

@ -1,10 +1,8 @@
--- ---
layout: site layout: site
title: Crystal title: Crystal and Ruby, Ruby and Crystal
--- ---
<div class="content"> <div class="content">
<div class="container theme"> <div class="container theme">
@ -26,7 +24,7 @@ title: Crystal
<blockquote><p> Pure OO, blocks, closures, often no need for braces, simple but consistant, open classes<br/></p></blockquote> <blockquote><p> Pure OO, blocks, closures, often no need for braces, simple but consistant, open classes<br/></p></blockquote>
<p> Just to name a few of the great features of the ruby syntax and it's programming model. <br/> <p> Just to name a few of the great features of the ruby syntax and it's programming model. <br/>
Syntax is an abstract thing, as far as i know there is no ebnf or similar definition of it. Syntax is an abstract thing, as far as i know there is no ebnf or similar definition of it.
Also as far as i know there is only the mri is considered (by matz and co) the only source of how ruby works. <br/> Also as far as i know there is only the mri which is considered the only source of how ruby works. <br/>
With more vm's appearing this is changing and the mpsec is apparently catching up. <br/> With more vm's appearing this is changing and the mpsec is apparently catching up. <br/>
As we are just starting we focus on oo consistency and implement only essential features. As we are just starting we focus on oo consistency and implement only essential features.
</p> </p>
@ -41,10 +39,13 @@ title: Crystal
<p>Crystal generates native code, and ( with 1+2) creates a native ruby (virtual) machine that is able to <p>Crystal generates native code, and ( with 1+2) creates a native ruby (virtual) machine that is able to
generate code on the fly and thus alter itself.</p> generate code on the fly and thus alter itself.</p>
<p>Crystal does not interpret, it parses and compiles (just making sure that's clear)</p> <p>Crystal does not interpret, it parses and compiles (just making sure that's clear)</p>
<p>Crystal uses a statically typed value based core with rtti and oo syntax to achieve this
(think c++ with ruby syntax)</p>
</div> </div>
<div class="span4"> <div class="span4">
<h4>Core - Library </h4> <h4>Core Library </h4>
<h5>Parfait</h5> <h5>Parfait</h5>
<blockquote><p> Ruby has core and std lib, with a slightly unclear distinction. <blockquote><p> Ruby has core and std lib, with a slightly unclear distinction.
Parfait is a minimalistic core library on which this could be built. Parfait is a minimalistic core library on which this could be built.