Skip to main content

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 were a whole bunch of programming languages that I've skipped but 'C' changed the programming world. UNIX was the origin story for many of the operating systems we have today- Linux, Mac OS, Android, all these operating systems are based on the principles and architecture of UNIX. Around the same time, we had Apple and Steve Jobs disrupting and innovating in a primarily mainframe market then. Apple also is known to bring in designs and innovations that shape the market. They did it with the macintosh and most recently with the iPhone, creating a new market of application development.

We are in an age where companies are transitioning and trying to cater to this new consumer market. CIO's of these companies are driving "digital transformation" initiatives backed with massive budgets. This has given an inroad to Application development platforms. Before going into development platforms lets understand the actual origins of the application development platform.

Every industry has tools for their trade. The construction industry tools had rudimentary tools before they moved to power tools. Similarly, in computers, the code was written or rather punched on to punched cards, and then they moved onto text editors. With Graphical User Interfaces(GUI) improving, Integrated Development Environment (IDE) was introduced to help developers to keep all their resources organized, debug, and run their programs from a single tool. Application Development platforms are an extension of IDE's. As the name aptly conveys, the application development platform is a computer program that helps in developing software/applications on different devices.

Application Development Platform has a massive ecosystem of its own. In this ecosystem, we have Low-code development platforms or even No-code development platform. A Low-code development platform is a software that facilitates application development with a GUI implementation of a drag and drop user experience and this is a shift from the traditional hand-coded approach to development. In the eco-system, thanks to aggressive marketing, we have Buzz words just floating around. they are basically the same thing just a fancy way of saying the same thing. some of these buzzwords are - HPAPAAS, MXDP, RAD also LCDP(Low-code development platforms), and NCDP(No-code development platform).
If you also share the same expression as the meme, fret not, we will talk about these outlandish abbreviations. HPAPAAS, High productivity application development platform as a service, is an Enterprise Application Development Platform that has a delivery and deployment mechanism like LCDP but not the same. It is also provisioned as a service. (you can read about HPA-PAAS at this link: https://www.neutrinos.co/what-is-hpapaas/)(you can also check out my post about *AAS explained). MXDP, Multi-Experience Development Platform, is a platform that encapsulates - design, development testing, managing, and analyzing. At least that is what Gartner has to say about MXDP. Personally, I think its another marketing ploy to sell an Application Development Platform.

Over the past few decades, we've seen technology evolve and the demands for programmers grow. A field originally intended and designed by mathematicians is now open to diverse demography. The Idea of a citizen developer just extends the scope a little more. A citizen developer is a user who creates new business applications for consumption by others using development and runtime environments sanctioned by corporate IT. When we look at the strides statistical learning and artificial intelligence is taking there is a lot of positive development to come. The bottom line is that The need for individuals to know "coding" will keep growing.

Comments

Popular posts from this blog

Understanding TDD - Part 1 - “What is TDD?”

Understanding TDD This post is written with the intent to help understand the concepts around TDD and help in the adaptation of the TDD approach in the development process. The intended targets are developers, Team leads, and managers. The idea behind creating this was to explain the background of TDD. This first part covers the origins of TDD and the basic principles that define development with TDD. ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --- What is TDD? Test-driven Development abbreviated to TDD,  is an Approach to problem-solving or application/software development when unit tests are written prior to writing code.  Before jumping in headfirst into Test-driven Development (TDD) let’s look back at the background of how TDD came to be. History of TDD "Generally, the modern “rediscovery” of TDD is attributed to

"That's not my job"

As an individual, I am a person always looking to change things quickly. The mundanity of repeating the same things over and over again gets me agitated to question the efficiency of the activity. With this naive outlook, and fueled by Pink Floyd's album "Welcome to the machine" I am trying to write this blog post about the changes I've seen. Over the years I've seen some changes that happen in an organization and this blog is more of a commentary on the things that I've seen. Without question, this blogpost has a major TL;DR warning. Life in a corporate office might seem a little kafkaesque. Kafkaesque, A term associated with Frans Kafka generally is used to describe unnecessarily complicated and frustrating experiences, like being forced to navigate labyrinths of bureaucracy. The sort of complex, unclear processes in which no one individual ever really has a comprehensive grasp of the system or what is going on.  In massive companies that are well establishe

Murmuration: A view into Artificial life.

Murmuration refers to the phenomenon that results when hundreds, sometimes thousands, of starlights(starlings) fly in swooping, intricately coordinated patterns through the sky. My introduction to the word, murmuration, was by the Jazz trio, GoGo penguins. Murmuration is the 5th piece they perform in one of their live performances: link . It is one of the most enthralling pieces of music I've heard. I implore you to check them out:  https://gogopenguin.bandcamp.com/ . When we observe these starlings fly we see a pattern that stands out. And when there's a pattern involved there is a strong possibility an algorithm exists to explain it and implement a computer simulation which helps me to segue into Boids algorithm. Boids algorithm is an artificial life program, developed by Craig Reynolds. It simulates the flocking behavior of birds. Boid is a shortened version of Bird-oid, which refers to the bird-like object. Boids are an example of emergent behavior,i.e. the algorithm wo