Computers

Getting a bit over the modern tech industry. Massive industry optimised for doing something not very interesting. Programming still consists of compiling punch cards and doing batch processing. Era of discovery has been replaced by an era of monitizing computing. Many people are working on the same problems, and they are not particularly interesting problems. The industry is addicted to monitization at high speed without thought. Careful thought is the seed for interesting ideas, but those ideas are quickly converted into a thoughtless machine of converting investment into dividends. The careful thought stops. We dont have good ways of communicating processes. This means code libraries are the best way we have of communicating processes, and these are tightly coupled with the implementation. This is a side-effect of initial attempts at monetizing compiled code artifacts. The free software movement helps but the communication medium is only at one abstraction level higher than compiled code. The connection between the digital and the real is still awkward. Once you choose to live in the digital the real becomes difficult to interact with because the communication between the realms is terrible. In the industry this manifests as a separation between product people and technical people, and their constant communication problems. There are very few interesting efforts to bridge this divide. People become guardians of their special knowledge. Interesting statistics about the number of Excel users in the world. Developers scoff at Excel. Most interesting problems have been solved already. However those solutions are locked away inside source code, libraries, proprietary programs, bundled software or simply hidden behind online platforms. How can you communicate a simple sorting algorithm to a non-technical person? It is telling that many new languages try to solve library code distribution. Proponents of functional languages believe mathematics is the best communication medium and thus programming languages are better if they follow the principles of mathematics. However mathematics is not good at communicating a process. A cooking recipie is not a declarative representation of the final meal, but an encoded set of steps to reach the result. If a unit of software encodes a useful process it is not accessible in a meaningful way. Even if it were possible to isolate the code that implements the process, the code is useless without knowing the layout of input data or the supporting environment the code needs to run.