# Algorithms in Low-Code-No-Code for Research Applications: A Practical Review
## 1 Introduction  
Since the birth of the first computer, ENIAC (electronic numerical integrator and computer) in 1943, the way of writing algorithms has evolved from machine code towards low-code-no-code (LCNC). As seen from Fig. 1, in 1943, machine codes were written in binary which could be comprehended by early generation computers [1]. In 1949, the birth of assembly languages simplified machine code. Then, in 1952, Autocode enabled the programmers to write algorithms in low-level computer programming language, which could then be translated into machine codes [2]. Writing algorithms became much simpler with fewer lines of code, with the birth of high-level procedural languages (e.g., Fortran, Algol, COBOL) in 1957 [2, 3]. Then, from 1965 onwards, the way of writing algorithms veered to be in object oriented languages with the birth of Simula and Smalltalk. In 2001, Outsystems was born with the vision of faster delivery of digital transformation [4]. In 2014, Outsystems released a free version of the LCNC platform for developers. Since 2014, there has been a trend for minimizing lines of codes and reducing upfront investment in setup, training, and deployment for software development [5]. In 2017, the CEO of GitHub mentioned that the future of coding is no coding at all [6]. After [PERSON] defined the terminology \"Low-code development platform (LCDP)\" in 2014, Gartner coined the term low-code application platform (LCAP) in 2016 [7]. Since then, industry giants, such as Microsoft, Google, Siemens, and others, started releasing popular LCNC/LCDP/LCAP platforms. For example, Microsoft released Power Platform in 2016 [8], Siemens publishedMendix [9] in 2018, and Google announced AppSheet [10], in 2020 as seen from Figure 1. Apart from terminologies, such as LCNC, LCDP and LCAP, there are several other popular notions, such as \"citizen developer\", \"robotic process automation (RPA)\", \"IT-business alignment\", and \"business process management (BPM)\" interchangeably being used to represent the concept of low-code-no-code development in recent times [11]. The COVID-19 pandemic accelerated the adoption of LCNC platforms as businesses sought to quickly pivot and adapt to the changing business environment between 2019 and 2020 [12]. In quarter two of 2020, an LCNC platform, Appian, reported subscription revenue rising a little over 12% compared to the same quarter last year [12]. In more recent times (i.e., 2022 to 2023), LCNC platforms continue to evolve and expand, offering more advanced features and capabilities to users. This includes the integration of AI and machine learning, improved user experiences, and increased integration with other tools and platforms. In 2023, global LCNC technologies are predicted to grow 20% [13]. Modern LCNC platforms realize several benefits over previous generations of manually writing lengthy lines of codes with low-level or high-level languages. These benefits include faster development with cloud-based environments, where anyone without coding experience can develop complex technology solutions by integrating technology components from multiple sources. These LCNC platforms provide simple cloud-based interfaces where a non-programmer scientist or researcher can drag-and-drop required algorithms to develop complex scientific solutions. Hence, anyone without high-level coding knowledge can quickly deploy their scientific solutions and report them, as demonstrated in References [14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31]. These studies (i.e., [14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31]) represents the last 4 years developments in research problems addressed with LCNC platforms. In this review, existing scientific studies implementing algorithms using LCNC are critically reviewed to answer the following research questions:  
* RQ1: What are the benefits of using LCNC platforms in general? * RQ2: What are the limitations of using LCNC platforms in general?