Static Typed vs Dynamic Typed Languages

Programming languages are categorised as either static typed ,or dynamic typed, and the differences may actually surprise, as they go deeper than it may seem at first. Contents: Dynamic Type Variables: The Obvious, but Superficial Difference Dynamic Types: A Deeper Difference Strange Behaviours Behaviour Summary: Total flexibiliy, total uncertainty Static Types Compile Time vs Run… Continue reading Static Typed vs Dynamic Typed Languages

Gradle, Maven, Ant, other build tools and History

Introduction While the components of a python program are installed with pip install or similar, the components of any compiled program (such as kotlin) need to be combined together or 'built' using a build tool. This page gives an overview of build tools, while other pages in the build section of this site explain how… Continue reading Gradle, Maven, Ant, other build tools and History

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

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 and 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

Gradle Kotlin DSL 1.0: Basic App Build

Contents: Kotlin DSL list of other pagesBuild Basics in Gradle Plugins Dependencies and Artifact Repositories A Simple Practical ExampleVarying the Source Locations: SourceSetsApplicationTesting - JUnitlocal 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 for a build requires: what… Continue reading Gradle Kotlin DSL 1.0: Basic App Build