Introduction

The pages are a bliki, rather than a blog, in the nature of bliki as described on this page.

The pages record the lessons learnt from the journey from Python to a mixture of Python and Kotlin, and from developers moving from writing python programs that they themselves will run, to programs used by end users, developed and continuously improved over years using an agile software continuous deployment process.

As students, programmers write programs they themselves will run, and once complete, in most cases the program will be forgotten.  Moving from a student to writing professional software means moving to code that will need to keep evolving year after year and will be run by others, not just the developers of the software.  While Python is at its best when software developers run the code, the lessons on evolving code and team development are still useful for coding in Python or even JavaScript, but most concepts here are described in terms of both Python and Kotlin.

As a bliki, or wiki or knowledge base assembled from ‘posts’ organised into a hopefully cohesive information source via the table of contents. As opposed to a blog, the posts in this bliki are revised and updated.

The main contributors to this bliki are members of a software development team developing product software for a project primarily built in python, and now increasingly also in Kotlin.

The key contributors to the Bliki are working on a set of projects were originally authored on Python.  As the projects expanded, Python no longer provided the freedom to expand as desired, and a hunt for the best additional tool resulted in the addition of Kotlin as a language.

The bliki started out with only entries centered arising from the experience of  learning and evaluate Kotlin when to use Kotlin, from the perspective of developers experienced in  Python – which is a change from most Kotlin material which is written for those moving from Java.

However, the bliki has now expanded in scope, to be a knowledge base for any new team member joining our group, or to share knowledge within the group, about anything generically related to coding or the industry, that is not specific to our projects.

So this is real world experience from one development group, but open to input, feedback or comments from anyone who finds it useful.

A key focus of these bliki pages is to try to provide a deeper understanding of how program features work, using explanations that do not require the reader to already have a deep understanding of the details of java. It is in the area of providing this deeper understanding, that existing material most assumes java knowledge, and has nothing covering equivalents to the very different features from dynamic languages.

The other aspects covered is why code in Kotlin vs Python?  What code makes sense for each of these languages?

TL;DR  (or too long, didn’t read). …”skip this welcome and go to contents to find what you seek”.

See Why Kotlin and Python? for more details, or assumed knowledge.

Advertisements