Traditionally, computer programming has been the domain of professional developers using textual programming languages like C, Java, or Python. However, low-code programming offers an alternative by allowing citizen developers to create programs using visual abstractions, demonstrations, or natural language. This article aims to consolidate the existing low-code literature from various research fields and provide a unified perspective on how these techniques work. One aspect of low-code programming is the use of semantic parsers, which are machine-learning models that translate natural language into an abstract syntax tree (AST) of a program. For example, SILT develops rule-based semantic parsers for coaching robotic soccer teams or querying geographic databases. The Overnight paper addresses the challenge of obtaining aligned training data for semantic parsers through synthetic data generation and crowd-sourced paraphrasing. Pumice tackles natural language ambiguity through dialogue interactions with users who can provide clarifications using either natural language or demonstrations. Shin et al. demonstrate how pre-trained large language models can be coerced into performing semantic parsing without fine-tuning. Another approach to low-code programming is program synthesis, which involves searching a space of possible programs. Desai et al. describe a meta-synthesizer that creates a synthesizer from natural language to programs in a domain-specific language (DSL) given a DSL grammar and an aligned corpus. Yin and Neubig propose a deep learning-based semantic parser that encodes natural-language tokens into a Python AST. Codex is a pre-trained large language model that first undergoes unsupervised fine-tuning on code and then supervised fine-tuning on aligned utterances and programs. The article also presents a comparison table of different low-code techniques based on their ability to write code visually, read code canvas activities, handle ambiguity etc., providing insight into their respective strengths and weaknesses in terms of usability and scalability for different types of applications. Overall, low-code programming has the potential to empower more individuals to automate tasks by creating computer programs making them more productive and less reliant on professional software developers.
- - Computer programming traditionally done by professional developers using textual programming languages like C, Java, or Python
- - Low-code programming offers an alternative for citizen developers to create programs using visual abstractions, demonstrations, or natural language
- - Low-code programming utilizes semantic parsers to translate natural language into an abstract syntax tree (AST) of a program
- - SILT develops rule-based semantic parsers for coaching robotic soccer teams or querying geographic databases
- - Overnight paper addresses obtaining aligned training data for semantic parsers through synthetic data generation and crowd-sourced paraphrasing
- - Pumice tackles natural language ambiguity through dialogue interactions with users who can provide clarifications using either natural language or demonstrations
- - Pre-trained large language models can be coerced into performing semantic parsing without fine-tuning
- - Program synthesis involves searching a space of possible programs
- - Desai et al. describe a meta-synthesizer that creates a synthesizer from natural language to programs in a domain-specific language (DSL)
- - Yin and Neubig propose a deep learning-based semantic parser that encodes natural-language tokens into a Python AST
- - Codex is a pre-trained large language model fine-tuned on code and aligned utterances and programs
- - Comparison table of different low-code techniques based on their ability to write code visually, read code canvas activities, handle ambiguity etc.
- - Low-code programming has the potential to empower individuals to automate tasks and be less reliant on professional software developers.
Computer programming is when people use special languages to tell computers what to do.
Low-code programming is a different way for people who are not professional programmers to make computer programs. They can use pictures or words instead of typing out code.
Semantic parsers are tools that help translate normal language into a special kind of code that computers can understand.
SILT is a group that makes semantic parsers for teaching robots how to play soccer and finding information on maps.
Overnight paper talks about how to make sure the semantic parsers have enough examples and ways to understand different sentences.
Pumice is a tool that helps people talk with computers and explain things in different ways so the computer understands better.
Pre-trained large language models are like smart computers that already know a lot, but they can also learn more specific things without needing too much extra training.
Program synthesis means looking at all the possible programs and finding the best one for what you want.
Desai et al. made a tool that helps turn normal words into special code for certain kinds of programs.
Yin and Neubig made another tool that turns words into special code, but this one uses deep learning technology.
Codex is a really smart computer program that knows both regular words and special code, so it can help people write programs easier.
The comparison table shows how well different low-code techniques work for writing code in an easy way, reading activities on the computer screen, handling confusion, and more.
Low-code programming lets regular people do more things with computers without
Low-Code Programming: A Unified Perspective
Computer programming has traditionally been the domain of professional developers using textual programming languages like C, Java, or Python. However, low-code programming offers an alternative by allowing citizen developers to create programs using visual abstractions, demonstrations, or natural language. This article aims to consolidate the existing low-code literature from various research fields and provide a unified perspective on how these techniques work.
Semantic Parsers
One aspect of low-code programming is the use of semantic parsers, which are machine-learning models that translate natural language into an abstract syntax tree (AST) of a program. For example, SILT develops rule-based semantic parsers for coaching robotic soccer teams or querying geographic databases. The Overnight paper addresses the challenge of obtaining aligned training data for semantic parsers through synthetic data generation and crowd-sourced paraphrasing. Pumice tackles natural language ambiguity through dialogue interactions with users who can provide clarifications using either natural language or demonstrations. Shin et al. demonstrate how pre-trained large language models can be coerced into performing semantic parsing without fine-tuning.
Program Synthesis
Another approach to low-code programming is program synthesis, which involves searching a space of possible programs. Desai et al. describe a meta-synthesizer that creates a synthesizer from natural language to programs in a domain specific language (DSL) given a DSL grammar and an aligned corpus. Yin and Neubig propose a deep learning based semantic parser that encodes natural language tokens into a Python AST. Codex is a pre trained large language model that first undergoes unsupervised fine tuning on code and then supervised fine tuning on aligned utterances and programs .
Comparison Table
The article also presents a comparison table of different low code techniques based on their ability to write code visually, read code canvas activities , handle ambiguity etc., providing insight into their respective strengths and weaknesses in terms of usability and scalability for different types of applications .
Conclusion
Overall ,low -code programming has the potential to empower more individuals to automate tasks by creating computer programs making them more productive and less reliant on professional software developers .