The computing industry has gone through four paradigm shifts in less than seven decades.
In the beginning, there were mainframes — they were big and powerful and were intended to take care of everything. That was the host-based computing era.
Then came the mini-computers which share responsibilities with personal computers — we call them client-server computing.
Later on, the pre-installed browsers came along to lighten up the programming requirements for the front-end to enable on-demand services.
Cloud-based computing is where computer servers are chained together to perform superior background tasks while personal computing devices such as PC tablets and mobile phones can focus more on the front-end requirements.
The different paradigms of computing are just ways to distribute workloads so it can be more efficient and effective. First, let’s try to understand what computing is all about.
To put it simply there are three components-
- The user interface is what you see and interact with. It can be a screen or report with criteria;
- The computation is what you don’t see and it transforms data;
- Datastores persists transformed data or provides the data to be transformed.
For several decades, the mainframe or host-based computing dominated the computing world. In the 80s, the mini-computer came along, also called client-server computing, which lasted a couple of decades. Fourth-generation language such as PowerBuilder Delphi was popular at that time.
In the 20th century, thanks to the internet and pre-installed browsers, web-based computing proliferated as they have no installation requirements and the services can be provided on-demand in the cloud or on-premises. The major difference between cloud and on-premises is just whether the surface is hosted by an external vendor who manages all the configurable computing resources or if it’s hosted privately, internally on local servers that you can access through the internet.
The mainframe computer has all three components in the same box, or same file (host-based computing). Aside from the brow power, the difference between a mainframe and a desktop computer is just how many terminals are attached to it. A terminal is not a computer- it’s just a display device emulating a session. It can be difficult to maintain or modify because everything is intertwined and it would make sense to break it down into two or more computers each serving a dedicated component.
Then came the mini-computer- it only handled computation and data storage components. The user interface component is installed onto a personal computer which is called the client and in some cases, increased computation is also handled by the client-side PC. The term ‘client-server computing’ described the client-side program connected to the server-side mini computers by a network privately leased line or the internet.
Today, mobile apps being installed onto all kinds of mobile devices can be either whole space, i.e, all-in-one, or client-server which needs to communicate with the server-side component via the Internet. It is important to know that the version of the client program must match the server version all the time or it may not function properly which is why apps on mobile devices are updated all the time.
Most personal computers, desktop, laptop, and mobile devices already have one or more browsers installed. In browser computers or web-based computing, the user interface can be extremely lightweight because all the plumbing is done by the preinstalled browsers. There are no installation requirements. This user interface pages are interpreted on demand by the browsers via the internet or intranet via a local area network. The good news is there is no security concern because everything is running in a sandbox, i.e, whatever is running in the browser cannot jeopardize the integrity of your computer without asking for your permission. The bad news is many specialized functionalities on the desktop or mobile devices may not be accessed by the browsers. HTML5 is attempting to overcome some of these issues.
Cloud-based computing is a mix of everything on a shared pool of configurable computing resources managed by cloud vendors. Most popular cloud computing software is web-based which can be accessed by browsers via the internet on-demand from any desktop or mobile device. There are also plenty of mobile apps installed on specific mobile devices that connect as client-to-server resources by the internet. Sometimes hybrid apps can be found which take advantage of the benefits from both forms of computing. The good news for web apps is that they run on all devices of all sizes while mobile apps is designed usually to run on specific devices such as Android iOS, blackberry, etc.
With ever-increasing global internet penetration, web apps will soon become the most desirable form of computing.
The Rintagi platform now offers developers the ability to generate a superior ‘React’ experience within just minutes for new and existing screens and modules; resulting in engaging, responsive, mobile-first user interfaces within minutes (with built in PWA), while also having full access to desktop-centric asp.net web interfaces for complex interactions.
In addition, Rintagi has the ability to generate new technology even to itself, if and when the paradigm shifts again.
Here’s a video on the ‘History of Computing’ from Nelson Lin
Rintagi is an open-source low-code development platform for deploying mission-critical applications built by Robocoder Corporation. Since 1999, Robocoder Corporation has used Rintagi to develop and maintain mission-critical database applications for reputable companies, spanning multiple industries.