FOSDEM är stort. Mängder med folk trängs på en liten yta och varannan människa är expert på XMPP, PosgreSQL, SIP, Gnome, Mozillas byggmiljö, hur dålig Javas type inference är … Här kommer halvt uppstädade anteckningar, i väntat på att presentationerna läggs ut.
Groovy
Luca höll en väldigt enkel introduktion till Groovy (med tanke på den extremt kunniga publiken i Free Java-rummet). Min behållning var att se hur Groovys closure syntax ser ut, t ex såhär:
alist = ['hej','på','dej']
alist.sort{ element ->
element[-1]
}
// sorterar på sista bokstaven i varje element
// (en sträng hanteras som en lista av tecken, precis som i Python t ex)
20.times { attr ->
println("This is iteration ${attr}")
}
// man verkar använda särskilda metoder som tar closure som argument
alist = alist.collect{ el ->
el + "\o/"
}
// finns grep också
println al
Efterföljande presentation i samma rum (Free Java) började med att säga ”So, I know a way to make Groovy closures work at least 20 times faster” :)
Lamba + JSR 292
Genast åkte kompetensnivån upp i taket – precis som tidigare år. Har man inte koll på hur JVM:en egentligen fungerar (eller iaf har läst Java Lang Specen), och kan läsa det jad eller annan dekompilator spottar ur sig så börjar man känna sig utanför. Inte pga tonen mellan folk (Javafolk är i allmänhet tvärtom väldigt trevliga och ödmjuka), utan helt enkelt pga att det är på den nivån som många argumenten ligger (om inte rent av de flesta).
Remi gick iaf igenom förslagen för hur lambda kan komma att implementeras, både vad gäller syntax, scope-frågan och även hur det skulle kunna implementeras i språket.