knowledge center


A Short Look at the Long History of Application Development From Geeky Patch Cords to Elegant Coding
The First Application Development Was Literally Hardwired
The earliest computer programs were built out of patches of wire to connect various parts of an electronic device to perform specific calculations. Any changes to the "programming" needed to be done with utmost care and there were no easy ways to ensure that a change would not introduce errors.

One of the earliest problems with such "physical" programs was called the "bug." And quite literally, a bug had crawled in underneath the panel and had short-circuited the patch wires, interrupting the logic. From then on, when a program did not behave as expected, it was said to contain a "bug."

Later, when information could be stored in electronic memory, programming utilized machine language which was merely a series of "1's" and "0's." And later, still, assembly language was created using text to symbolize certain primitive actions, like add, subtract, multiply, divide, move and other simple instructions. Such a language allowed for fewer mistakes and greater flexibility, but the language was tied very heavily to the architecture of the equipment on which it was being used. Creating even a very simple program required lots of time and tedious, exacting work. With assembly language, it might be possible to create an onscreen menu in a matter of hours.

Application Development Grew
Eventually, computer languages were created that allowed greater flexibility and ease of development. These included languages like FORTRAN and COBOL, for science and business development, respectively. With these, a menu might be created after many long minutes of work — perhaps even an hour or more.

As more computer languages were added — each with its own strengths and weaknesses — they became more human like in syntax. The programming code was easier to understand, and to interpret and to debug (remove the logical "bugs"). With a language like BASIC, an onscreen menu might be created in several minutes.

Later, with the advent of lower-cost, high-resolution, colour monitors, computers took on an entirely new look. The computer mouse became an ubiquitous component. Graphical programs became the new norm. Instead of entering thousands of lines of code to create a simple program, with application development software like Microsoft's Visual Basic, an application developer, or "programmer," didn't need to write any code to create a simple menu. In fact, with a few clicks of the mouse and a few strokes of the keyboard, an onscreen menu could be created in a matter of seconds. Pre-packaged snippets of code had already been included in the language's assortment of built-in tools. This made application development far faster and far easier to implement.

The Elegance of Modern Application Development
Just as there are good artists and terrible artists, there have been good application developers and bad ones, too. The earlier languages allowed for coding methods which were quickly deemed unprofessional and highly problematic — things like "spaghetti code," where instructions were made to jump from one location to another within the code in a hazardous sequence which was hard to follow and even more difficult to debug.

Coding practices and language constraints helped to eliminate some of the problems, but in the final analysis, the application developer is not only an engineer, but also an artist. If they were a lousy artist, their code could be hard to follow and even harder to change without creating problems.

Object oriented languages helped to create more elegant programs with reusable code, and built-in protections against unexpected behaviour. Methodologies like "design patterns" gave programmers formalized best practices to solve common problems. These methodologies helped create programming code which would run more efficiently and would create less ambiguity in its behaviour — in other words, fewer potential bugs.

Other methodologies handled the team aspect of creating large software applications which might contain hundreds of features. One of the more popular methodologies is the "agile" approach to application development. This involves making progress on the project in bite-size chunks, testing and validating the chunk before moving on to the next. This allows greater oversight by the chief project stakeholders and for the introduction of changes, should such changes be found needed after development was started.

The Future of Application Development
As the languages have become more human-like, greater power has been added so that a great deal of experience and intelligence must be used to exploit fully the power of any one language. But this need not always be the case.

One of the frontiers of application development is the realm called "artificial intelligence" (AI). If a breakthrough were to be made here — one where the machine was able to converse with humans in a natural fashion, and to learn, heuristically — such artificial intelligence might one day assist in the development of software. Perhaps then, software might merely be created by describing to the AI unit what is desired. Perhaps then, the coding would be done near instantaneously.

For now, creating professional-quality software takes a dedicated team of seasoned application developers working for many days, weeks or even months to produce software that is fully-tested, debugged and ready for implementation.

Computers, and the software which runs on them, have changed greatly, over the years. In one lifetime, we've come a long way in application development. And the future looks good.



A Short Look at the Long History of Application Development

What kind of application(s) are you enquiring about?

Web Application
Desktop Application
Mobile Application

What is your budget for this project? Why?

A quotation for a labour-intensive project, such as software development, requires several consultation sessions. Your budget range helps to establish the desired scope of the project. Combined with the problem definition and the solution specifications, we are able to determine the feasibility of the project within those constraints. Additionally, you will be able to assess the desirability of the possible solution at that budgetary level.

How many hours maintenance do you expect each month?

Start

Urgent

As soon as practicable

Within 1 month

Within 2 month

Due (weeks)

1

2

4

8

12

16

20

24

Other

Need to include some file(s)

If you have more than one file, best to include in one zip file, maximum 10MB.

Valid file types are jpeg, jpg, gif, png, txt, rar, zip.

  • No Files Selected

Send Message