No Code, Low Code, tendințe în industria Software
Autor: Ana-Maria Masoud
  • Autor: Ana-Maria Masoud

NO CODE, LOW CODE, TENDINȚE ÎN INDUSTRIA SOFTWARE

Limbajele de programare de primă generație (1GL) au fost limbaje-mașină, instrucțiunile fiind binare și mult mai ușor de interpretat de către o mașină decât de către o ființă umană. Nu era folosit niciun translator (compilator), mașina de calcul fiind capabilă să înțeleagă instrucțiunile în mod direct. Erorile erau foarte dificil de corectat și codul nu era portabil. Limbajul mașină încă se folosește rareori și în prezent la programarea driverilor sau a interfețelor. Aceste programe erau citite de pe cartele perforate bandă magnetică sau panoul de comandă (primele calculatoare care semănau cumva cu un dulap, aveau așa ceva). La începutul anilor 2000, când eram eu studentă la Facultatea de Matematică, încă existau sute de astfel de cartele în arhivele Facultății.


A doua generație de limbaje de programare (2GL) sau limbaje de asamblare producea tot cod-mașină însă s-a renunțat la binar și s-au introdus instrucțiuni « citibile » și de către o ființă umană.  ASSEMBLER a fost cel mai reprezentativ limbaj din această categorie (încă făcea parte din curriculă când eram eu studentă J):

Foto: Motorola 6800 Assembly Language - Assembly language - Wikipedia


Chiar dacă este cumva mai « prietenos » decât codul binar de pe cartelele magnetice, după cum vedeți în figura de mai sus, tot îți trebuie ceva pregătire de specialitate pentru a înțelege acest tip de cod.

De la a treia generație de limbaje de programare (3GL) numită și « limbaje de programare evoluate » putem începe a vorbi despre o industrie software. Aceste limbaje au apărut în anii 1950 cele mai reprezentative fiind Fortran, ALGOL și COBOL. Prin anii 2015 eu încă mai programam în COBOL și deși încă din anii 2000 se vorbea că acest limbaj va dispărea, nu cred că în următorii 10 ani se va întâmpla asta. Există foarte multe aplicații scrise în așa numitul « legacy code » iar pentru a le înlocui sunt necesare investiții masive. Multe din aceste aplicații sunt nucleele sistemelor bancare sau ale administrației publice. De altfel, la începutul pandemiei COVID în Statele Unite a existat o criză a programatorilor COBOL deorece sistemele informatice care gestionează forța de muncă din aproximativ jumătate din statele americane erau dezvoltate pe mainframes.


Tot din limbajele de categorie 3 fac parte și mai noile C, C++, C#, Java, Basic și Pascal.

Din a patra generație de limbaje de programare (4GL) fac parte toate limbajele moderne care folosesc un nivel mare de abstractizare, fiind mult mai versatile și « prietenoase » cu programatorul decât cu mașina. Limbajele 4GL au fost concepute pentru a reduce timpul, efortul și costul dezvoltării de software. 


TAB2


În paralel cu toate aceste limbaje de programare, în ultimii ani, au aparut platformele « NO CODE » sau « LOW CODE » care permit utilizatorului construcția de aplicații software fără a folosi cod și fără a avea cunoștințe de programare. Utilizând platformele Low-Code/No-Code (LC/NC) se pot crea aplicații funcționale conectând prin drag-and-drop diverse componente (module). Diferența între acestea este, după cum o spune și numele, faptul că în primele nu se folosește cod deloc respectiv în cele LOW-CODE folosim ceva cod, însă la un nivel foarte simplu.


Printre beneficiile oferite de aceste platforme se numără : costul scăzut, viteza, eficiența, accesibilitatea. Totuși, momentan, există limitări, customizarea fiind încă într-un stadiu incipient. O altă problemă ar fi scalarea la nivel de organizație și trasabilitatea modificărilor

Printre cele mai cunoscute platforme Low-Code se numără : OutSystems, Appian, Salesforce Lightning, Temenos, Google AppSheeet, WordPress.


Aceste platforme se află la început de drum însă țelul pe care și-l propun, anume de a face dezvoltarea de aplicații software la fel de accesibilă pentru un utilizator mediu ca și utilizarea Word sau PowerPoint mă face să cred că în următorii ani vom asista la o dezvoltare fulminantă în acest sector. De altfel, pandemia, care a accelerat digitalizarea, foarte multe firme fiind nevoite să-și adapteze procesele și aplicațiile  la « noul normal », va favoriza aceste platforme, business-ul având nevoie de soluții rapide și ieftine.

Gartner prevede că în 2024 65% din aplicațiile software vor fi realizate utilizând platfome low-code și no-code. Personal consider această predicție prea optimistă însă cu siguranță în următorii ani vom asista la o creștere exponențială în acest segment.

În 2020 aceștia erau cei mai importanți jucători de pe piață:

Cred că una dintre cele mai cunoscute platforme Low-Code este WordPress folosită în 40% din site-urile de pe Glob conform unei analize puse la dispoziție de către ei (WordPress and the Journey to 40% of the Web | WordPress.org) . Mai mult, ei susțin că în segmentul premium, market share este de 51,8% iar în ceea ce privește noile site-uri, 68,2% dintre acestea sunt făcute utilizând această platformă.

O altă platformă foarte populară este Outsystem. Platforma este folosită pentru a crea aplicații mobile, web și enterprise și permite integrarea cu alte soluții cum ar fi Salesforce, SAP, AWS etc . Iar toate acestea se pot face într-un timp foarte scurt la distanță de câteva click-uri :

Foto: Application Development: Fast, Right and for the Future | OutSystems


De ce ar trebui să folosim platformele Low-Code?


Deși în industria software aceste platforme sunt adesea criticate fie pentru că nu oferă un grad de customizare suficient, fie pentru că nu sunt potrivite pentru corporații sau firme cu o activitate critică ori pentru că fac dezvoltarea de aplicații prea ieftină și accesibilă, eu consider că ele reprezintă viitorul programării. Bineînțeles limbajele de programare clasice nu vor dispărea așa cum nu a dispărut nici COBOL-ul la mai mult de 50 de ani de când a fost inventat. Limbajele de programare clasice vor conviețui cu platformele low-code și no-code pentru moment cele din urmă fiind pretabile doar pentru dezvoltări de mică amploare și se adresează unui anumit segment de piață.

Totuși, în timp, cel mai probabil, cota lor de piață va crește și vor deveni din ce în ce mai performante și mai adaptabile.