Nullable, null, None, Unit, Nothing and void: the many faces of nothing

Python has only one way of saying 'there is nothing here':  None.  Java has the keyword 'void' and the value 'null', kotlin has Unit, Nothing and null.  What is the actual difference in meaning for all of these? Python None Kotlin Unit, null and Nothing Java void and null The concept of 'Nullable' Null Safety… Continue reading Nullable, null, None, Unit, Nothing and void: the many faces of nothing

Scheduling: Schedule, design, code?

Or perhaps: schedule, design, build?  Either way, while that sequence may sound like waterfall, even agile is really a repetition of this sequence over and over.  This page discusses why these 3 steps are problematic for software, but still must be followed despite problems, and how to schedule projects using this sequence that initially can… Continue reading Scheduling: Schedule, design, code?

TDD or Not TDD? That is the question!

What actually is TDD (Test Driven Development) ? Is TDD Dead? Do you associate this term for when Tests actually Drive Development,  or use the label TDD for the practice of ensuring code coverage by having units tests? TDD can be taken to mean different things than the original meaning, and there are some risks… Continue reading TDD or Not TDD? That is the question!

Python dataclasses: A revolution

Python data classes are a new feature in Python 3.7, which is currently in Beta 4 and scheduled for final release in June 2018.  However, a simple pip install brings a backport to Python 3.6.  The name dataclass sounds like this feature is specifically for classes with data and no methods, but in reality, just… Continue reading Python dataclasses: A revolution

Language Extension Methodology (LEM/DSLEM) : A Software Development Concept.

With Kotlin, the term 'DSL' has taken on a specific meaning, and that more specific meaning of Kotlin DSLs other pages on this site and elsewhere.  In fact, Kotlin DSLs are not just Domain Specific Languages, but Domain Specific Extension Languages. The principle of a DSL, is that languages benefit from The DSLE methodology is… Continue reading Language Extension Methodology (LEM/DSLEM) : A Software Development Concept.