OOP: Using Kotlin to improve OOP Skills

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

Building with Gradle Kotlin DSL 1.0

Big News!  (Aug 2018) After what seems like the longest time, Gradle support for using kotlin to drive gradle builds is now at version 1.0.  This is the best time for anyone to move to gradle.  This page is an introduction to gradle, using kotlin DSL What is a build tool? Which Build Tool? Basic… Continue reading Building with Gradle Kotlin DSL 1.0

Building in Intellij IDEA

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

Software Types & Lifecycles: Developer Use, Custom Developments or Continuous Development?

The key defining characteristics of software is the software lifecycle. The lifecycle defines the type of software development in many ways and some of the most significant software 'screw-ups' and dissatisfaction can come from applying software development methodologies appropriate for one software lifecycle,  to a very different software lifecycle.  Best practice for one software lifecycle… Continue reading Software Types & Lifecycles: Developer Use, Custom Developments or Continuous Development?

self, this + modifiers: private, public, protected, internal, open, final, inline

contents: self vs this this@ external attribute accesswhy bother?python modifiersvisibilityinheritance: open, final, overrideinline self vs this Self vs this are not technically modifiers, but they do work in a similar way, to modify that 'self.name' can be different from 'name'. Code inside a class must work without an actual instance object name, so a naming… Continue reading self, this + modifiers: private, public, protected, internal, open, final, inline