Our Philosophy

Back in the 80’s and 90’s, computers ran at a snail’s pace of even the most simple machines on today’s market. In that time, and even to a point now, the most important aspect of computing was speed.  The faster things ran, the happier people were.  While that principle is still the same today, the speed of the hardware has changed dramatically.  Technology has grown to fill the gap between people’s expectations and the speed at which applications are able to execute.  With that growth comes the opportunity for a new paradigm in programming.  One that is defined by the clarity of its API.

Getting back to the past, we have a time in which program design was based entirely around speed.  In fact, many of the applications that stood apart did so because they were able to use lower level operations to achieve better performance.  Because such low level design required consideration from the start, the programs were designed for speed before anything else.  While performance must always play a role in application development, we now have the freedom to escape the architecture that was once necessary.

Also in the past, we see the start of many conventions that persist in programming today, some not so bad and some not so good.  One such convention is that of the creators of programming languages dictating a broader and broader spectrum of API for their language.  While programming languages are powerful tools, at their core they need to support a finite number of concepts: objects and pointing, functions and looping, streams, OS calls, arrays, locking, and some others.  Any additional structures in the API are often constructed from the language itself, such as can be seen in Java if the class HashMap is decompiled.  There is no magic to the classes or constructs a programming language claims to be part of its core.

With these constructs of the past in mind, I would like to introduce a new idea.  The idea of opensourceapi.org, a repository of community driven APIs designed with a unique set of goals in mind.  The first of these is to represent models rather than actions.  While most API are designed around specific tools, our API are designed to be a representation of anything.  By creating API that represent the spectrum of businesses, then we are free to build applications with ever increasing complexity.

The second goal of this repository is to benefit the time to develop an application.  As the size of applications continues to increase, this has become one of the foremost aspects of design.  The standards created by this API provide a core with which programmers can become familiar.  This will enable new developers to more easily become ready to begin work on a new code base.

While this does not cover all aspects of opensourceapi.org, it serves as an introduction to the ideas that make us unique.  Please visit back for updates in the future and development of the APIs as they take shape.

Comments are closed.