Creating Builders in Kotlin– The Results of the Kotlin Workshop

At the beginning of May, I held a Kotlin workshop at Skills Matter in London. The attendees had to go through a series of exercises to get familiar with Kotlin’s language constructs and then do two larger exercises.

image

Seeing that one of Kotlin’s benefits is the ability to design nice DSL’s, I proposed that they write a JSON Builder and a Build System (i.e. the next Ant, MSBuild, Rake,…take your pick).

We divided up into groups of three people per team and each went off their own way to design their own DSL’s.

Most managed to finish both exercises, or at least finish one and start the second. We were meant to vote on the winning DSL and they’d then get a prize (namely each member of the team would get to choose a license of one of our IDE’s). Unfortunately, 30 minutes prior to ending the class, some had to leave and then I mistakenly mentioned that Beers were happening in the Slaughtered Lamb and all hell broke lose. Moral of the story: we didn’t vote.

But I’m going to keep my word. I’ve managed to collect the outcome of the different teams (or what they managed to complete). I’ve presented them below (anonymously) and leave you all to vote for which one you like the best. The winning team will then receive their prize.

Exercise JSON Builder: Create a DSL to express JSON in Kotlin and output the result to actual JSON.

Exercise BUILD Builder: Create a DSL to define Build Scripts in Kotlin

(Teams are randomly ordered and might not have resemblance with actual seating during the workshop)

Team 1 – Finished the JSON Builder

image

Team 2 – Finished the BUILD System

image

Team 3 – Finished the JSON Builder and the BUILD System

image

image

Team 4 – Finished the JSON Builder and the Build System

image

image

 

Team 5 – Have not received any entries unfortunately.

 

Voting

Realizing that some participants have submitted both, others only one, and a couple none, just vote for whatever you like the most, be it the JSON Builder or Build system.

Voting will end Thursday 6th of June at 12 pm CET.

UPDATE: VOTING NOW CLOSED

Results are in:

Winning Team, with 44% of the votes is Team 3. Close in second with 39% of the votes is Team 1.

Congrats to Team 3. Your licenses will be on the way (contact me if you’re one of the team members).

 

Thank you

I’d like to extend a thank you to all the participants for having taken part and a big shout out to Skills Matters for facilitating this workshop. You’re doing great things for the community.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s