Av : daniel.gasinski | 2012-10-21 12:55

JavaOne 2012 avslutades med pompa och ståt för några veckor sedan. I denna text ska jag redogöra några observationer jag gjort under konferensen.

 

Java behöver förbättras och man är öppen med det. Under konferensen har det skojjats friskt om gamla versioner av EJB och Struts, men även dagsaktuella problem med datum- och tidhanteringen.
Det talades mycket om vikten att involvera sig i Javas utvecklingsprocessen för att språket ska bli bättre. Ett sätt att engagera sig är att bidra med kodförbättringar. För att göra det enklare har man avsevärt förenklat kompileringen av Open JDK. Kompileringen som förut kunde ta veckor tar nu 10 minuter. Men det finna andra hinder som måste överbyggas för att underlätta för “code-comitters”. Java används globalt vilket innebär svårigheter för utvecklare med andra modersmål än engelska. Ska utvecklare världen över kunna bidra till förbättringar krävs det att de kan kommunicera i forum och på e-postlistor. Jag har själv ställts inför språkproblemet när koden jag arbetat med varit kommenterad på ett språka jag inte kan läsa.

 
En annan observation under konferensen var att man försöker få flera att bli intresserade för Java genom att visa på andra tillämpningsområden för språket. Vi åhörarna har under några sessioner bjudits på mer lättsmälta användningar jämfört med den, för många, systemtunga vardagen. Bland annat har det demonstrerats vad som går att göra med Java hemma, till exempel styra robotar och tända släcka lampor. Kanske är tanken att utvecklaren introducerar språket för sina barn under leksamma former. Robot-temat återkom även på den avlsutande talet där en större robot åkte runt på scen. Med programmerade sensorer skulle den åka runt och ändra kurs när den närmande sig scenkanten. Tyvärr misslyckades det och den fångades innan den slog i marken. Kan det ses som en metaform för de tidigare nämnda förbättringar som Java behöver?

 
Konkurrensen från andra språk och tekniker gjorde sig påmind under konferensen. Ett exempel är “hotet” från HTML5 . Javas pappa, James Gosling, demonstrerade ett skrivbordsprogram för övervakning av båtar och poängterade att detta aldrig skulle gå att göra i HTML5. Men det påpekades från flera talare att utvecklare inte behöver stå inför valet mellan Java och HTML5. JavaFX (efterträdare till Swing) erbjuder webbvy-komponent i vilken det går att köra HTML5. På så vis går det att använda delar av en kodbas i både webb och skrivbordsprogram. Konferensens namn till trots gavs andra JVM-baserade språk utrymme, till exempel Clojure, Groovy och Scala. Under en session om framtidens Java sades följande “i Java 8 kommer du kunna göra det du gör idag på ett sätt som är enklare och har färre rader kod. Men ännu bättre blir det med dagens Scala”. Generellt var attityden till Scala uteslutande positiv.

 
Överlag tycker jag att konferensen hållit en mycket hög nivå på innehållet, mycket tack vare duktiga talare. I februari är det dags JFokus, en konferens som tidigare bjudit på internationellt erkända talare. I jämförelse står sig JFokus bra och jag ser fram emot fler lärorika dagar.

 

Javas pappa James Gosling och Jag

 

 

Av : daniel.gasinski | 2012-10-03 18:55

Just nu pågår JavaOne, världens största Java-konferens. San Francisco badar i sol och taxibilar med reklam för konferensen visar vilken Twitter-hashtag som gäller. Konferensens sessioner är utspridda på olika håll i staden men nås enkelt till fots. Sessioner går att lägga till i ett eget schema och ger då en garanterad plats i sessionssalen. Varje insläpp kontrolleras genom skanning av det personliga besökskortet och allt fungerar smidigt så länge tekniken inte strular. Strular gör även det trådlösa nätverket. Det är ofta är oåtkomligt vilket drabbar talarna och deltagarna som kan inte nå sessionsschemat i mobilen. Istället erbjuds man skriva ut det på papper, något som känns lustigt med tanke på typen av konferens.

 

Själva innehållet på konferensen håller ofta en hög nivå och många gånger behandlas det allra senaste; den ena tekniken ska släppas i veckan, den andra nästa år (t.ex. JavaEE 7). Många av talarna är själva dom som är med och utvecklar den teknik som presenteras, vilket är häftigt. Flera av talarna har bett besökarna att komma med återkoppling och påverka det som ska släppas. Det måste vara ett tecken att även besökarna är kunniga människor. Bland annat har självaste Scala-pappa Martin Odersky suttit i publiken, samt flera duktiga kunder jag jobbat tillsammans med hemma i Stockholm. Detta sammantaget får konferensen att kännas som en smältdegel.

Värt att nämna är de sessioner som har bjudit på det där lilla extra. Allt filmas och följande är verkligen värda att se online

  • John Brook m.fl. om EASEL-projektet som gör det möjligt att sätta ut brytpunkter direkt i IDEn istället för att gå omväg via exempelvis Firebug.
  • Venkat Subramaniams humoristiska tips och tricks i Scala för den som inte blivit övertygad att lära sig språket.
  • Kevin Nilsons tips om hur html5 kan testas automatiskt i alla webbläsare, inklusive respektive webbläsares olika versioner.

Av : Karl Dickson | 2011-05-09 07:47

Vi på Mejsla har haft en härlig helg med mycket hackande (och lite mejslande) kombinerat med sol, god mat och trevligt umgänge. Vi har under ledning av Lars Westergren åter använt det mycket uppskattade unconference-formatet och tillsammans har vi hunnit gå igenom ett ganska stort antal verktyg, tekniker och ramverk:

  • ShowOff: Som Powerpoint fast i Markdown-format med möjligheter att t.ex. bädda in Javascript. Perfekt för utvecklare, i synnerhet om man vill göra presentationer om programmering eftersom det finns bra stöd för syntax highlighted code.
  • Cucumber och RSpec: Spännande och bra verktyg för BDD (Behaviour-Driven Development). Utmärkt för att kunna skriva ”läsbara tester” på hög nivå som för t.ex. webbtjänster.
  • Node.js: ”Coolt!” Ett ramverk för att skriva servrar och serverapplikationer i Javascript. Fantastiskt smidigt sätt att få upp en server. Och extra bra vid integrationer.
  • Java SE 7: Vi tittade på Project Coin och den nya filhanteringen i NIO.2. I Coin ingår bl.a. funktioner som förbättrad och förenklad felhantering, ett visst stöd för härledning av typer samt automatisk resurshantering (äntligen – jag som har saknat destruktorerna i C++ sedan jag gick över till Java i slutet av 90-talet).
  • Android: ”Här finns allt som saknades i Java ME!”. Och det är enkelt att komma igång tack vare riktigt bra dokumentation och lysande exempel. Schysst med bra stöd för test.
  • Java bytecode: På samma sätt som det är viktigt att förstå ram-minnesmodellen för att vara expert på C/C++ är det viktigt att förstå JVM:en och Java bytecode för att vara expert på de språk som finns för Javaplattformen. Vi dekompilerade kod och undersökte resultatet.
  • Scala: En snabb genomgång för dem som ännu inte hunnit titta på Scala. Det bästa från funktionella språk och skriptspråk utan att ge avkall på statisk typning eller objektorientering. Tyvärr med en komplexitet som i vissa avseenden påminner om den i C++.
  • Groovy: Ytterligare ett språk för Javaplattformen. Ett skriptspråk med dynamisk typning men för övrigt mycket likt Java, så det är lätt att komma igång med för Javautvecklare. Och med finesser som t.ex. closures och inbyggt stöd för reguljära uttryck som gör att det blir mer kraftfullt och enklare att använda.
  • Go: Ett experimentellt språk som Google utvecklar och använder för att t.ex. ersätta C/C++. Go kombinerar typsäkerhet och hög exekveringshastighet på flerkärniga processorer med högnivåfunktioner som automatisk skräpsamling.
  • Fossil: Ett distribuerat versionshanteringssystem med inbyggd webbserver, wiki och ärendehanteringssystem.

Självklart hinner man inte komma in på djupet i allt detta under en helg, men det är en stor fördel att i grupper hjälpas åt med att komma över de initiala trösklarna som finns för nästan alla tekniker och verktyg.

Tack för en mycket trevlig helg, alla som var med!

Av : Marie Arnell | 2010-10-19 20:35

Lördagen den 16 oktober stod Mejsla värd för ännu en intressant unconference day där den drivande personen bakom detta var vår egen Lars Westergren som även var moderator för dagen. Listan med föreslagna ämnen var lång och ett par av de ämnen som blev valda att diskuteras under dagen var Lift, Guava och Mirah.

Då listan fortfarande har en massa intressanta ämnen kvar,  hoppas jag att det inte kommer att dröja länge innan nästa unconference day går av stapeln.

Mer detaljer och Lars Westergrens reflektioner hittar du på Lars blogg.

Av : Karl Dickson | 2010-09-12 12:11

Skriver du mejl och sajt? Och sajnar du kontrakt? Eller signar du kontrakt? För mig är det numera en del av arbetsvardagen att signa kontrakt, fast bara i talspråk. I skrift brukar jag skriva under kontrakt, eller möjligen signera. Så jag blev lite förvånad när jag nyligen i en text med ett tämligen formellt språk läste om ett välsignat kontrakt. Jag fick läsa om meningen flera gånger innan jag insåg att det är jag som är skadad av svengelska och att det inte alls handlade om ett kontrakt som var ovanligt väl signerat – det handlade ju snarare om ett mycket välkommet kontrakt.

Det är nu många år sedan jag insåg att svengelskan måste få ingå i mitt yrkesspråk. Det är alldeles för många ord som inte har någon bra svensk motsvarighet, och att konsekvent prata ren svenska skulle inte fungera i praktiken i IT-branschen.

Att jag har accepterat svengelskan betyder dock inte att jag har tappat intresset för balansgången mellan svenska, svengelska och engelska. Jag är en road läsare av CS-krönikan Språksamt av Anders Lotsson, och då och då surfar jag också in på Svenska datatermgruppenSvenska datatermgruppens sidor för att hålla mig någotsånär uppdaterad på deras rekommendationer.

Även datatermgruppen har i viss mån gett upp när det gäller svengelskan. Exempel är ord som webb, chatta, skanna, server och router där datatermgruppen rekommenderar att de engelska orden används mer eller mindre rakt av med undantag för vissa konsonanter, böjningsformer etc. Jag tycker att det fungerar bra, och jag har vant mig vid deras rekommenderade stavning av webb trots att det i början gjorde nästan ont med kombinationen dubbel-v och två b.

Just kopplat till webb finns det några ord som jag har fått anstränga mig lite mer med. Det tog tid för mig att ersätta browser och web site med webbläsare respektive webbplats. Men just ordet webbplats är jag faktiskt riktigt nöjd med numera. Ordet hemsida som många använder har alltid känts helt fel, så för mig låg det närmare till hands att t.ex. skriva webbsajt på samma sätt som många informellt skriver mejl. Fast även när det gäller mejl så följer jag i regel också datatermgruppens rekommendationer och skriver istället oftast e-post eller e-brev. Och efter mitt senaste besök hos datatermgruppen ska jag nu även börja öva på att använda webbadress istället för URL när det gäller… adresser på webben. Och sedan blir väl konststycket att skilja detta från andra typer av Internetadresser.

Ett annat ord som jag använder ganska ofta är cache. Även här rekommenderar datatermgruppen att man använder det engelska ordet på svenska. Men jag reagerar på uttalet. De vill att det ska rimma på krasch! Alltså med a-ljud, eller?! Åtminstone för mig, som är starkt influerad av amerikansk engelska, rimmar cacheäsch! Undrar om de övervägde käsch.

Det finns också många ord där jag tills vidare väljer att köra vidare med engelska trots att datatermgruppen förespråkar svenska varianter. Ett sådant är repository. Jag tror att jag skulle behöva förklara mig om jag följde datatermgruppens rekommendation och sa t.ex. centralkatalog istället. Fast visst är det knepigt att integrera repository i svenskan. Det blir t.ex. en hemsk pluralform. Repositoryar går bara inte! Nej, då ger jag hellre upp helt och använder den engelska böjningen repositories. Önskar att det fanns en svensk standardlösning för denna typ av ändelse.

Förresten, är inte lodstreck och bakstreck två härliga ord? Fast jag vet inte om jag (tiden?) är mogen för att använda dem än. Hittills har jag i alla fall använt de engelska orden istället.

Sida 1 av 212