Ang Agham ng Lohika sa Programming

Ang Agham ng Lohika sa Programming

Ang artikulong ito ay nakatuon sa isang paghahambing na pagsusuri ng mga lohikal na nilalang mula sa gawain ng pilosopong Aleman na si Georg Wilhelm Friedrich Hegel "Science of Logic" kasama ang kanilang mga analogue o ang kanilang kawalan sa programming.

Naka-italic ang mga entity mula sa Science of Logic upang maiwasan ang kalituhan sa pangkalahatang tinatanggap na mga kahulugan ng mga salitang ito.

Purong nilalang

Kung bubuksan mo ang kahulugan dalisay na pagkatao sa aklat, makikita mo ang isang kawili-wiling linya "nang walang karagdagang kahulugan". Ngunit para sa mga hindi pa nakakabasa o hindi nakakaintindi, huwag magmadali para akusahan ang may-akda ng dementia. Purong nilalang - ito ay isang pangunahing konsepto sa lohika ni Hegel, ibig sabihin, mayroong ilang bagay, mangyaring huwag malito ito sa pagkakaroon ng isang bagay, ang bagay ay maaaring hindi umiiral sa katotohanan, ngunit kung sa paanuman ay tinukoy natin ito sa ating lohika, umiiral ito. Kung iisipin mo, may mga ganyan talaga dalisay na pagkatao imposibleng magbigay ng depinisyon, at ang anumang ganitong pagtatangka ay mauuwi sa katotohanan na sasangguni ka lang sa mga kasingkahulugan o kasalungat nito. Purong nilalang tulad ng isang abstract na konsepto na maaari itong ilapat sa ganap na anumang bagay, kabilang ang sarili nito. Sa ilang mga object-oriented na wika, posible na kumatawan sa anumang bagay bilang isang bagay, kabilang ang mga operasyon sa mga bagay, na sa prinsipyo ay nagbibigay sa atin ng ganoong antas ng abstraction. Gayunpaman, sa programming ang direktang analogue dalisay na pagkatao Hindi. Upang suriin ang pagkakaroon ng isang bagay, kailangan nating suriin kung wala ito.

if(obj != null);

Ito ay kakaiba na ang naturang syntactic sugar ay wala pa, dahil ang tseke na ito ay napakapopular.

Wala

Paano mo nahulaan wala ay ang kawalan ng anuman. At ang analogue nito ay maaaring tawaging NULL. Ito ay nagkakahalaga ng noting na sa agham ng lohika wala ay dalisay na pagkatao, dahil mayroon din ito. Ito ay isang bit ng catch; hindi namin ma-access ang NULL bilang isang bagay sa anumang wika, kahit na sa esensya ay isa rin ito.

Pagbubuo at mga sandali

Pagiging ay isang paglipat mula sa wala Π² pagiging at mula sa pagiging Π² wala. Iyon ay nagbibigay sa amin ng dalawa sandali, ang una ay tinatawag paglitaw, at pangalawa dumaraan. Daanan ito ay tinatawag na gayon sa halip na pagkawala, dahil ang lohikal na kakanyahan ay hindi maaaring mawala maliban kung nakalimutan natin ito. Pag-withdraw sa gayon maaari nating tawagan ang pamamaraan ng pagtatalaga. Kung ang aming bagay ay pinasimulan, kung gayon sandali ng pangyayari, at sa kaso ng pagtatalaga ng isa pang halaga o NULL sandali ng pagdaan.

obj = new object(); //Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅
obj = null; //ΠΏΡ€Π΅Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅

Pag-iral

Sa madaling salita pag-iral ay isang bagay na walang malinaw na kahulugan, ngunit mayroon katiyakan. Ano ang ibig sabihin nito. Ang canonical na halimbawa ay isang ordinaryong upuan. Kung susubukan mong bigyan ito ng malinaw na kahulugan, makakatagpo ka ng maraming paghihirap. Halimbawa, sasabihin mo: "ito ay isang piraso ng muwebles na idinisenyo para sa pag-upo," ngunit ang upuan ay nilikha din para dito, atbp. Ngunit ang kakulangan ng isang malinaw na kahulugan ay hindi pumipigil sa amin na i-highlight ito sa kalawakan at gamitin ito kapag nagpapadala ng impormasyon tungkol dito, ito ay dahil sa aming ulo mayroong katiyakan upuan. Marahil ay nahulaan na ng ilan na ang mga neural network ay nilikha upang ihiwalay ang mga naturang bagay mula sa stream ng data. Ang isang neural network ay maaaring tukuyin bilang isang function na tumutukoy dito katiyakan, ngunit walang mga uri ng mga bagay na magsasama ng malinaw at malabo na mga kahulugan, samakatuwid ang mga naturang bagay ay hindi maaaring gamitin sa parehong antas ng abstraction.

Ang batas ng paglipat ng quantitative ay nagbabago sa mga qualitative

Ang batas na ito ay binuo ni Friedrich Engels bilang resulta ng interpretasyon ng lohika ni Hegel. Gayunpaman, ito ay malinaw na makikita sa unang tomo sa kabanata sa hindi bababa sa. Ang kakanyahan nito ay iyon dami ang mga pagbabago sa isang bagay ay maaaring makaapekto dito kalidad. Halimbawa, mayroon tayong isang bagay na yelo; sa pag-iipon ng temperatura, ito ay magiging likidong tubig at babaguhin ito kalidad. Upang ipatupad ang pag-uugaling ito sa isang bagay, mayroong pattern ng disenyo ng Estado. Ang paglitaw ng naturang solusyon ay sanhi ng kawalan ng pagprograma ng isang bagay bilang ang base para sa pangyayari bagay. Foundation tinutukoy ang mga kondisyon kung saan maaaring lumitaw ang isang bagay, at sa algorithm tayo mismo ang magpapasya kung anong punto ang kailangan nating simulan ang bagay.

PS: Kung ang impormasyong ito ay kawili-wili, susuriin ko ang iba pang mga entity mula sa Science of Logic.

Pinagmulan: www.habr.com

Magdagdag ng komento