Home » JVM Languages (page 6)

JVM Languages

Kotlin – Tuple type

It is very simple to write a Tuple type with the expressiveness of Kotlin. My objective expressed in tests is the following: 1. Be able to define a Tuple of up to 5 elements and be able to retrieve the elements using an index like placeholder, in a test expressed with 2 elements like this: val tup = Tuple("elem1", "elem2") assertThat(tup._1).isEqualTo("elem1") assertThat(tup._2).isEqualTo("elem2") ...

Read More »

Kotlin – Try type for functional exception handling

Scala has a Try type to functionally handle exceptions. I could get my head around using this type using the excellent Neophyte’s guide to Scala by Daniel Westheide. This post will replicate this type using Kotlin. Background Consider a simple function which takes two String, converts them to integer and then divides them(sample based on scaladoc of Try) : fun ...

Read More »

Gettin’ schwifty with Clojure’s core.async

A few months ago, somebody in the office pointed us to an interesting  job offer from CartoDB which looked as follows: What follows is a technical test for this job offer at CARTO: https://boards.greenhouse.io/cartodb/jobs/705852#.WSvORxOGPUI Build the following and make it run as fast as you possibly can using Python 3 (vanilla). The faster it runs, the more you will impress us! ...

Read More »

Recursion

Recursion is a technique that allows us to break down a problem into smaller pieces. This technique allows us to remove some local side effects that we perform while writing looping structures and also makes our code more expressive and readable. In this post we will see why it is a very useful technique in functional programming and how it can help ...

Read More »

Exclusive Book Offers (75% off): Big Data Analytics with Java, Scala and Spark for Big Data Analytics, Big Data Visualization

Hello fellow Geeks! Today, we have some exciting news for you! Java Code Geeks and Packt have teamed up to offer you weekly discounts on their extensive library of books. This week, we are offering discounts on three books to help you understand and master Clojure. Check them out! Big Data Analytics with Java By Rajat Mehta This book covers ...

Read More »

Exclusive Book Offers (75% off): Learning ClojureScript, Clojure for Java Developers, Clojure Reactive Programming

Hello fellow Geeks! Today, we have some exciting news for you! Java Code Geeks and Packt have teamed up to offer you weekly discounts on their extensive library of books. This week, we are offering discounts on three books to help you understand and master Clojure. Check them out! Learning ClojureScript By David Jarvis, Rafik Naccache, Allen Rohner Clojure is ...

Read More »

Learning to Build Clojure Webapps

A while ago I gave a talk at an internal event at Zenika Singapore. We were free to choose a topic so I chose something I thought I didn’t know enough about – what it feels like to build a web app in Clojure. This post is a transcript of the talk. I’ll go into some details on Clojure, which ...

Read More »

Make Your Groovy Objects More Bullet-Proof

Groovy has the Immutable annotation which allows to create immutable classes, which is a prerequisite for creating value objects. Unfortunately, when a class has been annotated with Immutable it’s no longer possible to add your own constructor to verify if provided parameters are not null, which would make our value objects really bullet-proof. @groovy.transform.Immutable class Money { BigDecimal amount } ...

Read More »

Kotlintest and property based testing

I was very happy to see that Kotlintest, a port of the excellent scalatest in Kotlin, supports property based testing. I was introduced to property based testing through the excellent “Functional programming in Scala” book. The idea behind property based testing is simple – the behavior of a program is described as a property and the testing framework generates random data to validate the ...

Read More »