Modern software development ideally falls under what is called high-level coding. At its core, high-level coding is a system of organising the logic of software, as opposed to perhaps writing procedures from scratch, in a specific programming language. Programmers working at this level always strive for optimisation, using a plethora of programming tricks and tidbits that, in some cases, resemble magic. If software is to solve problems in a manner that is actually useful, these magic tricks must make their way to mainstream development as well.
Programmers working in today’s model aren’t satisfied with wrapping problems inside of magic tricks and mathematical calculations alone, though, as is evident in some processed data from the no-code campaign study. One must also consider other types of coding practices, such as functional programming and object oriented programming. However, some time-tested principles stand out, irrespective of whether the codes are written in a high-level or low-level coding style.
In the realm of low-level coding, I find some software development practices worthy of attention. The first and most basic one is making code understandable. The simplest way to do this is to write all code using plain language, while making sure it has exactly the same function, i.e. describing the function can be understood without direct reference to an implementation. This is a good starting point for most cases, and hopefully it will be considered a foundational principle by software engineers of all backgrounds, from the depths of the Ruby core to the more widespread model of mainstream coding practices.
Another important low-level practice is context-sensitive programming. One must create situations in which a programmer can be certain that the context will fit the intent and behaviour of the code.
With high-level programming that entire process is essentially bypassed, allowing coders to somewhat paradoxically produce high-level application environments without the type of coding synonymous with somebody like a Computer Science major. You don’t necessarily have to create an entire language or build a general purpose framework for it. You can create little snippets of code for specific purposes, as a demonstration what #TheFutureOfCode looks like… THE FUTURE IS NOW!