RailsConf 2010: Keynotes en presentaties

9 June 2010 5:15 Iain Hecker Algemeen, Evenementen, Ruby, Software beheer, Testen

Een drukke dag vandaag. Ik ga niet alles wat ik gezien heb samenvatten. Dat zou te veel worden. De presentatie van Patt Maddox over Domain Driven Design in Ruby verdient zijn eigen blogpost, dus die houden jullie nog van me tegoed. Nu dan een overzicht van de keynotes van vandaag.

Keynote van David Heinemeier Hansson

Iedereen keek natuurlijk uit naar de keynote van DHH (de maker van Rails). Het verlossende woord kwam ook direct: Rails 3 beta 4 is uit en binnen een week komt de release candidate uit. Dat is, als Rubygems.org het toestaat; aangezien ze vanochtend een flinke crash hadden.

Daarna ging DHH in op de verbeteringen die hij zelf het tofst vond aan Rails 3. Rails 3 fixt een aantal annoyances die er al een tijd in zitten.

De belangrijkste is Bundler. Bundler maakt een bubbel voor de dependencies en in een bestand (Gemfile) bepaal je welke depencies er zijn. Niks hierbuiten is beschikbaar en kan dus ook niet in de weg zitten. Alle dependencies zijn ook in 1 commando te installeren. Ik zal in een toekomstige blogpost hier dieper op ingaan.

De tweede plaats is voor de nieuwe ActiveRecord query interface. De oude API had last van “hasheritus”. De nieuwe API is een stuk aangenamer voor het oog. Ook kunnen individuele onderdelen dynamisch gestapeld worden. Aanschouw:

# Rails 2:
Product.all(:conditions => { :active => true }, :limit => 10)
 
# Rails 3:
Product.where(:active => true).limit(10)

De derde plaats is voor de router. Ook de router had last van hasheritus. De nieuwe syntax is schitterend en in Rails 3 wordt definitief gebroken met de oude manier van werken. REST is king!

De vierde plaats is voor de mailer die een flinke upgrade heeft gehad. De mailer is nu gelijkwaardig aan de controller en rendert mails in plaats van html.

Er kon ook nog een klein beetje gespeculeerd worden over Rails 3.1. De public directory in Rails gaat op de schop en CSS en Javascript worden first-class citizens. Er wordt meer gedaan aan client side performance en migraties worden eenvoudiger en automatischer gemaakt. Niks is nog zeker, maar het is goed om te zien dat er nog steeds hard gewerkt wordt aan Het Beste Web Framework.

DHH: “Rails 3 is not solving hard problems with hard solutions, but solving them with easy solutions”

Keynote van Micheal Feathers

Michael Feathers is geen Rubyist. Hij is schrijver van het boek “Working Effectively with Legacy Code“. Hij vermeldde dat het boek totaal oninteressant is voor Rubyisten. Het legde voornamelijk uit hoe je testbare Java kan schrijven. Volgens Feathers zou zijn boek over Ruby slechts 1 regel bevatten: “Ruby is goed testbaar”.

Hij stelde de vraag hoe goede code er uit zag en liet wat Java code zien. Hij is een groot voorstander van methoden met maar 1 korte regel. Ik ben zelf erg blij dat hij dat vond, want zo programmeer ik ook graag. Feathers vertelt de anekdote dat sommige mensen zeggen dat dit “novice-code” is en dat lange methoden “expert-code” is. Maar uiteindelijk is iedereen een novice binnen de scope van het project. Moeilijke code is alleen duidelijk voor mensen die het zelf geschreven hebben of al langer bijdragen aan het project. En na een maand niks gedaan te hebben aan het project ben je weer novice.

Uiteindelijk zal in ieder project entropie winnen, tenzij je er energie in blijft steken om het netjes te houden. Het “big ball of mud”-pattern is dominant en dat is waarin software, indien onverzorgd, altijd in vervalt.

Feathers stelde verder voor om meer wetenschappelijk onderzoek te doen naar software ontwikkeling. Geef 30 programmeurs dezelfde code en vraag ze onafhankelijk van elkaar een feature toe te voegen en kijk wat er uit komt. Verander de source iets en geef de code aan 30 andere programmeurs en kijk wat dan het resultaat is. Zo krijg we wetenschappelijk aangetoonde tips over hoe we het beste kunnen ontwikkelen en welke design patterns het beste zijn.

Keynote van Yehuda Katz

Yehuda is DE man achter Rails 3. Zijn keynote ging echter niet over Rails maar over de community. De community is fantastisch. Er wordt op grote schaal bijgedragen. Je hoeft niet uit Amerika te komen, gestudeerd te hebben op Berkley of perfect Engels te kunnen. Er wordt bijgedragen over de gehele wereld. Yehuda haalde de slogan van Perl erbij: “making easy things easy and hard things possible” en voegde toe dat onze slogan zou moeten zijn: “making easy things trivial, hard things easy and impossible things possible”.

Om echt awesome te worden moeten we iets onmogelijks vinden en het doen. Zo werden er tientallen voorbeelden genoemd van mensen die het onmogelijke gedaan hebben. Maar ook het kleine wordt geƫerd. Zo is er een vrijwilliger die de documentatie van Rails bijhoudt en daarmee al meer commits heeft gedaan dan Yehuda zelf.

Al deze mensen werden nog verder in het zonnetje gezet tijdens de Ruby Heroes Awards. Er waren zes mensen die in de prijzen vielen en een oorverdovend applaus kregen voor hun bijdrage. Een inspirerende dag!

Reageer

RSS feed for comments on this post · TrackBack URI