2) Ruby jezik
Ruby je minimalističen jezik. Tudi pod razno se ne pusti zapletati pravilom C in C++. Ne jebe idiotskih pravil, katerih četrtine ne poznajo niti profesionalni programerji. Njegova filozofija je naj bi bilo
Programiranje v Rubiju naj bo užitek!
Ruby je torej minimalistični jezik: ima bogate knjižnice, toda v samem jeziku je malo mehanizmov.
Za razumevanje idiomatske kode v Rubiju so potrebni zgolj 3 principi delovanja teh mehanizmov jezika:
1) VSE kar obstaja v Rubiju JE OBJEKT.
Ruby ni OOP zgolj v smislu kot je OOP C++. V C++ in Javi obstajajo primitivni tipi. Tega Ruby sploh ne pozna. Celo števila, kot npr. 1 so polni objekti.
2) Vsaka operacija je klic metode na nekem objektu in vrne vrednost.
V Javi in C++ je npr overloadanje operatorjev nekaj drugega kot overridanje metod. Prav tako so tam možne void funkcije, ki ne vračajo ničesar. Ne v Rubiju. + je npr. prav toliko metoda kot GetSize().
3) Vsako programiranje je metaprogramiranje
Razredi in metode so lahko dodani ali spremenjeni kadarkoli, celo med tekom programa!
V Javi morajo bit razredi deklarirani ob času prevajanja; baznih razredov se ne da spremeniti niti takrat. Ne v Rubiju! Tu lahko ‘odpremo’ celo tako važne razrede kot je npr. String in ga spremenimo oz. mu dodamo metode. Kar slišim vrišč groze C++ programerja, ki se zgraža nad to omogočeno močjo Ruby programerju. “Toda s tem lahko nardiš en kup slabih zadev…”
Eh, GROW UP, MAN! With great power comes great responsibility! Ass hole Go back to your C++ cave full of stupid bugs and people without hair (the pulled all of them out, while loosing nerves)
več najbrž prihodnjič, “but who the fuck knows…” 🙂