Another way to ask this is, what can be done with software? The motivation for that question is to understand software market a bit better by looking at the same thing throw different views. To answer the question, what can be done with software, one possible first step is to classify software. I have a guess that all year 2014 software on planet Earth is either one of the following types of software or a combination of the following software types:
- Control software. (Car engines, plane engines, elevators, electric drills, printers, scanners, etc.)
- Editors. (IDE, EDA, word processors, image/sound/video editing programs, 3D modelling programs, etc.)
- Data analysis software. (Various math packages, GNU R, Octave, SAGE, Mathematica, SciLab, Simulation software, formal verification software, theorem provers, Artificial Intelligence related software, etc.)
- Accounting. (Money, goods, passengers, cows, concert/cinema/theater/circus tickets/seats, banking software, etc. )
- Communication software. (VoIP, e-mail, internet forums, blogs, e-shops, company website software, chat-rooms, cryptography, stenography, etc.)
- Adapter software, which is software that allows one line of thought to be used, run, on something that is available. (Compilers, interpreters, virtual machines, programming language translators, operating systems, web application server side, etc.)
- Data storage software. (Storage Area Network related software, database engines, cloud storage related software, File Managers, FTP-clients/servers, Samba, etc.)
- Environment digitization software. (Image/sound/radar processing, pressure/temperature/acceleration/etc related signal processing, video surveillance, electronic guarding systems, etc.)
- Navigation software. (GPS/Galileo/Glonass related systems, star navigation systems, electronic map software, etc.
- Edutainment and human-computer interface related software. (Language learning software, computer games, movie players, web browsers, etc.)
A classical solution for finding unused, uninhabited, regions is to write out a matrix and see, what slots are empty. The following image depicts a 2D matrix, but it might be 3D or with more than 3 dimensions. A 2D example might be a combination of Adapter software and Navigation software that translates time and GPS coordinates to a sky-map.
A combination of Accounting software and Navigation software might generate a map, where quantities of goods/orders/revenue are projected onto the map. And so on and so forth. Well, what I'd like to have is the same matrix, where every square contains the number of people, who currently solve that task without software. For example, once upon a time car engines did not use any electronics, therefore software, at all and accountants did not use computers.
I guess that I'll probably modify, improve, this article at some later date.
Thank You for reading. :-)
To be continued or modified at will.