
Ten artykuł poświęcony jest porównawczej analizie struktur logicznych z dzieła niemieckiego filozofa Georga Wilhelma Friedricha Hegla „Nauki logiki” oraz ich odpowiedników lub braku w programowaniu.
Struktury z „Nauk logiki” zostały wyróżnione kursywą, aby uniknąć pomyłek z powszechnie przyjętymi definicjami tych słów.
Czyste istnienie
Jeśli otworzycie definicję czystego istnienia w książce, zobaczycie interesujące zdanie „bez dalszej definicji”. Ale dla tych, którzy nie czytali lub nie zrozumieli, nie spieszcie się, aby oskarżać autora o demencję. Czyste istnienie — to podstawowe pojęcie w logice Hegla oznaczające, że jakiś obiekt istnieje; proszę nie mylić z istnieniem obiektu, obiekt może nie istnieć w rzeczywistości, ale jeśli w jakiś sposób go zdefiniowaliśmy w naszej logice, on istnieje. Jeśli się nad tym zastanowicie, to rzeczywiście niektóre rzeczy, takie jak czystego istnienia nie da się zdefiniować, a każda taka próba sprowadziłaby się do tego, że będziecie po prostu odnosić się do jego synonimów lub antonimów. Czyste istnienie jest na tyle abstrakcyjnym pojęciem, że może być stosowane do czegokolwiek, w tym samego siebie. W niektórych obiektowo-orientowanych językach istnieje możliwość przedstawienia w postaci obiektu wszystkiego, łącznie z operacjami na obiektach, co zasadniczo daje nam taki poziom abstrakcji. Jednak w programowaniu bezpośredniego odpowiednika czystego istnienia nie ma. Aby sprawdzić istnienie obiektu, musimy sprawdzić jego nieobecność.
if(obj != null);Dziwne, że takiego syntaktycznego cukru jeszcze nie ma, biorąc pod uwagę, że ta sprawdzenie jest dość popularne.
Nic
Jak można się było domyślić nic jest brakiem czegokolwiek. Jego analogiem można nazwać NULL. Warto zaznaczyć, że w naukowej logice nic jest czyste istnienie, ponieważ również istnieje. W tym tkwi pewne niedopasowanie, ponieważ nie możemy odwołać się do NULL jako obiektu w żadnym języku, chociaż w istocie on również nim jest.
Stawanie się i momenty
Stawanie się — to przejście od nic do istnienia i od istnienia do nic. To daje nam dwa momenty, pierwszy nazywany powstaniem, a drugi przechodzeniem. Przechodzenie nazywa się tak zamiast zniknięcia, ponieważ istota logiczna w zasadzie nie może zniknąć, chyba że o niej zapomnieliśmy. Zniesieniem można nazwać procedurę przypisania. W przypadku, gdy inicjalizowany jest obiekt, następuje moment wystąpienia, a w przypadku przypisania innej wartości lub NULL moment przejścia.
obj = new object(); //wystąpienie
obj = null; //przejścieaktualne istnienie
Krótko mówiąc, aktualne istnienie — to obiekt, który nie ma wyraźnej definicji, ale ma określoność. Co to oznacza. Kanonicznym przykładem jest zwykłe krzesło. Jeśli spróbujesz podać mu wyraźną definicję, napotkasz wiele trudności. Na przykład powiesz: „to mebel przeznaczony do siedzenia”, ale fotel również jest do tego stworzony itp. Ale brak wyraźnej definicji nie przeszkadza nam wyróżniać go w przestrzeni i używać do przekazywania informacji o nim, ponieważ w naszej głowie jest określoność krzesło. Może niektórzy już domyślili się, że do wyróżniania takich obiektów z strumienia danych zostały stworzone sieci neuronowe. Sieć neuronową można określić jako funkcję, która definiuje tę określoność, ale nie ma rodzajów obiektów, które zawierałyby wyraźne i niejasne definicje, dlatego takich obiektów nie można używać na tym samym poziomie abstrahowania.
Prawo przejścia zmian ilościowych w jakościowe
Prawo to zostało sformułowane przez Fryderyka Engelsa w wyniku interpretacji logiki Hegla. Jednak można je dostrzec w pierwszym tomie w rozdziale o mierze. Jego istota polega na tym, że zmiany ilościowe obiektu mogą wpłynąć na jego jakość. Na przykład mamy obiekt lód, przy nagromadzeniu temperatury przekształci się w wodę i zmieni swoje cechy. Aby zrealizować takie zachowanie w obiekcie, istnieje wzorzec projektowy „Stan”. Powstanie takiego rozwiązania było spowodowane brakiem w programowaniu takiej rzeczy jak podstawa do wystąpienia obiektu. Podstawa określa warunki, w których obiekt może powstać, a w algorytmie sami decydujemy, kiedy musimy zainicjalizować obiekt.
PS: Jeśli ta informacja będzie interesująca, przeprowadzę przegląd innych bytów z „Nauki logiki”.
Źródło: habr.com
