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
When thinking of the internet and servers, the first type of server that comes to mind is a web server. Not all servers on the internet are actually web servers, but as far as front of mind and siginificance, the web server is way up there. The previous post covered hosting, and this post covers… Continue reading Web Server Logic: Overview and Evolution
A full web site starts with a server, this page provides an overview of the options. Terminology: What is a server?Bare Metal DIY Hosted "Pizza Boxes" Sharing Pizza Boxes Virtual Private Servers Shared Hosting Slice and Dice! WHM/CPanel Cloud Superceding the Server: What is cloud? Docker & Kubernetes Private Cloud Public Cloud Serverless? Costing and… Continue reading Hosting: Shared, VPS, Bare Metal and Cloud & Containers
Python is one of the most popular programming languages. In fact PYPL has Python as now the most popular language, and Tiobe recently awarded Python language of the year. So clearly Python has very strong appeal, hence the upgrade from 'good' to 'great' in the title of this post. An interesting perspective can be gained… Continue reading Python: The great, the bad and the ugly
Introduction While the components of a python program are installed with pip install or similar, the components of any compiled program (such as kotlin) need to be combined together or 'built' using a build tool. This page gives an overview of build tools, while other pages in the build section of this site explain how… Continue reading Gradle, Maven, Ant, other build tools and History
Extension functions, and Lambdas and even Extension Lambdas have both been discussed already (and are assumed knowledge for this page). But the uses of lambdas goes beyond just functionality, and into the realm of expressive code. Expressive code is about having the code represent the ideas behind the code more clearly, allowing better reading of the… Continue reading From Extension Lambdas to expressive Kotlin DSLs