What do we mean when we use these trendy terms? Why do they matter? Aren’t these just new names for things that already exist?
I assume you agree:
- Developers should be able to build new, useful, scalable, secure software with only a small amount of clean, maintainable code.
- Minimizing the complexity and scope of the code allows for faster deployment of software applications that are easier to maintain and improve.
- Minimizing the complexity and scope of the code allows a larger, more diverse, and more specialized group of developers to design, implement, maintain, and improve software.
- All of this results in more software and useful software, eating the world, faster.
Minimizing and optimizing code usage!
- In special languages, libraries and SDKs. For example R-language, developers rarely have to write code to perform statistical calculations and algorithms – countless statistical libraries are available. Likewise, Python is SciPy and NumPy libraries to do much of the heavy lifting. Coding level: high code, just less of it
- With customizable software components. There are many examples, including Apache Spark, Dock worker, relational databasesand cloud services. The scope of such software components is significantly limited compared to programming languages - but it is intentional – the scope of the restriction allows developers to easily configure these powerful software components and integrate them into their technical stack with clear, minimal coding. Coding level: low code (assemblies, models), pro code (extensions, scripts)
- With trained artificial intelligence software components. The artificial intelligence models trained here are added as modular predictors / generators inside a larger software application. For example, targeted advertising systems include an artificial intelligence component that takes user information and executes it through a trained algorithm to select the ads that are best displayed to the user. It is worth noting that artificial intelligence software components require much more coding than people (e.g., managers) expect. Coding level: high code (data preparation, design, optimization), no code (training, testing, driving time)
- With customizable full stack software. For example, WordPress allows developers to create and deploy websites with very little installation and coding. Likewise, R / glossy allows developers to create and deploy web applications for data analysis without having to write web interface code. Coding level: low code (assemblies, models), pro code (extensions, scripts)
- With customizable end-user software. At this point, we completely avoid coding and allow users to configure the specific behavior of the software through human-computer interfaces — e.g., pointing and clicking, swiping and dragging, search queries, data entry forms, and voice commands. There are millions of examples of this, the most popular of which may be Excel, Gmail, Facebook, Alexa (I’m not sure why I needed links there – for thinkers who have just woken up from a coma).
– Coding level: no code (structured forms, unbuilt surveys)
- With AI-structured end-user software? Haha. Mhm. Give me the units built by artificial intelligence first please. Coding level: steam equipment
No, not really.
But today there are many more useful SDKs, frameworks and companies – cough, Tag.bio, cough – which minimize coding to facilitate useful software development and behavior. It’s also investment trend right now in private equity mode.
No code means configuring the software without coding. Some people may argue that non-code should be limited to situations where users explicitly intend to make / publish new software features for their non-code functions, but that is just a perspective and UX. Non-code is probably best done when a user natively performs a task of interest – such as sending a message to Twitter. Intended to release a new software application for other people – i.e. an interactive web page that is accessible to a specific URL for that tweet – is a secondary objective.
For example, Tag.bio gives doctors and biologists a chance perform advanced analysis data iteratively no code parameter configuration.
Low code means writing high-level configurations and templates (permanent code) that adapt to a wide range of behaviors in a software component or system. JSON and YAML seem to be the most popular syntax options at the moment. Small code is not always simple – configurations and models typically have custom-made attributes, functions, and diagrams for each program component which developers need to learn. And the more complex the config / model system becomes, the more it becomes its own high code programming language.
For example, Tag.bio allows data designers to design, build, and quickly deploy web-based, distributed information products through low code JSON models.
Pro code means writing code in a common programming language, such as Python, or in a specialized programming language, such as SQLand adding this code as a plug-in module to a larger software system. Pro code offers an advantage over low code when the developer is given full control over the narrow scope of the process extension / script.
For example, Tag.bio allows data scientists to quickly build and adapt data analysis applications for researchers to use. pro code R / Python plugins.
thoughts? Comments are welcome.