Бағдарламалаудағы логика ғылымы

Бағдарламалаудағы логика ғылымы

Бұл мақала неміс философы Георг Вильгельм Фридрих Гегельдің «Логика ғылымы» еңбегіндегі логикалық объектілерді аналогтарымен немесе олардың бағдарламалауда жоқтығымен салыстырмалы талдауға арналған.

Логика ғылымының нысандары осы сөздердің жалпы қабылданған анықтамаларымен шатастырмау үшін курсивпен жазылған.

Таза болмыс

Анықтаманы ашсаңыз таза болмыс кітапта сіз «қосымша анықтамасыз» қызықты жолды көресіз. Бірақ оқымаған немесе түсінбегендер үшін авторды деменция деп айыптауға асықпаңыз. Таза болмыс - бұл Гегель логикасындағы негізгі ұғым, қандай да бір объект бар дегенді білдіреді, оны объектінің бар болуымен шатастырмаңыз, объект шындықта болмауы мүмкін, бірақ егер біз оны логикамызда қандай да бір түрде анықтасақ, ол бар. Ойлап қарасаңыз, шынымен де осындай нәрселер бар таза болмыс анықтама беру мүмкін емес және кез келген мұндай әрекет сіз жай ғана оның синонимдеріне немесе антониміне сілтеме жасайсыз. Таза болмыс абстрактілі ұғым, оны кез келген нәрсеге, соның ішінде өзіне де қолдануға болады. Кейбір объектілі-бағытталған тілдерде кез келген нәрсені объект ретінде көрсетуге болады, соның ішінде объектілерге жасалған операциялар, бұл бізге принципті түрде абстракцияның осындай деңгейін береді. Дегенмен, тікелей аналогты бағдарламалауда таза болмыс Жоқ. Объектінің бар-жоғын тексеру үшін оның жоқтығын тексеру керек.

if(obj != null);

Бұл чектің өте танымал болғанын ескерсек, мұндай синтаксистік қанттың әлі жоқ екендігі таңқаларлық.

Ештеңе жоқ

Қалай болжай алдың ештеңе жоқ ештеңенің жоқтығы болып табылады. Ал оның аналогын NULL деп атауға болады. Айта кету керек, логика ғылымында ештеңе жоқ Бұл таза болмыс, өйткені ол да бар. Бұл аздап түсінікті; біз NULL мәніне кез келген тілдегі нысан ретінде қол жеткізе алмаймыз, бірақ мәні бойынша ол да біреу.

Қалыптасу және сәттері

Болады бастап көшу болып табылады ештеңе жоқ в болу және болу в ештеңе жоқ. Бұл бізге екі береді сәт, біріншісі деп аталады пайда болуы, екіншісі өту. Өткел ол жоғалудың орнына осылай аталады, өйткені логикалық болмыстың мәні біз оны ұмытпайынша жойылып кетуі мүмкін емес. Шығу осылайша біз тағайындау процедурасын атай аламыз. Егер біздің нысан инициализацияланған болса, онда пайда болу сәті, және басқа мән немесе NULL тағайындалған жағдайда өту сәті.

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

Бар болу

Қысқасын айтқанда болуы нақты анықтамасы жоқ, бірақ бар объект болып табылады сенімділік. Бұл нені білдіреді. Канондық мысал - кәдімгі орындық. Оған нақты анықтама беруге тырыссаңыз, көптеген қиындықтарға кезігесіз. Мысалы, сіз: «бұл отыруға арналған жиһаз» дейсіз, бірақ орындық бұл үшін жасалған және т.б. Бірақ нақты анықтаманың болмауы оны кеңістікте бөліп көрсетуге және ол туралы ақпаратты беру кезінде қолдануға кедергі келтірмейді, өйткені біздің басымызда бар сенімділік орындық. Мүмкін кейбіреулер нейрондық желілер мұндай объектілерді деректер ағынынан оқшаулау үшін жасалған деп болжаған шығар. Нейрондық желіні осыны анықтайтын функция ретінде белгілеуге болады сенімділік, бірақ анық және анық емес анықтамаларды қамтитын нысандардың түрлері жоқ, сондықтан мұндай объектілерді абстракцияның бірдей деңгейінде пайдалану мүмкін емес.

Сандық өзгерістердің сапалық өзгерістерге ауысу заңы

Бұл заңды Фридрих Энгельс Гегель логикасын түсіндіру нәтижесінде тұжырымдаған. Дегенмен, тараудағы бірінші томнан анық көруге болады ең аз. Оның мәні мынада сандық нысандағы өзгерістер оған әсер етуі мүмкін сапа. Мысалы, бізде мұз нысаны бар, ол температураның жинақталуымен сұйық суға айналады және оның өзгереді сапасы. Бұл әрекетті нысанда жүзеге асыру үшін күй дизайн үлгісі бар. Мұндай шешімнің пайда болуы бағдарламалауда мұндай нәрсенің болмауына байланысты негізі үшін пайда болуы объект. Қор объект пайда болатын шарттарды анықтайды және алгоритмде объектіні қай нүктеде инициализациялау керектігін өзіміз шешеміз.

PS: Егер бұл ақпарат қызықты болса, мен логика ғылымының басқа нысандарын қарастырамын.

Ақпарат көзі: www.habr.com

пікір қалдыру