From Extension Lambdas to expressive Kotlin DSLs

Extension functions, and Lambdas and even Extension Lambdas have both been discussed already (and are assumed knowledge for this page).  But the uses of lambdas goes beyond just functionality, and into the realm of expressive code.  Expressive code is about having the code represent the ideas behind the code more clearly, allowing better reading of the… Continue reading From Extension Lambdas to expressive Kotlin DSLs

Advertisements

Closures, callbacks, Lambdas and Lambda parameters

Introduction. Previous pages have introduced the concept of lambdas and closures, and explained how the concept of the closure relates to methods, static and class methods in both python on kotlin.  This page builds on the concept of lambdas and closures, and provides more details on the workings in kotlin and how this differs from… Continue reading Closures, callbacks, Lambdas and Lambda parameters

Issues: bug, task, story and epic

Both scrum and Kanban project boards allow for different issue types. In many tools for project boards, developers can even choose their own issue types. This page covers the standard scrum issue types, and particularly the differences between stories, tasks and epics. Kanban and Scrum: What is the point? the key to agile: stories vs… Continue reading Issues: bug, task, story and epic

Gradle Kotlin DSL 1.0: Basic App Build

Contents: Kotlin DSL list of other pages Build Basics in Gradle Plugins Dependencies and Artifact Repositories A Simple Practical Example Varying the Source Locations: SourceSets Application Testing - JUnit local jars as dependencies Build Basics with Gradle. The build file prepares a configuration for gradle and for any optional extra build tools.  The basic configuration… Continue reading Gradle Kotlin DSL 1.0: Basic App Build

Interfaces, Delegation & Composition vs Multiple Inheritance & Duck Typing

Kotlin has Interface, Abstract Classes and Delegation, while Python has multiple inheritance. Different tools, same problems.  The different tools reflect an evolution of what Object Oriented best summed up by: Composition over inheritance. The rethink, the new concepts and how to use them are explained here. Abstract Classes Interfaces:  Duck Typing with Safety Multiple Interfaces… Continue reading Interfaces, Delegation & Composition vs Multiple Inheritance & Duck Typing

Kotlin? Or another alternative?

The theme for these pages is on learning Kotlin with Python as the starting point. Python is applicable desktop/server applications, as is every language on this page.  However some also deliver: Native Code, Browser Code, Mobile Apps and JVM applications. Is Kotlin the best choice to compliment Python? Kotlin rates very highly on 'liked scales'… Continue reading Kotlin? Or another alternative?