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
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
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
Support for a language is dependant on the popularity of that language. But how do you measure popularity? Is it the most liked, must used simply most discussed? If Hitler may be the most discussed person from world war II, then consider that by some measures, that would make Hitler the most popular? What is… Continue reading Language Popularity?
Everything you ever wondered about closures, and a few things more: Closures: just what are closures? Closures as code, packaged with parameters Methods as closures: Python Methods as closures: Kotlin Static Methods class level methods/companion object methods Closures: just what are closures? Lets start with an example, and then discuss how it works. The function… Continue reading Closures, methods, static methods, class methods
Ok, Object Oriented Programming (OOP)is not exactly new, and there are lots of pages on OOP on the web. This page comes from a background of both Python and Kotlin, and how improved programming styles offered by Kotlin can change how you program. Although Kotlin automates newer techniques and provides assistance coding, you can 'backport'… Continue reading OOP: Using Kotlin to improve OOP Skills
This program is relevant for building your first "hello world" and first sample kotlin apps. However, once you have even hello world running, it is recommended now to move to gradle for building, even when building with Intellij. The topics for this page: Introduction: why use Intellij at all. The Roles on an IDE What… Continue reading Building in Intellij IDEA