Ok, na duizenden msn/irc berichten van RayNbow en een discussie op irc met Wolfboy mbt topic heb ik me toch maar laten verleiden om deel te nemen aan dit topic

Gewoon om ervan af te zijn
In eerste instantie wil ik zeggen dat ik iemand ben die nog altijd geloofd dat je de right tool for the right job moet kiezen. Daar spelen diverse factoren een rol bij, e.g. levenscyclus van het project, inhouse ervaring, deadlines etc... Als er bijvoorbeeld al veel kennis binnen een bedrijf is met een bepaalde taal en je moet projecten afkrijgen voor een bepaalde deadline, dan is het wellicht voor de hand liggend om niet zomaar even iets nieuws erbij te pakken waar nog geen werknemer (genoeg) kennis van heeft.
Ten tweede ben ik ook iemand die nog altijd gelooft dat paradigma's beheersen belangrijker is dan een taal beheersen. Vergeet niet dat een taal 'slechts' een mechanisme is om eenvoudiger volgens een paradigma te kunnen programmeren. Zo is C al genoemd als een 'beter' alternatief voor assembler, maar aan het einde van de dag vallen beiden nog steeds onder de noemer imperatief programmeren. Daarbij is het aan de smaak van de programmeur om te bepalen welke hij fijner acht voor een bepaalde klus.
TS zegt dat hij al maanden bezig is met RoR, en ik vraag me dan af hoeveel daarvan effectief zijn, want maanden moet in dit geval genoeg zijn voor een developer om zelf in te kunnen schatten of een tool geschikt is voor de job. Ik zet dus vraagtekens bij de diversiteit aan ervaring mbt programmeren die TS heeft gehad en uit ze dan ook openlijk. Niet alleen TS trouwens, ook bij sommige reacties heb ik deze bedenkingen... vooral wanneer het neerkomt op argumentloze opsommingen van websites, en schuine argumentatie, quotes/blogposts die oost indisch blind gelezen worden etc... Gelukkig zijn de meesten dan ook weerlegd.
Ik heb dan ook het gevoel dat weinig mensen hier in dit topic ook echt ervaring hebben met RoR om zinnige uitspraken hierover te doen, aangezien argumentatie in de meeste posts gewoon ontbreekt.
En hoe noemen ze dat ook alweer in de nederlandse taal?
De meesten hier hebben ervaring met PHP, dat zie ik, maar volgens mij is dat ook de enige taal waar men echt ervaring mee heeft. Hiermee blijft je horizon nogal beperkt, zoals Bjarne Stroustrup ook zegt (vader van C++ als ik toch C++ even moet aanhalen), een goede programmeur dient meerdere talen/paradigma te beheersen.
De blogpost mbt cdbaby laat dit ook blijken, waarbij iemand die voorheen enkel PHP kende een uitstapje maakte naar Ruby (en rails) en zich liet inspireren door de good practices van de framework. Dat hij deze nu dan toepast op PHP is dan ook in overeenstemming met het feit dat hij wel meer gegroeid is door zijn ervaring met RoR: zijn persoonlijke voorkeur lijkt gewoon meer bij PHP te liggen, net als dat de mijne meer bij Ruby ligt.
Wat betreft het 'argument' dat Ruby te beta is, daar zou ik toch graag argumentatie op willen zien. Want dan moet je even tegen reuzen als Amazon en BBC even vertellen dat ze verkeerd bezig zijn. Wat betreft de BBC trouwens, interessante link:
http://www.bbc.co.uk/blog...07/11/perl_on_rails.shtml . Net als cdbaby hebben ze zich laten inspireren door rails, maar doordat men al veel kennis in huis heeft met perl heeft men besloten om een rails te bouwen voor perl (hetgeen in overeenstemming met right tool for the right job).
Wat betreft het crashen enzo, ik zou dat liever willen verwijten aan een slechte server config. Zo heb ik evenzo genoeg verhalen gehoord met RoR configs die honderdduizenden mensen moeten serveren en dit zonder crashen kunnen (e.g.
www.ilike.com). Mijn voorkeur gaat trouwens uit naar een lighty config.
Wat betreft verschillende loads, dat is nogal voor de hand liggend he? Rails doet een stuk meer werk dan jouw op maat gemaakte PHP scripts. Nee, dat zeg ik verkeerd, Rails neemt veel meer werk uit handen, wat je o.a. bij PHP met je eigen custom template engine die je in je overschot aan tijd in elkaar hebt gefietst. Want tijd teveel dat heeft iedereen toch? Bovendien is die code ook bewezen vergeleken met een framework dat onderhouden wordt door een grote community. Oh nee, toch niet.

Je moet wel meten met gelijke maten he? Vergelijk eens een PHP rails clone* qua performance met RoR, dan zul je zien dat deze al een stuk minder van elkaar verschillen. Maar wanneer je bezwaren/performance bottleneck bij de overhead ligt van een framework als deze dan ga ik toch vraagtekens zetten. Pragmatiek, wat was dat ook alweer?
Als men het diagram trouwens bekijkt van RayNBow, dan zien jullie dat Ruby als taal ongeveer uit dezelfde tijd komt als PHP. Het verschil is echter dat Ruby op dat moment al geheel object georienteerd was, en PHP gekozen heeft het pad te bewandelen van eerst procedural, met later OO erop geplakt... en dat is goed te merken imho, maar daar heb ik me in het verleden vaak genoeg over geuit, dus als je daar m'n argumentatie op wil hebben moet je maar even zoeken op m'n nick op GoT...
Maar goed, wat ik wil zeggen is elke taal wel een voordeel heeft voor bepaalde programmeurs en dat RoR het resultaat is van good practices als design patterns en AOP in de webdevelopment wereld. MVC is welliswaar een oud concept, maar je moet eens weten hoeveel varierende implementaties er op deze design pattern bestaan. Zo hebben we codebehind/MVC2 dat bekend is geworden in de asp.net/j2ee wereld en nu dus ook MVC ala RoR. Dat laatste bevalt veel mensen dusdanig dat .net sinds kort .net MVC heeft geintroduceerd dat zich
nogal heeft laten inspireren door RoR. Daar is helemaal niks mis mee, integendeel, mensen krijgen meer opties om te bepalen wat voor hun de beste oplossing is voor een bepaalde situatie.
Zelf heb ik wat betreft webdevelopment o.a. ervaring met C# + asp.net, J2EE, PHP en RoR. Doordat ik ervoor kies om meerdere dingen goed te proberen stelt dat mij ook in staat om zoiets als asp.net MVC binnen een paar uren op te pikken, goede concepten evt elders toe te passen etc... Persoonlijk schrijf ik websites het liefst met RoR, vooral vanwege de filosofie van DRY, pragmatische dingen als migrations, gratis ORM in de vorm van ActiveRecord etc... Sterker nog, op m'n uni (utwente) wordt RoR steeds meer boven PHP verkozen, hetgeen ik o.a. terugzie in de oproepen van o.a.
http://www.studentunion.utwente.nl/os/home/vacatures.html, webcommissies voor o.a. Daedelus, Scintilla etc...
Maar dat kan misschien ook door het werk komen dat mijn bacheloropdracht groepje momenteel verricht voor de utwente. We zijn nu met RoR een kennisoverdracht systeem aan het implementeren welke gepresenteerd wordt tijdens de student it conference op 25 januari op de utwente. Mensen die interesse hebben (voor o.a. mijn ongezouten mening mbt PHP**

) zijn bij deze van harte uitgenodigd.
* = Ik geloof trouwens dat PHP nooit een volwaardige rails clone zal krijgen, gewoon omdat er iets fundamenteel ontbreekt dat rails zo geweldig maakt: ruby. Hetgeen in RoR is over 't algemeen ook te doen in PHP, maar of je het wil is iets totaal anders. Zo heeft Ruby mechanismen in de taal zelf voor open classes en closures, waar Rails heel zwaar op leunt. Probeer datzelfde eens met PHP en gruwel van de code.
**= Ruby on Rails >>>>>>>> PHP