Skip to main content

Posts

Showing posts from July, 2020

The Dawn of programers

A programmer, also most associated with their new moniker a coder, is a person who writes or creates computer software. The definition of the word code is " a system of words, letters, figures or symbols used to represent others especially for the purpose of secrecy". It is fascinating how programming came to be associated with this word, "code". In 1936, Alan Turing first describe a simple abstraction of a computational device. In 1940, "The Bombe",  an electro-mechanical device   was used to decipher the German Enigma-machine. In 1945, Turing went on and envisioned that We shall need a great number mathematician of ability. because there will be probabliy be a good deal of work of this kind to be done.  With the evolution of technology, we moved on from electro-magnets to punch cards to transistors. In 1971, Dennis Ritchie and Ken Thompson at bell labs came up with a new programming language 'C', and a new operating system UNIX. There w...

Understanding TDD - Part 2 - Adopting TDD

In part 1 of this series, we explored the fundamentals of Test Driven Development. After wrapping our heads around the principles and understanding the origins of TDD we will now look into applying TDD.  Understanding TDD - Part 1 - "What is TDD?"

The Pursuit Of Clean Code

There are different ways to interpret the meaning of clean code. The idea of clean code is a subjective concept and every developer has their own interpretation of it. Clean code is code that is easy to understand and easy to change"  When we say "easy to understand" what does it really translate to? Easy to understand can be easy to read, it can be easy to understand the flow of the code, easy to understand sequence events. Easy to understand can also quantify to the ease to understand the purpose and function of the methods and variables defined or declared. Easy to change can be interpreted as easy to extend and refactor, and it is easy to fix bugs. Easy to understand can be anything! it's up to the readers interpretation. When we write code it is generally in as higher-order language. This implies that we intend the code to be understood by other developers or other people. A higher-level language is not directly interpreted by the computer. A hig...

conway's game of life. - code

Rules of the Game: The universe of the Game of Life is an infinite two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, alive or dead. Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur: Any live cell with fewer than two live neighbors dies as if caused by under-population. Any live cell with two or three live neighbors lives on to the next generation. Any live cell with more than three live neighbors dies, as if by overcrowding. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction. The initial pattern constitutes the seed of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed—births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick (in other words, each...