The Ruby Language
Ruby is one of the latest programming languages becoming mainstream in our days.
Being so human-friendly:
- fully readable source code;
# Output "I love Ruby" say = "I love Ruby" puts say # Output "I *LOVE* RUBY" say['love'] = "*love*" puts say.upcase # Output "I *love* Ruby" # five times 5.times { puts say }
- plain English used to describe complex domains (Domain Specific Languages);
Feature: Search courses In order to ensure better utilization of courses Potential students should be able to search for courses Scenario: Search by topic Given there are 240 courses which do not have the topic "biology" And there are 3 courses A,B,C that each have "biology" as one of the topics When I search for "biology" Then I should see the following courses: | title | | A | | B | | C |
one might think it was designed to fill the gap between human and computer languages.
Raised as a programmer I had to move towards management and business jobs because of the complexity of past programming languages. Before Ruby when programming one had to focus on form instead of function, on technical artifacts instead of business logic,
on abstract code constructs instead of creativity. There were no flow.
Computer culture had to advance to a level where a programming language was designed for fun and wide-spread usage instead of focusing on some abstract technical merits.
How many languages do you know?
When I was in school my teacher used to say “You are as many languages you know”. Perfect. A language is a gateway to a culture. Knowing and being part of cultures defines you as a human — a primarily cultural being.
Using a language shows the way the others are thinking, seeing the world, experiencing life. When speaking English you won’t become and Englishman but start feeling the English culture. When translating an English specific phrase to your language you’ll see what makes the difference between these two cultures.
Language is the tool describing, understanding and building a world. The bi-directional interface between the beings and their living environment.
Culture is the set of beliefs, concepts, best practices of a community about the world.
Language and culture are strongly related to each other: if you don’t know a language you are not part of the culture, you are not even considered human; if you are part of a culture your thoughts, beliefs, ways to express yourself — your language — is determined by the culture.
We can call this symbiosys.
Programming Languages and the Digital Universe
I speak two human languages beside my mother tongue and four other computer languages.
Human languages are tend to extinct when computer languages are born as fast as the digital universe expands. They soon will learn the human language to master the human culture. The next metasystem transition is about the Control of Culture.
The digital universe is much simpler than our known world. Learning a computer language is simpler than getting acquainted with a human language. Digital dominance is driven by simplicity.
The structure of both worlds are the same: there are single individuals framed into a hardware (body) running programs (thoughts) based on a certain domain knowledge (memory). They communicate and form cultures and societies (internet).
However the basics are very different: a hardware is much simpler and well known versus the human body, programs are much clearer than thoughts, computer memory is fully manageable comparing to our fading memories and collective subconsciousness. We can anytime
manage and see from above the digital universe when our natural environment is unpredictable.
We have created paradox: a new universe which depends on us but (soon) will control us. We will fight to keep the digital alive because the digital will force us to do so.
We can call this symbiosys.
Ruby — Your Way from Human Language to Digital Universe
The key strength of the Ruby Programming Language is the ability to express human thoughts and instructions — more than any other programming languages today — in plain English, understandable for any type of computers.
First you’ll have to learn the basics how computers and programs works — get input and produce output, build logic with simple mathematical operations, organize subdomains into a domain, construct a flow of actions to achieve a goal — and using Ruby you can tell the
computer the easier way how to perform these operations.
Once you’ve got familiar with basic Ruby you can learn another computing domain — web applications, server management — and use Ruby’s several Domain Specific Languages to tell again the computer in the easiest way what you want to achieve.
It is like learning English then learning Business English, or talking IT.
Why Learning a Programming Language
You have no other choice.
Today we are living the napstering of our existing world. The industry, soon the media and the state, and then our culture/worldview will be completelly changed. All closed systems — banks, corporations, government, the mind — will go open, you’ll be able to freely customize yourself and the environment hosting you.
All these by programming and meta-programming the (human bio)computer. Becoming programmer you’ll understand the system and it will free you staying consumer, an inactive participant in these world changing times.
























