De wetenschap van logica in programmeren

De wetenschap van logica in programmeren

Dit artikel is gewijd aan een vergelijkende analyse van logische entiteiten uit het werk van de Duitse filosoof Georg Wilhelm Friedrich Hegel “Science of Logic” met hun analogen of hun afwezigheid in de programmering.

Entiteiten uit de Science of Logic zijn cursief gedrukt om verwarring met de algemeen aanvaarde definities van deze woorden te voorkomen.

Puur zijn

Als u de definitie opent puur wezen in het boek zie je een interessante regel ‘zonder verdere definitie’. Maar voor degenen die het niet hebben gelezen of het niet begrijpen: haast je niet om de auteur van dementie te beschuldigen. Puur zijn - dit is een basisconcept in de logica van Hegel, wat betekent dat er een object bestaat. Verwar het alsjeblieft niet met het bestaan ​​van een object. Het object bestaat misschien niet in werkelijkheid, maar als we het op de een of andere manier in onze logica definiëren, bestaat het wel. Als je erover nadenkt, zijn er echt zulke dingen als puur wezen het is onmogelijk om een ​​definitie te geven, en al deze pogingen zullen neerkomen op het feit dat je eenvoudigweg naar de synoniemen of antoniemen ervan zult verwijzen. Puur zijn is zo'n abstract concept dat het op werkelijk alles kan worden toegepast, inclusief zichzelf. In sommige objectgeoriënteerde talen is het mogelijk om alles als een object weer te geven, inclusief bewerkingen op objecten, wat ons in principe een dergelijk abstractieniveau oplevert. Bij het programmeren van de directe analoog puur wezen Nee. Om het bestaan ​​van een object te controleren, moeten we controleren op de afwezigheid ervan.

if(obj != null);

Het is vreemd dat dergelijke syntactische suiker nog niet bestaat, aangezien deze cheque erg populair is.

Niets

Hoe kon je het raden niets is de afwezigheid van iets. En zijn analoog kan NULL worden genoemd. Het is vermeldenswaard dat dit in de wetenschap van de logica het geval is niets is puur wezen, omdat het ook bestaat. Dit is een beetje lastig; we hebben in geen enkele taal toegang tot NULL als object, ook al is het dat in wezen ook.

Vorming en momenten

steeds is een overgang van niets в wezen en van wezen в niets. Dat levert ons twee op moment, de eerste wordt gebeld verschijning, en ten tweede passeren. Passage het wordt zo genoemd in plaats van verdwijning, omdat de logische essentie in wezen niet kan verdwijnen tenzij we haar vergeten zijn. Opname als zodanig kunnen we de toewijzingsprocedure noemen. Als ons object is geïnitialiseerd, dan moment van optreden, en in het geval van het toewijzen van een andere waarde of NULL moment van passeren.

obj = new object(); //возникновение
obj = null; //прехождение

Bestaan

In het kort bestaan is een object dat geen duidelijke definitie heeft, maar dat wel heeft zekerheid. Wat betekent het. Het canonieke voorbeeld is een gewone stoel. Als je het een duidelijke definitie probeert te geven, zul je veel moeilijkheden tegenkomen. Je zegt bijvoorbeeld: “dit is een meubel ontworpen om op te zitten”, maar de stoel is hier ook voor gemaakt, etc. Maar het ontbreken van een duidelijke definitie weerhoudt ons er niet van om deze in de ruimte te benadrukken en te gebruiken bij het verzenden van informatie erover. Dit komt omdat er in ons hoofd zekerheid stoel. Misschien hebben sommigen al geraden dat neurale netwerken zijn gemaakt om dergelijke objecten van de datastroom te isoleren. Een neuraal netwerk kan worden omschreven als een functie die dit definieert zekerheid, maar er zijn geen typen objecten die duidelijke en vage definities bevatten, daarom kunnen dergelijke objecten niet op hetzelfde abstractieniveau worden gebruikt.

De wet van de overgang van kwantitatieve veranderingen naar kwalitatieve

Deze wet werd geformuleerd door Friedrich Engels als resultaat van de interpretatie van Hegels logica. Het is echter duidelijk te zien in het eerste deel van het hoofdstuk over minst. De essentie ervan is dat kwantitatief wijzigingen aan een object kunnen dit beïnvloeden kwaliteit. We hebben bijvoorbeeld een ijsvoorwerp; door temperatuuraccumulatie zal het in vloeibaar water veranderen en van kleur veranderen kwaliteit. Om dit gedrag in een object te implementeren, is er een State-ontwerppatroon. De opkomst van een dergelijke oplossing wordt veroorzaakt door de afwezigheid van zoiets als programmeren stichting voor voorkomen voorwerp. Grond bepaalt de omstandigheden waaronder een object kan verschijnen, en in het algoritme bepalen we zelf op welk punt we het object moeten initialiseren.

PS: Als deze informatie interessant is, zal ik andere entiteiten uit de Science of Logic beoordelen.

Bron: www.habr.com

Voeg een reactie