just polishing
This commit is contained in:
parent
971b3af10e
commit
f799c701dc
@ -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
|
||||||
|
15
index.html
15
index.html
@ -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,
|
||||||
|
11
what_is.html
11
what_is.html
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user