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.
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).
A conundrum.
###Join the fun
I am very open for people to join.
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
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.
@ -18,13 +28,6 @@ A conundrum.
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
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
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
---
<!-- Pay Off -->
<div class="row center vspace10">
<div class="span12">
<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 class="span4">
<h2 class="center">Use the Rails effect</h2>
<h2 class="center">Boys and toys</h2>
<p>
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.
</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> 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
@ -59,14 +58,14 @@ title: Ruby in Ruby is 100% ruby
</div>
<div class="span4">
<h2 class="center">Mature</h2>
<h2 class="center">Evolutionary step</h2>
<p>
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>
Having just learned Assembler, which i have successfully avoided for 30 years, 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 little in the last 50 years.
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>
<p>
There is this attitude C believers elude and since they are the gatekeepers of the os,

View File

@ -1,10 +1,8 @@
---
layout: site
title: Crystal
title: Crystal and Ruby, Ruby and Crystal
---
<div class="content">
<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>
<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.
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/>
As we are just starting we focus on oo consistency and implement only essential features.
</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
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 uses a statically typed value based core with rtti and oo syntax to achieve this
(think c++ with ruby syntax)</p>
</div>
<div class="span4">
<h4>Core - Library </h4>
<h4>Core Library </h4>
<h5>Parfait</h5>
<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.