(public draft)
I’ve notice several people mentioning something like “Matz is nice and
so we are nice” (MINASWAN).
MINASWAN - Sounds like Japanese.
Japanese, like Mr. Yukihiro M. (Matz), the ruby language
designer is.
And so I started wondering about this here:
MIDASWAD - Matz is Dumb and so We are Dumb
If “Matz” would act like a Moron (in context of language-design),
would this mean that the “We’s” would act like moron’s, too?
An example:
If Mr. Matsumoto applies “Design by Egoism”, then he is “Dumb” (in
context of language-design, not as an individual of course).
The reasoning is simple:
you cannot design a consistent OO language if you apply “Design by
Egoism”. If you ignore logic and reason, just because it happens that
you have some warm feelings for a construct (or person), and cold
feelings for another one, then you apply “Design by Egoism”. And this
will slowly degrade the language.
If the so called “We’s” (whatever this is) would follow this paradigm,
then they would be “dumb”, too - (again, in context of language-
design, not as individuals of course).
Does Mr. Matsumoto apply “Design by Egoism”? - I am not sure yet,
although some issues indicate this. [1]
It’s his language, one will say, he has the right to do so. Well, it’s
possibly his language, but there is something more:
Honour!
It’s a matter of honour to respect the people which depend on the
language. If the main design goals are directed by Egoism, then soon
or later, the language system will collapse. It will not be able to
withstand the requirements of modern applications, and will slowly
fade away.
It’s a matter of honour, to use the “Reality of Logic” for design
decisions, if people depend on you. This can be one small individual,
which feeds his family based on the work with the language. This can
be a large language-subsystem, like a web-framework implemented on top
of the language.
Rails.
Ruby on Rails has brought many people to ruby. It pop’s around in my
mind as “The Windows 3.1x of Web-Development-Frameworks”. I don’t know
exactly why.
Now, it seems that the “Ruby on Rails” framework has raised the
requirements to the language system ruby. It seems that it tries to
achieve more than ruby can provide. The possible reasons are:
- Rails is so powerful
- Rails is badly designed
- The designer has simply chosen the wrong language to place “on
Rails”.
What is clear is, that this framework requires much from ruby - and
the Main Ruby Implementation (MRI, Matsumutos Ruby Implementation)
starts buckling.
Several new interpreters “pop out of nowhere”. There’s a “professional
edition” of ruby, other companies implement specialized versions with
new garbage-collectors, and who knows how many “hidden” ones. Others
make the “scalability dictated” move to the beloved Java Language. And
others take the “in between solution”:
Ruby On Java On Rails.
What a contradiction! Shouting on Java, and then using Java as the
foundation to execute the “better” language, JRuby, and the “better”
web-framework. Anyway.
Diversity.
People say “Ruby encourages diversity”. This is of course nonsense.
The people around ruby always manage to serve a weakness as something
positive, as something special. And this happens sometimes with
professionalism (possible due to the advertisement/design companies/
people which came in touch with ruby).
But I say “Ruby encourages diversity” means in reality “they fail to
coordinate efforts into one project”. I say that ruby has started to
degrade long time ago, and will continue to degrade, that’s why
companies build custom versions of the interpreter.
It’s most possibly a matter of “Design by Egoism” - either that of Mr.
Matsumoto’s, or that of the “New Implementation of the Ruby Language”
side (or perhaps both). They may should take a look at:
Oracle & IBM & Others - large scale companies, which manage to
cooperate (because they realize they have to join efforts). Not that
the eclipse-project is a masterpiece of liberality, but at least there
are processes.
The companies surrounding ruby fail to do so. They do not cooperate
efficiently, the do not focus efforts into main-line-ruby, they do not
organize and strengthen the development processes, they to not
criticize and judge in the way they should, to encourage evolution.
In the Ruby and the Rails domain, you see “big” names in the sponsor
list of conferences and events. But you don’t see those companies
collaborate efficiently where it is most important: on the language
level.
It seems like egoism is valued more the collaborative achievement and
technical excellence. And of course Politics.
Politics everywhere, throughout the language system, an even the
“Rebels” (see e.g. “Rails is a Ghetto”) are finally nothing else the
egocentric politicians, which just shouted out stuff when they left -
instead of staying, shouting and fighting when they were part of the
language-system.
This is what ruby is about:
Egoism and Politics.
And then this “Community Myth”.
I know that the people which write here publicly are not the so
called “community”.
The population of the language-system “Ruby” consists first of all
from the thousands of users which do not write here.
They use the language, e.g. to write glue-code for their applications,
to control a small part of a film-production, a pre-processor, a quick-
prototype or something that I can’t even imagine.
They are far to busy to get distracted by writing on public media and
dealing with the…
Freak-Show!
The “freak-show” (a few regulars on a list, which give the impressions
that they are the community). A few regulars, which have no sense
for their own limits. And a few spineless followers which have not
personal opinion at all.
A few regulars and some followers, personalities which are weak down
to the bones, which gain strength only in an herd - like hyenas, which
do not respect the rights of an individual, the freedom of
expression, the freedom of choice (e.g. to not read, to filter) and
which do not realize that they are both, a shame and a damage to the
language-system.
This is not the community. This is just the “Freak-Show”, which
every language system has, more or less.
Professionals.
So, where are the professionals, which focus on the technical essence
and which know that language-evolution has not much to do with
politics and “freak-shows” or “liking each other” and all this
nonsense?
Professionals which know, that giving to much priority to such values
will degrade the language-system.
Professionals which know, that a major part of core-level software-
development is about analysing and abstracting things.
If you like to confirm my sayings, but you don’t want to do it
publicly, please feel free to contact me with private email.
[1]
Literal Instantiation breaks Object Model
Provide Class#cb_object_instantiated_from_literal(object)
Unify Variable Expansion within Strings
.