Dada, cunoscut ca și dadaism, este un curent literar – artistic, ce a apărut în Europa în anul 1916, timpuriu în Zurich (Elveția), continuând în New York City (1915 – 1916), fiind intitulat, în acea perioadă, New York Dada. Această expansiune a cunoscut adevărate dimensiuni la Paris, la începutul anilor 1920. A apărut ca o reacție a diverșilor artiști (plastici, scriitori, teoreticieni) față de Primul Război Mondial, fiind o generație ce s-a confruntat, pentru prima dată în viața lor, cu pagubele pe care le poate aduce un război. Au ajuns la crearea acestui curent prin prisma faptului că estetica societății capitaliste a vremii respective, instaurând o simpatie și expresivitate anume nonsensului, fiind un protest pentru valorile burgheziei.
Toate persoanele care erau de acord cu valorile acestor artiști se reuneau la Cabaretul Voltaire (înființat în 1916, la Zurich, Elveția), organizat de Tristan Tzara, un scriitor evreu cu origini române. Acesta și-a manifestat „revolta” artistică prin provocarea creației. Manifestul dadaist a fost publicat într-un singur număr al revistei Cabaret Voltaire în același an cu cel de înființare.
Originea denumirii
Originea acestei denumiri nu este în totalitate cunoscută, existând mai multe teorii. O variantă susținută de Marcel Iancu (pictor român) ar fi că a fost ales dintr-un dicționar Larousse din 1909, în care Tristan Tzara ar fi introdus un creion ce s-ar fi oprit în dreptul termenului onomatopeic dada (care, în franceză, are semnificația de cal în limbajul copiilor, iar în acest caz, în sens figurat, semnifică o idee fixă, manie).
Elemente definitorii
Astfel, a apărut poezia procedurală, care include și cunoscuta poezie modernă. Pentru a înțelege lucrările din acest curent, este esențial să analizăm câteva concepte:
a) Diferența dintre algoritm și procedură
În contextul științelor informatice, cei doi termeni au sensuri și utilizări în contexte diferite. Pentru a putea avea o privire mai amplă asupra acestui lucru, începem prin a defini ambele cuvinte:
Algoritmul este o secvență bine definită de pași sau de instrucțiuni, în cadrul cărora se descriu metodele pentru rezolvarea unei probleme sau pașii pentru îndeplinirea unei sarcini. Aceștia sunt independenți de limbajul de programare și de mediul în care sunt implementați. Un exemplu bun ar putea fi sortarea unei liste de numere.
Procedura este un bloc de cod sau o funcție într-un limbaj de programare care îndeplinește o sarcină specifică și poate fi apelată din diverse părți ale programului. Acestea sunt implementări concrete ale algoritmilor în cadrul unui program și sunt legate de sintaxa și caracteristicile specifice ale limbajului de programare. Un exemplu bun ar fi o funcție care calculează suma a două numere.
Încă o diferență importantă ce se remarcă între acești doi termeni este diferența dintre abstractitatea și implementarea fiecăruia:
- Algoritmii sunt mai abstracți și se concretizează pe logica și pașii necesari pentru a rezolva o problemă. Nu specifică detalii despre implementarea tehnică într-un limbaj anume. Un exemplu relevant în acest sens este algoritmul de sortare QuickSort, care descrie modul de sortare al unei liste de elemente, dar nu spune cum să se implementeze acesta într-un limbaj concret de programare, precum C++.
- Procedurile sunt implementări concrete ale algoritmilor și includ detalii specifice despre sintaxa limbajului de programare și despre cum se execută pașii descriși de algoritm. Un exemplu relevant în acest sens este procedura numită „quicksort” într-un program C++, ce implementează algoritmul QuickSort folosind sintaxa și structura specifică limbajului C++.
b) Diferența dintre control și aleator, de ce este mai avantajos input-ul informatic decât cel uman
Controlul se referă la abilitatea de a dirija și de a manipula variabilele și procesele într-un mod predeterminat și previzibil. Controlul deținut asupra codului permite predictibilitate și consistență. Aleatoriul se referă la procese și rezultate care sunt imprevizibile și nu urmează un model determinat. Acesta este util pentru simulări, unde variabilitatea este dorită, cum ar fi jocurile sau analiza statistică. În programare, funcțiile de generare aleatorie sunt folosite pentru a crea astfel de rezultate.
În continuare, se remarcă avantajele input-ului informatic comparativ cu cel uman:
- Consistența și precizia: Input-ul informatic poate procesa datele cu o precizie ridicată și consistență. Calculatoarele nu „obosesc” și nici nu sunt afectate de emoții sau distrageri, asigurând, de fiecare dată, rezultate extrem de precise și consistente.
- Viteza și eficiența: Input-ul informatic poate procesa și analiza mari cantități de date foarte rapid.
- Reproductibilitatea: Input-ul informatic poate reproduce exact la fel de fiecare dată, cu aceleași date și condiții.
- Capacitatea de a gestiona date mari: Input-ul informatic poate gestiona și analiza volume uriașe de date, mai ales în cadrul analizei de date și învățarea automată a diverselor sisteme.
c) Constrângerea versus libertatea oferită de metodă
Constrângerea se definește ca totalitatea limitărilor care definesc modul în care pot fi realizate acțiunile, în cadrul unui sistem bine definit. Libertatea oferită de metodă reprezintă permisiunea de a adapta și aplica proceduri în cadrul unui sistem fluid, deschis și neconstrâns. Aceste principii se aplică în mod special și în domeniul artei digitale și al informaticii, unde orice sistem se află constant între limitele definite de constrângeri și posibilitatea de a inova prin flexibilitate metodologică.