Știința logicii în programare

Știința logicii în programare

Acest articol este dedicat analizei comparative a entităților logice din lucrarea filozofului german Georg Wilhelm Friedrich Hegel „Știința Logicii” și a analogilor sau lipsei acestora în programare.

Entitățile din „Știința Logicii” sunt evidențiate cu italice pentru a evita confuzia cu definițiile uzuale ale acestor cuvinte.

Ființă pură

Dacă deschideți definiția ființei pure în carte, veți vedea o frază interesantă „fără o definiție ulterioară”. Dar pentru cei care nu au citit sau nu au înțeles, nu vă grăbiți să-l acuzați pe autor de demență. Ființă pură — este un concept de bază în logica lui Hegel care înseamnă că un obiect există, vă rog să nu confundați cu existența obiectului; un obiect poate să nu existe în realitate, dar dacă l-am definit cumva în logica noastră, el există. Dacă vă veți gândi, veți realiza că astfel de lucruri ca ființei pure nu pot fi definite, iar orice încercare de acest fel se va reduce la faptul că veți face doar referire la sinonime sau antonime. Ființă pură un concept atât de abstract încât poate fi aplicat absolut la orice, inclusiv la sinele său. În unele limbaje orientate pe obiect, există posibilitatea de a reprezenta orice ca un obiect, inclusiv operațiuni asupra obiectelor, ceea ce, în principiu, ne oferă un asemenea nivel de abstractizare. Totuși, în programare, nu există un analog direct al ființei pure . Pentru a verifica existența unui obiect, trebuie să verificăm absența sa.

if(obj != null);

Este ciudat că un asemenea sintaxă dulce nu există încă, având în vedere că această verificare este foarte populară.

Nimic

Cum putea fi ghicit nimic este absența a ceva. Și analogul său poate fi considerat NULL. Este de menționat că în logica științifică nimic este ființa pură, deoarece aceasta există de asemenea. Aceasta este o oarecare capcană, pentru că nu putem aborda NULL ca pe un obiect în niciun limbaj, deși din punct de vedere esențial el este tot un obiect.

Devenirea și momentele

Devenirea — este tranziția de la nimic în ființă și de la ființa în nimic. Aceasta ne oferă două momente, primul se numește apariție, iar al doilea trecere. Trecerea este numită astfel în loc de dispariție, deoarece esența logică, de fapt, nu poate dispărea, decât dacă am uitat-o. Anularea procedura de alocare poate fi numită astfel. În cazul în care un obiect este inițializat, apare momentul apariției, iar în cazul atribuirii unei alte valori sau NULL momentul dispariției.

obj = new object(); //aparitie
obj = null; //disparitie

existenta actuală

Pe scurt existenta actuală — este un obiect care nu are o definiție clară, dar are definiție. Ce înseamnă asta. Un exemplu canonic este un simplu scaun. Dacă încercați să-i oferiți o definiție clară, veți întâmpina multe dificultăți. De exemplu, veți spune: „acesta este un obiect de mobilier destinat șederii”, dar un fotoliu este de asemenea creat pentru asta etc. Dar lipsa unei definiții clare nu ne împiedică să-l distincem în spațiu și să-l folosim pentru a transmite informații despre el, pentru că în mintea noastră există definiție scaunului. Poate că unii deja și-au dat seama că pentru a distinge astfel de obiecte din fluxul de date au fost create rețele neuronale. O rețea neuronală poate fi definită ca o funcție care determină această definiție, dar nu există tipuri de obiecte care să includă definiții clare și vagi, prin urmare astfel de obiecte nu pot fi utilizate la același nivel de abstracție.

Legea trecerii de la schimbări cantitative la schimbări calitative

Această lege a fost formulată de Friedrich Engels ca rezultat al interpretării logicii lui Hegel. Totuși, o putem găsi cu ușurință în primul volum, în capitolul despre măsură. Esența sa constă în faptul că schimbările cantitative în obiect pot influența calitatea. De exemplu, avem un obiect gheață, iar la acumularea de căldură se va transforma în apă lichidă și își va schimba calitățile. Pentru a realiza un astfel de comportament în obiect există un tipar de proiectare „Stare”. Apariția unei astfel de soluții a fost provocată de lipsa, în programare, a unui concept numit fundament pentru al apariției obiectului. Fundamentul definește condițiile în care un obiect poate apărea, iar în algoritm ne hotărâm noi în ce moment trebuie să inițializăm obiectul.

PS: Dacă această informație va fi interesantă, voi face o revizuire a altor entități din „Ştiința logicii”.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster