Aftenleg med Ruby

For et par uger siden gav Pind mig en halv times demo af Ruby on Rails, der er et vanvittigt cool webframework skrevet i programmeringssproget Ruby. Rails er et nydeligt MVC-design, der på en simpel og kraftfuld måde laver OR-mapping til mysql.

Jeg har i det sidste års tid kigget lidt med hos David Loudthinking, der har lavet rails, og før jul installerede jeg da også Ruby i en One-Click Ruby Installer version for windows.

I aften har jeg så brugt nogle timer i den interaktive Ruby shell (IRB) med Programming Ruby — The Pragmatic Programmer’s Guide åben i et vindue ved siden af.

Næste skridt er at starte et hygge-Rails-projekt. Hvilket jeg sikkert får tid til, når sneen er ved at smelte i foråret.

Update
Mikkel ‘Helenius’ og jeg sad åbentbart og rodede med Ruby synkront ;-)

8 kommentarer til “Aftenleg med Ruby”

  1. Jonas siger:

    Jeg ved ikke rigtig med Ruby… Læser man Ruby-programmørernes artikler, er der ingen grænse for hvor fantastisk, sproget er. Selv foretrækker jeg nok Python og PHP. Ruby er i princippet enkelt (alt er objekter), men der er tusindvis af undtagelser og små fifs, der gør det svært at lære. Samtidig har Ruby fire-fem-seks forskellige løkkestrukturer, der hver bruger sin egen afgrænsning (nogle gange “{” og “}”, andre gange andet) og har hver deres regler for, om variabler i dem er globale.

    De libraries, man kan få til Ruby, PHP og Python, er næsten alle de samme (de er scriptsprogets overbygning på et C-library som f.eks. Gtk+). Forskellen er bare, at hvor en PHP-udvidelse næsten altid er fremragende dokumenteret, er den tilsvarende Ruby-udvidelse stort set altid meget sparsomt dokumenteret på engelsk (dog ofte bedre dokumenteret på japansk, fordi Ruby er gud i Japan, men det hjælper jo ikke os :)).

  2. erlando siger:

    @jonas: Jeg synes faktisk ikke, det er så slemt. Specielt kan jeg ikke forstå det du siger med løkker. Jeg har efterhånden kodet en del linier ruby, og jeg er da ikke stødt på flere løkkestrukturer (og måder at notere dem på) end der er i andre sprog.

    Jeg er ganske glad for ruby og har det som mit absolut foretrukne sprog. Specielt fordi man får den samme regexp-power som perl med den sidebonus, at man rent faktisk kan læse koden.. :o)

  3. Jonas siger:

    De mange løkker så jeg i en oversigt i den bog, Christian nævner. Løkkerne bliver også brugt flittigt i forskellige af bogens eksempler.

    Vi er enige så langt, at det er en fryd at arbejde med Ruby ift. f.eks. C. Men hvis man derefter begynder at kræve god dokumentation og simpel syntaks, er det fornuftigt at overveje Python eller PHP.

    Det skal i øvrigt lige siges, at det er to år siden oder so, jeg sidst rodede med Ruby, så det kan da være, at dokumentationen er blevet bedre.

  4. dalager siger:

    Det er sandt at dokumentationen ikke helt matcher php udtømmende og brugerudvidede online-dokumentation.

    Men som Rasmus Lerdorf siger, så var php aldrig tænkt som et programmeringsprog, det bevægede sig bare derhen, Og php5’s Objektorientering er heller ikke et forsøg på at lave en fully fledged OO-sprog, men bare en udvidelse, der gør det muligt at bruge visse OO-features (Cool Interview på IT-COnversations)

    Et initiativ som Rails kunne godt, tror jeg give Ruby en udbredelse, der giver PHP konkurrence. Jeg mener, hvis man ser, hvor mange linjers kode, der skal til at lave en OR-mapped klasse, så har man ikke lyst til at bruge altfor meget tid sammen med php længere.

  5. Jonas siger:

    Jeg dimsede også med Ruby for nogle måneder siden, altså virkelig lavniveaudimsning. Dvs. en udvidet hello world tutorial.

    Ruby-prompten var fin nok, og det var slet ikke så skræmmende, men jeg er bare en klaphat til objektorienteret programmering. Jeg kan godt se det smarte, men jeg kan bare ikke få mit hoved omkring det.

    Det kommer sikkert, måske Ruby var en måde at lære det på.

  6. mikkel siger:

    Mere ruby…diskuterer dit indlæg på http://helenius.dk/archives/2004/10/06/rails-og-ruby/

    (trackback???)

  7. Jonas siger:

    Helt enig, PHP er ikke det bedste inden for OO-programmering (selvom det med PHP 5 nærmer sig), men Python er altså lige så fed som Ruby til OO - og med en enklere syntaks.

  8. dalager siger:

    Jonas (verture): Ruby kunne, tror jeg, godt være en måde at lære det på. Og ja, der er nogle lidt sind-bøjende koncepter hist og pist. Blandt andet når man sender kode med som argument.

    Jonas KB: jeg har ikke danset med python-slangen — eet dynamisk OO-sprog ad gangen er vist nok til mig…

    Mikkel: aah ;-)

Skriv en kommentar

Hvad er 2 plus 2? (antispam spørgsmål...)