КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Лекция 2. Обхват на функционални и логически езици за програмиране

Естествен въпрос, който обяснява интереса на PT и PL, прави използването им от всяко предимство, в сравнение с използването на императивни или ООП езици, какви са ползите и какъв е обхватът на ОП и ПЗ (ако има такива предимства). За да отговорим на тези въпроси трябва да се помисли за теоретичните и практическите аспекти.

От практическа гледна точка, езици данни, като например програмни езици са особено подходящи за осъществяването на обработката на типове данни, които сами рекурсивни характер са: списъци, дървета, графики, както и намаляване на него структури. Такива проблеми са типични за обработка на символичната информация, т.е., да се създаде компилатори и решаване на проблемите на изкуствения интелект: .. обработка на естествен език, преобразуване и автоматичен синтез програма, аналитична трансформация на официални текстове и т.н. В тези случаи, програмите, написани на ОП (LP). обикновено 5-10 пъти по-къси от програми, написани на императив стил. В същото време, е също толкова важно, тези програми са много по-ясни, по-лесно да се напише и отстраняване на грешки. Освен това, има специални техники, в които писането на полу-интуитивни програмите на процеса в науката (при условие, че познатите видове обработено описание на данни).

Тя твърди, че функционално и логическо програмиране води до загуба на производителност. Това твърдение е вярно само до степента, до която може да се каже, че за възможност да пиша, което трябва да плати език на високо ниво. Всъщност, чрез намаляване на времето на писане на програмата (поради значително намаляване на размера на текст) определяне на множество изчисления, които ще трябва да се опише езиците на по-ниско ниво, може да се извършва чрез използване на механизмите на поколение компилатор код. Като родово, тези механизми, генериращи програма, която евентуално може да бъде оптимизирана за всеки отделен случай ръчно чрез писане на код. В същото време, ако се напише програма внимателно да се следи ефективността на кода (например, максимално използване на AF така наречената "опашка рекурсия"), тогава такава програма след съставянето няма да признае ефективността на програми, написани на императивни езици. Освен това, в някои случаи, този процес оптимизация може да се автоматизира чрез използване на софтуер механизми трансформации. В допълнение, увеличаването на изчислителната мощност отрича потенциалната загуба на производителност като цяло. Според някои от задачите, които се изпълняват в Haskell, е имало увеличение в производителността на до 2 пъти в сравнение с езика C.



Потвърждение на възможността за използване на функционални програмни езици, за да се създаде търговски продукти могат да служат за осъществяване на известния Autocad пакета с помощта на Lisp език. Имаше и доклади за изпълнението на канадската национална система авиокомпания резервация на езика Python, който поддържа функционалната парадигма.

Много от идеите на AF са отразени в развиващите се компании Microsoft .NET технологиите. .NET Разработчици все пак са решили да добавят в C # и други .NET езици платформа проблем ориентирани разширение LINQ, който поддържа интегриран език за заявки. В LINQ, можете да използвате функции, които са представени под формата на експресивни дървета. В C #, до известна степен също подкрепи идеята за "мързелив оценка".

Наскоро интерес към езици и ОП LP се разраства значително, поради възможността от естествения паралелизъм, присъщи на тях, което ги прави много по-обещаващо от гледна точка на възникване на многоядрени компютърни системи.

Накрая, тези езици имат още един друг аспект, предмет на което ги прави задължително теоретично програмиране (информатика). Фактът, че в тези езици, поради присъщите им програми декларативни семантика са готови математически обекти, които наистина могат да бъдат изследвани и манипулирани с помощта на математически методи. Това е особено важно поради факта, че програмите, написани на императивни или обектно-ориентирани езици, са почти невъзможно да се учат такива методи. Въпреки, че тази област на научни изследвания е все още в зародиш, че е тя, който обещава пробив в бъдеще.


1. Изкуствен интелект: предмет, историята на развитие на научните изследвания.

<== Предишна лекция | На следващата лекция ==>
| Лекция 2. Обхват на функционални и логически езици за програмиране

; Дата: 05.01.2014; ; Прегледи: 168; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:



ailback.ru - Edu Doc (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 11.45.9.24
Page генерирана за: 0.047 сек.