Extension Functions & Extension Properties

The syntax and rules of extension functions are explained also explained elsewhere,  but this page is more tutorial style, covers the background and  'why do we need extensions'  and 'what is the benefit',  together with simple examples, and even useful examples. The topics are: What are extension functions/properties? What is the advantage of extension functions?… Continue reading Extension Functions & Extension Properties

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?

DSL Methodology: A key software concept.

With Kotlin the term 'DSL' has taken on a specific meaning, and that more specific meaning is explored in another page on Kotlin DSLs like kotlinx.html and how to write them.  DSL methodology is a key reason that the capabilities of a language to write domain specific extensions to the language becomes important. This page… Continue reading DSL Methodology: A key software concept.

Waterfall or Agile?

This page describes both Waterfall and Agile software development philosophies. In reality, developments are not 100% waterfall or agile, but a blend of the two. This is a 'back to basics' look at the two philosophies. Separate pages will consider the implications and necessary modifications when each is applied to different bespoke software or product… Continue reading Waterfall or Agile?