No coding is coding
Many hope to avoid traditional coding by using so-called no-coding frameworks.
Coding is actually about encoding what we want done into a set of codes that we can manipulate. We call it higher-level the more the codes are abstracted from the actual mechanics of what we want done. No matter the level, we are still encoding the commands into tokens that we manipulate. Traditional code is spatially laid out tokens that encode value assignment and processing structures for one aspect of the total task. For a website, HTML encodes the structure, CSS encodes the presentation, and JavaScript encodes the manipulation of these, though CSS can now do some of JavaScript's stuff.
Drag-and-drop web-design interfaces encode all three of those technologies into another set of tokens that have a physical appearance, with their position and contents specified by us. But it is still coding, though simplified for us. It is that simplification that can make it easier for use to create something like what we want, but it also limits what can be done. It is a trade-off that we are willing to make so that we can make something useful without too much technical knowledge. Their designers have made a lot of the encoding choices for us.
No-coding frameworks do a sort-of drag-and-drop for functional tokens, which each do specific functionality or interfacing with existing systems. The content we put into them are the business rules we want them to obey. We don't program them in the traditional way, but in something that is more related to our knowledge domain. But if we don't know the domain, we are lost, just as much as with traditional coding if we are not a programmer in the tokenisation that it uses.
Every such encoding system simplifies the mechanics by replacing them with tokens, but by doing so, limits the range of possibilities of what the mechanics can do. Some web-design frameworks give access to HTML, CSS and JavaScript for parts of their tokens to try to allow for some low-level control, but that also opens opportunities to sabotage the framework, and so have to be carefully limited to minimise them.
This highlights the other benefit of high-level frameworks, which is that of limiting what can be done to damage the resources that the framework manages. Such frameworks are designed for those who do not understand the full implications of lower-level tokens and how and what they can manipulate. We are left ignorant for the protection of the systems being manipulated, and transitively from ourselves as the potential damagers of those systems.
There is no avoiding [en]coding as it is the only way we can can get things done in a world full of technology, but we can choose an encoding system that we can understand, as long as we appreciate its limitations. Much of modern technology is actually making us more ignorant of our world because we end up knowing less about it, and just get absorbed β or obsessed β by the tokens they use. Our smartphones are making us dumber because we become disconnected from the real world. Virtual reality aims to almost completely break that link.
There is a point where we have to draw the line so that we remain connected to reality enough to be in control of our lives, and not just being manipulated by those who control the technology for their own gain. We are still responsible for our lives and the choices we make, and that should define how much we delegate to technology. Every technology choice shifts the boundary between what we can control and what the makers of the technology can control. The technology is not neutral, but represents the makers of the technology and their agendas. Use it, but be aware of its trade-offs.
SAP is a German company making enterprise management software. Typically, using their product involved rebuilding a company's operations around their software suite, which then makes it subject in large part to how SAP allows it to operate. Every decision has to take into account what the SAP software will require. That is an extreme example, but only because SAP is so all-encompassing, and so needs to be treated at a higher-level.
We make the same sort of choices about the technology we use, with our phone's operating systems defining a lot about what other technology we can use, depending upon how integrated we want our devices to be. Same choice, but different technology. We are letting ourselves be constrained by our devices instead of them augmenting our choices free of such constraints. This encroaching loss of choice is deliberate and designed to keep us part of the technology maker's ecosystem.
All large technology companies do the same. Do not ever think otherwise. Be aware of what we trade-off when using their technology, because it will define a lot of our future. What if the company goes out of business, or gets bought by someone else, and they decide to dispense with some of their added customer base because catering for them would compromise their goal of making their customers use only their software or hardware. If we let technology companies define what else we are allowed to use, they are undermining our control of our own lives, or business for that matter.[1]
The question we must ask ourselves is whether we need to have such high levels of integration if it locks us out of other choices we could make, simply because of the high cost and effort to implement those alternate choices. Again, tech companies are not our friends here, but just acquaintances, several of which might be quite toxic. We can increase our resilience to manipulation, while enjoying the benefits of technology, by choosing each piece of technology to only perform limited functions, and so only be loosely coupled at most to other devices.
Then if we cannot use that technology, we only need to replace it, while the majority of the rest of our lives is unaffected. We then do not suffer the disruption of having to reorganise our lives or business around a new all-encompassing dependency. Shifting premises can be quite traumatic but we have to do it at times. Changing technology can be the same, but we avoid the trauma by choosing to stay with the same vendors, which is exactly what they want. Avoid the manipulation by choosing whose and how we use their technology.