ПРОЛОГ, ЛИСП и ДР.( тъпни )
47 отговора
1785 прегледа
ПРОЛОГ, ЛИСП и ДР.( тъпни )
Абе имат ли тия неща някакво практическо приложение ?
т.е.
Има ли нещо, което да не може да се опише на Ц++ ?
т.е.
Има ли нещо, което да не може да се опише на Ц++ ?
Ако се беше регистрирал, с големи
подробности и примери щях да ти обясня, че това не са тъпни. Щях да ти дам задачки, които да те видя как ще ги решиш на С++.
I'm sorry boy.
I'm sorry boy.
Въпросът...
не е, може ли нещо да се реши на тоя или оня език. То в крайна сметка всичко отива в процесора под формата на байтове. Но това не означава, че трябва да пишем на машинен език, защото там всичко става.
Така че, смятам че въпросът ("Има ли нещо, което да не може да се опише на Ц++ ?") е глупав.
Така че, смятам че въпросът ("Има ли нещо, което да не може да се опише на Ц++ ?") е глупав.
Нерде Ямбул, нерде Стамбул
Нерде програмиране за счетоводство, нерде програмеране за машинноинженерна 3D графика.
За всеки влак си има пътници! (Не съм го измислил аз)
За всеки влак си има пътници! (Не съм го измислил аз)
Съгласен съм,
че нещо може да се направи на даден език по-лесно. Но не това прави езика по-мощен или по-изразителен.
Така или иначе, всеки език предоставя някаква абстракция. В асемблера имаме някаква абстракция на машиния език - не ни се налага да мислим за кодовете на инструкциите. В езици като C, Pascal, Fortran не ни се налага да мислим за самите инструкции, които CPU-то разбира. Вместо това мислим в термините на данни и процедури, които обработват тези данни. За съжаление това все още е далеч от реалния свят (и съответно проблема, който решаваме там). След това имаме OO езици като Smalltalk, C++, Java, при които вече не разсъждаваме в термините на процедури и данни, а в термините на обекти. По този начин се отдалечаваме от това как работи машината (абстракция) и се доближаваме до това как са нещата в реалния свят.
Подобни абстракции имаме и в Lisp и Prolog езиците. В Lisp абстракцията е "списък" - всичко е списъци. И се мисли в термините на списъци и тяхната обработка.
В Prolog имаме "решения, изводи" - целят се да се удовлетворят клаузи и т.н.
Това също са абстракции. И в някои случаи са много полезни. Примерно по-лесно се доказва верността на програми (верифициране).
А това, че има специализирани езици за решаване на някакъв тесен клас проблеми е друга тема. Или поне аз така разбрах темата.
Така или иначе, всеки език предоставя някаква абстракция. В асемблера имаме някаква абстракция на машиния език - не ни се налага да мислим за кодовете на инструкциите. В езици като C, Pascal, Fortran не ни се налага да мислим за самите инструкции, които CPU-то разбира. Вместо това мислим в термините на данни и процедури, които обработват тези данни. За съжаление това все още е далеч от реалния свят (и съответно проблема, който решаваме там). След това имаме OO езици като Smalltalk, C++, Java, при които вече не разсъждаваме в термините на процедури и данни, а в термините на обекти. По този начин се отдалечаваме от това как работи машината (абстракция) и се доближаваме до това как са нещата в реалния свят.
Подобни абстракции имаме и в Lisp и Prolog езиците. В Lisp абстракцията е "списък" - всичко е списъци. И се мисли в термините на списъци и тяхната обработка.
В Prolog имаме "решения, изводи" - целят се да се удовлетворят клаузи и т.н.
Това също са абстракции. И в някои случаи са много полезни. Примерно по-лесно се доказва верността на програми (верифициране).
А това, че има специализирани езици за решаване на някакъв тесен клас проблеми е друга тема. Или поне аз така разбрах темата.
Съгласен съм и аз !
Всичко което казжаш, Josarjanе е така !
Факт е, че случката във Вавилон е наказание за човеците.
Ама вавилонската кула в програмирането си е тяхно дело.
Факт е, че случката във Вавилон е наказание за човеците.
Ама вавилонската кула в програмирането си е тяхно дело.
Re: Съгласен съм,
na men pok mi e nai lesno i kef da pisa na assembler! t.e. da misla za instrukciite! koai d aizpolzvam, kak d aia iazpolzvam tai ce da spesta 1bait i t.n.
raznit ermu tam obekti viibste nemoga d agi razbera! da negovorim za prolog i lisp
raznit ermu tam obekti viibste nemoga d agi razbera! da negovorim za prolog i lisp
Ами то и затова
има толкова много езици - който искаш него използвай.
Въпреки че, ако ти се наложи да правиш cross-platform проект, ще те видя на асемблер как ще се справиш.
Ама предполагам, че ще пишеш на C.
Въпреки че, ако ти се наложи да правиш cross-platform проект, ще те видя на асемблер как ще се справиш.
Ама предполагам, че ще пишеш на C.
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
ЛИСПА се ползва в Кад програмите и в MIT за отказване на първокусниците по информатика.
а пролога мисля че има приложение при невронните мрежи и изкуствения интелект
Аз съм най-добрата!
а пролога мисля че има приложение при невронните мрежи и изкуствения интелект
Аз съм най-добрата!
Re: Съгласен съм,
Само да допълня че самото име подсказва с какво се занимава ЛИСП-а LISt Processing , а пролога е логически език ( или нещо такова беше
)
Аз съм най-добрата!
Аз съм най-добрата!
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
И двата езика се ползват в ИИ, но не са никакво преимущество за работа с невронни мрежи. Защото и двата езика са добри главно в манипулацията със символи, които са дискретни обекти.
Невронните мрежи са по-близко да статистическите (вероятностните) методи; пресмятанията в тях използват реални числа, интеграли, сходимост, ... въобще за тях е по-добър обикновен език като C или Pascal.
Lisp е по-стар и общо взето по-универсален и сходен с другите езици C, Pascal, ...; идеята му идва от ламбда-смятането, разработено около 1930 от Чърч и доразвито от аспирантите му Клини и Росер. Самия автор на езика е от по-късно и май се казваше Мински. Казват че е "функционален език", защото и ламбда-смятането си е техника за опериране с функции; рекурсията е основна техника тук.
Според мен Lisp е приятен и е добро забавление да си програмираш на него. Всичко може да се направи с него - друг е въпроса дали трябва :)
Prolog е вдъхновен от метода на резолюцията, публикуван през 1965 от J. Robinson (но не A. Robinson, друг много известен логик). Самия език е дефиниран от един французин (май беше учител в гимназия :). Метода на резолюция на Robinson е по-общ от това което има в пролог, понеже пролог е ограничен до така наречените Хорнови клаузи. Хорнова клауза е нещо като A1 /\ A2 /\ ... /\ An --> B и приведена в нармална дизюнктивна форма има право да съдържа най-много един "полужителен член". Горния израз приведен в н.д.ф. изглежда така ~A1 \/ ~A2 \/ ... \/ ~An \/ B. Ясно е, че това ограничение не ни дава да запишем всичко което искаме, но пък ни осигурява изобщо пролог да работи и да не вземе нещо да зацикли :) Все пак в един практически интерпретатор на пролог програмиста може да изрази повече неща, главно заради клаузите assert и retract за които се казва, че са деструктивни - с тях програмиста може повече, но може и да забърка големи каши :)
С пролог също може да се програмира всичко, подобно на Lisp, C, Pascal.
И двата езика, като че ли са по-подходящи за разработка и проверка на някои идеи в ИИ. Защото си имат вградена и интересна логика, която понякога е много полезна и ще трябва да се сбъркаш от кодиране ако речеш да го правиш на C. Значи пробваш си с тях идейката, а ако се изкефиш и ти потрябва комерсиална реализация, за това си има C и подобни.
Невронните мрежи са по-близко да статистическите (вероятностните) методи; пресмятанията в тях използват реални числа, интеграли, сходимост, ... въобще за тях е по-добър обикновен език като C или Pascal.
Lisp е по-стар и общо взето по-универсален и сходен с другите езици C, Pascal, ...; идеята му идва от ламбда-смятането, разработено около 1930 от Чърч и доразвито от аспирантите му Клини и Росер. Самия автор на езика е от по-късно и май се казваше Мински. Казват че е "функционален език", защото и ламбда-смятането си е техника за опериране с функции; рекурсията е основна техника тук.
Според мен Lisp е приятен и е добро забавление да си програмираш на него. Всичко може да се направи с него - друг е въпроса дали трябва :)
Prolog е вдъхновен от метода на резолюцията, публикуван през 1965 от J. Robinson (но не A. Robinson, друг много известен логик). Самия език е дефиниран от един французин (май беше учител в гимназия :). Метода на резолюция на Robinson е по-общ от това което има в пролог, понеже пролог е ограничен до така наречените Хорнови клаузи. Хорнова клауза е нещо като A1 /\ A2 /\ ... /\ An --> B и приведена в нармална дизюнктивна форма има право да съдържа най-много един "полужителен член". Горния израз приведен в н.д.ф. изглежда така ~A1 \/ ~A2 \/ ... \/ ~An \/ B. Ясно е, че това ограничение не ни дава да запишем всичко което искаме, но пък ни осигурява изобщо пролог да работи и да не вземе нещо да зацикли :) Все пак в един практически интерпретатор на пролог програмиста може да изрази повече неща, главно заради клаузите assert и retract за които се казва, че са деструктивни - с тях програмиста може повече, но може и да забърка големи каши :)
С пролог също може да се програмира всичко, подобно на Lisp, C, Pascal.
И двата езика, като че ли са по-подходящи за разработка и проверка на някои идеи в ИИ. Защото си имат вградена и интересна логика, която понякога е много полезна и ще трябва да се сбъркаш от кодиране ако речеш да го правиш на C. Значи пробваш си с тях идейката, а ако се изкефиш и ти потрябва комерсиална реализация, за това си има C и подобни.
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
Вярно е, че в AutoCAD има Lisp и разработчиците са го нарекли AutoLISP.
Но в AutoCAD си имаме работа със задачи от аналитична геометрия, линейна алгебра и т.н.т.
Защо са използвали Lisp, който се знае, че не е ефиктивен за изчисления, а е добър за работа със символи?
Отговора е, че Lisp има изключително прост синтаксис и е много лесно да му се направи интерпретатор. Виждал съм написан на C интерпретатор за Lisp който се хваща на 5-6 екрана. Поради това Lisp е много удобен когато някой иска да добави към програмата си нещо за писане на макроси (или скриптове).
AutoDesk са избрали Lisp, докато Microsoft използват за целта VBA. Аз щях повече да се кефя ако в Word, Exel и Access разполагах с Lisp, понеже мразя BASIC. Но Microsoft си го обичат, ... какво да се прави :)
Но в AutoCAD си имаме работа със задачи от аналитична геометрия, линейна алгебра и т.н.т.
Защо са използвали Lisp, който се знае, че не е ефиктивен за изчисления, а е добър за работа със символи?
Отговора е, че Lisp има изключително прост синтаксис и е много лесно да му се направи интерпретатор. Виждал съм написан на C интерпретатор за Lisp който се хваща на 5-6 екрана. Поради това Lisp е много удобен когато някой иска да добави към програмата си нещо за писане на макроси (или скриптове).
AutoDesk са избрали Lisp, докато Microsoft използват за целта VBA. Аз щях повече да се кефя ако в Word, Exel и Access разполагах с Lisp, понеже мразя BASIC. Но Microsoft си го обичат, ... какво да се прави :)
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
da de, v AUTOCAD se pisese na AutoLisp
ama kaot izleze ADS ot acas12 natataka vsicki pisat na C !!!!
az v MEI-to ucih edin semestar PROLOG (amakr ce ne mi e toav specialnostta)
tam docentya razpraviuase ce v gimnaziata ne trebvalo d aucat BASIC a PROLOG stoto inace svikvali s procedurnoto mislene i mnogo trudno se vazpriemalo predikatnoto!
ami taka e az ne go i vazprieh ! :-)
ama kaot izleze ADS ot acas12 natataka vsicki pisat na C !!!!
az v MEI-to ucih edin semestar PROLOG (amakr ce ne mi e toav specialnostta)
tam docentya razpraviuase ce v gimnaziata ne trebvalo d aucat BASIC a PROLOG stoto inace svikvali s procedurnoto mislene i mnogo trudno se vazpriemalo predikatnoto!
ami taka e az ne go i vazprieh ! :-)
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
и не само ти
а моят по ЛИСП само ни натякваше че не сме се научили на функционално програмиране и за нищо не сме ставали начи :)))
Аз съм най-добрата!
а моят по ЛИСП само ни натякваше че не сме се научили на функционално програмиране и за нищо не сме ставали начи :)))
Аз съм най-добрата!
Re: ПРОЛОГ, ЛИСП и ДР.( тъпни )
Айде сега, всички пишат на езици като C или Pascal. Поне професионалистите. Ако Prolog и Lisp бяха по-добри щяха тях да използват - така, че практиката винаги си казва думата и нейната истина е безпорна.
Я, всеки да пище на каквото си иска!
Ако продължаваме да се агитираме кое е добро кое - лошо, доникъде няма да я докараме.
Ми, на мен пък ми харесва Lisp-a. Свикнал съм му още от първите версии.
Нямаше да се меся в този клуб, ако не ме беше нервирал "темаджията." ЛамиЛамев. Думата "тъпни" хич не подхожда за такъв клуб.
Ми, на мен пък ми харесва Lisp-a. Свикнал съм му още от първите версии.
Нямаше да се меся в този клуб, ако не ме беше нервирал "темаджията." ЛамиЛамев. Думата "тъпни" хич не подхожда за такъв клуб.
Re: Я, всеки да пище на каквото си иска!
Ami i az taka kazvam - vseki da si pishe na kavato iska, pyko shte po-dobre e da pochuchva pari za tova che pishe na kavoto iska.
E, ako se nameri niakoj fen da plashta za Lisp - az lichno bih se vkliuchil. Inache shte si pisha na C ... i bez tova po-gotino nqma (za neshta koito mi harasva da pravia)
E, ako se nameri niakoj fen da plashta za Lisp - az lichno bih se vkliuchil. Inache shte si pisha na C ... i bez tova po-gotino nqma (za neshta koito mi harasva da pravia)
Re: Я, всеки да пище на каквото си иска!
saglasen sam razbirase!
estestvenno ce ima razni ezici za razni celi!
ce za obsta upotreba C i Pascal ili sti ne fortran ili basic nai stavat!
v drugi slkucei trebav assembler a nekoga prolog ili lisp
na men licno mi e interesno da kajes (ASSASSlN) kakvo pises na lisp????
estestvenno ce ima razni ezici za razni celi!
ce za obsta upotreba C i Pascal ili sti ne fortran ili basic nai stavat!
v drugi slkucei trebav assembler a nekoga prolog ili lisp
na men licno mi e interesno da kajes (ASSASSlN) kakvo pises na lisp????