Some meanings here are genuinely in 'universal' use (the universe being limited geographically to Earth). However, 'universal' agreement is extremely rare. So very often this is about the definition I have chosen to work with. In fact, in some cases, there are at least two common uses of the same term. These also make… Continue reading Glossary
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?
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?
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!
As outlined on 'what is a DSL', both intent and implementation of DSLs vary considerably. The two types of internal DSL are most relevant to these pages, and how to implement an external DSL can be is 'off topic' for these pages, but the goals of external DSLs and a DSL-Full are the same, so… Continue reading Building DSLs: Why, When & How?
For both standalone DSLs and language extensions, to build a DSL is to build new language. Being restricted to specific domain should allow the language to be small and simple, but it is still building new language. How do we keep new language intuitive and simple? This page looks at the basics for guidance. What… Continue reading Language: The Core of DSL design
Python class variables offer a key tool for building libraries with DSL type syntax, as well as data shared between all instances of the class. This page explains how Python class variables work and gives some examples of usage. Class & Instance Variables Instances vs the class object Instance Variables Class Variables Using Class and… Continue reading Python Class vs Instance Variables