I found the wikipedia page on namespaces not very helpful, and in fact did not find a concise and clear explanation elsewhere, so hopeful this post provides a clear and concise explanation of the basics, before getting to the more advanced. Contents: Basicswhat is a namespace?runtime vs compile time namespacesglobal namespacesobject namespaces and "."function/method 'local'… Continue reading Namespaces, Modules & Packages
With Python you easily have a whole group of small test programs within a single folder, which provides a simple 'sandbox' environment to try tests and experiments that go beyond what can be done in the Idle REPL. This page describes how to create Kotlin 'sandbox' project that provides a simple solution to creating Kotlin… Continue reading Kotlin: Sandbox Projects
Kotlin is a compiled statically typed language, Python is an interpreted language. While you could interpret Kotlin or Compile Python, the examination in this post shows how the design of each language fits with as a language Kotlin=compiled and Python=interpreted as these are not just implementation choices, but are baked into the respective languages. LT;DR:… Continue reading Languages: Compilers, Interpreters
Already discussed is Global static memory, which is reserved before the program starts, and local stack memory that is allocated at the start of each function, and then released at the end of that same function. Heap Memory is a third type, for when neither global nor stack memory are suitable. Consider, for example, data… Continue reading Heap Memory and Garbage Collection.
Programming languages are categorised as either static typed ,or dynamic typed, and the differences may actually surprise, as they go deeper than it may seem at first. Contents: Dynamic Type Variables: The Obvious, but Superficial Difference Dynamic Types: A Deeper Difference Strange Behaviours Behaviour Summary: Total flexibiliy, total uncertainty Static Types Compile Time vs Run… Continue reading Static Typed vs Dynamic Typed Languages