From 210827fe5c953c36152a6f45a4393f655e6531fb Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Fri, 12 Sep 2014 21:48:55 +0300 Subject: [PATCH] swapped two main pages around --- _layouts/main.html | 4 +- ideas.html | 142 ++++++++++++++++++++------------------------- index.html | 142 +++++++++++++++++++++++++-------------------- 3 files changed, 144 insertions(+), 144 deletions(-) diff --git a/_layouts/main.html b/_layouts/main.html index 64e012b..560bbd8 100644 --- a/_layouts/main.html +++ b/_layouts/main.html @@ -12,8 +12,8 @@ layout: site
diff --git a/ideas.html b/ideas.html index ba2a135..6068f19 100755 --- a/ideas.html +++ b/ideas.html @@ -1,102 +1,88 @@ --- layout: main -title: Ruby in Ruby -sub-title: Salama hopes make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all, empower you +title: Effectiveness, not efficiency +sub-title: By way of a new look at programming. ---
-

A better tool, a better job

+

Where to go

- 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. + When making the distinction between effectiveness and efficiency i like to think of transport.

- Why it has taken this long to even seriously attempt a ruby implementation in ruby is due to the overwhelming - influence of C (folks). + Efficiency is going fast, like an airplane is much more efficient than a car and that is more so than walking.

- Just a short and subjective list of why ruby is the better tool: -

    -
  • More fun. Ask anyone :-)
  • -
  • Lets you focuss on the task
  • -
  • Elegant, both in syntax and solution
  • -
  • Understandable
  • -
  • Much faster to code
  • -
+ Effectiveness on the other hand is how straight your route is. Say you're in Hamburg and want to go to Berlin, then + it is not effective to go to Rome first. +

+

+ Ruby, like python and mother smalltalk, let us be more effective at programming. We accept that they are not efficient, + but i think that can be changed. +

+

+ But even while ruby has blossomed we have seen noticeable increase in effectiveness with so called dsl's and + what is generally called meta-programming. +

+

+ But meta-programming is just a way to say that we manipulate the program just as we manipulate data. Off course! But + to do that effectively we need a better model of what an object oriented program actually is. +

+
+ +
+

Understandability

+

+ The way i see it is that it is the understandibility that makes ruby or python more effective. As we read much more + code than write (even it's our own), focusing on descriptive programs helps. +

+

+ But you only have to look at even rubies basic blocks, to see how misleadingly language is used. + We use Strings to represent words and text, while we store data in Arrays or Hashes. + If you look these up in a dictionary you may find: a thread used for tying, + a military force, or a dish of diced meat and vegetables. So we have a way to go there. +

+

+ But even more disconcerting is that we have no model of how an object oriented system actually works. We know what it + does off course, as we programm using it all the time. But how it does it is not clear. +

+

+ At least not clear in the sense that i could go and read it's code. Ruby like python are written in c and that just + is not easily understandable code.

-

Boys and toys

+

Playing computer

- Rails has evolved tremendously from what was already a good start. All the development around it has nurtured - ruby developement in all areas. Rails and all those parts make up a most mature and advanced software system. + When programming, we fly blind. We have no visual idea of what the system that we write will do and the only way + to get feedback is to have the final version run. Bret Victor has put this + into words well.

-

The "rails effect" is due to the accessibility of the system, imho. Ie it is written in ruby.

-

Ruby itself has not enjoyed this rails effect, and that is because it is written in C (or c++)

-

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 +

+ So when we program, it's actually mostly in our head. By playing computer, ie simulating in the head what the computer + will do when it runs the programm. +

+

+ And so what we consider good programmers, are people who are good at playing computer in their head. +

+

+ But off course we have the computer right there before us. Really the computr should do it rather than + us having to simulate it. +

+

+ What will come out of that line when we actually manage to put it into practise is unclear, though it is certain it + will be easier to do and result in hugely more powerful programs +

+

+ Yet to get there we need better tools. Better tools that let us understand what we are doing better. Better models of + what we call programming, and by better i mean easier to understand by normal people (not the computer simluators).

- -
-

Step to Indepencance

-

- 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. -

-

- 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. -

-

- 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 static code is fast. -

-

- On a very similar note we are lead to believe that os features must be used from c. Whereas system calls - are software interrupts and only the c std library makes them look like c functions. But they are not. -

-
-
-
-

So what does empowerment mean.

-

- 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. -

-

- So it is hard to even think of ruby holding us back, and it isn't off course, only current implementations of it are. -

-

- So 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. -

-

- But to mention a few things that have crossed my mind (and that i will most certainly not implement) -

-

-

- 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. -

-

And off course democracy decides what is good and what will stay. Natural extinction and all.

+ diff --git a/index.html b/index.html index 6068f19..ba2a135 100755 --- a/index.html +++ b/index.html @@ -1,88 +1,102 @@ --- layout: main -title: Effectiveness, not efficiency -sub-title: By way of a new look at programming. +title: Ruby in Ruby +sub-title: Salama hopes make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all, empower you ---
-

Where to go

+

A better tool, a better job

- When making the distinction between effectiveness and efficiency i like to think of transport. + 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.

- Efficiency is going fast, like an airplane is much more efficient than a car and that is more so than walking. + Why it has taken this long to even seriously attempt a ruby implementation in ruby is due to the overwhelming + influence of C (folks).

- Effectiveness on the other hand is how straight your route is. Say you're in Hamburg and want to go to Berlin, then - it is not effective to go to Rome first. -

-

- Ruby, like python and mother smalltalk, let us be more effective at programming. We accept that they are not efficient, - but i think that can be changed. -

-

- But even while ruby has blossomed we have seen noticeable increase in effectiveness with so called dsl's and - what is generally called meta-programming. -

-

- But meta-programming is just a way to say that we manipulate the program just as we manipulate data. Off course! But - to do that effectively we need a better model of what an object oriented program actually is. -

-
- -
-

Understandability

-

- The way i see it is that it is the understandibility that makes ruby or python more effective. As we read much more - code than write (even it's our own), focusing on descriptive programs helps. -

-

- But you only have to look at even rubies basic blocks, to see how misleadingly language is used. - We use Strings to represent words and text, while we store data in Arrays or Hashes. - If you look these up in a dictionary you may find: a thread used for tying, - a military force, or a dish of diced meat and vegetables. So we have a way to go there. -

-

- But even more disconcerting is that we have no model of how an object oriented system actually works. We know what it - does off course, as we programm using it all the time. But how it does it is not clear. -

-

- At least not clear in the sense that i could go and read it's code. Ruby like python are written in c and that just - is not easily understandable code. + Just a short and subjective list of why ruby is the better tool: +

    +
  • More fun. Ask anyone :-)
  • +
  • Lets you focuss on the task
  • +
  • Elegant, both in syntax and solution
  • +
  • Understandable
  • +
  • Much faster to code
  • +

-

Playing computer

+

Boys and toys

- When programming, we fly blind. We have no visual idea of what the system that we write will do and the only way - to get feedback is to have the final version run. Bret Victor has put this - into words well. + Rails has evolved tremendously from what was already a good start. All the development around it has nurtured + ruby developement in all areas. Rails and all those parts make up a most mature and advanced software system.

-

- So when we program, it's actually mostly in our head. By playing computer, ie simulating in the head what the computer - will do when it runs the programm. -

-

- And so what we consider good programmers, are people who are good at playing computer in their head. -

-

- But off course we have the computer right there before us. Really the computr should do it rather than - us having to simulate it. -

-

- What will come out of that line when we actually manage to put it into practise is unclear, though it is certain it - will be easier to do and result in hugely more powerful programs -

-

- Yet to get there we need better tools. Better tools that let us understand what we are doing better. Better models of - what we call programming, and by better i mean easier to understand by normal people (not the computer simluators). +

The "rails effect" is due to the accessibility of the system, imho. Ie it is written in ruby.

+

Ruby itself has not enjoyed this rails effect, and that is because it is written in C (or c++)

+

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

+ +
+

Step to Indepencance

+

+ 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. +

+

+ 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. +

+

+ 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 static code is fast. +

+

+ On a very similar note we are lead to believe that os features must be used from c. Whereas system calls + are software interrupts and only the c std library makes them look like c functions. But they are not. +

+
+
+
+

So what does empowerment mean.

+

+ 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. +

+

+ So it is hard to even think of ruby holding us back, and it isn't off course, only current implementations of it are. +

+

+ So 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. +

+

+ But to mention a few things that have crossed my mind (and that i will most certainly not implement) +

+

+

+ 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. +

+

And off course democracy decides what is good and what will stay. Natural extinction and all.

-