Защо обектно-ориентираното програмиране е успяла 1
Решихме да се върнем към тази гореща тема и само да напомня на сегашното поколение на "здраво седнали на една прекрасна ООП" за някои от идеите, които бяха изразени в онова известно противоречие. Битката на обикновената конференция
Обектно-ориентиран харесва. развитие митология методология
Хората помнят, че всичко, което имахме силното впечатление, че Lisp'erov аргументи са по-убедителни и съгласувани от привържениците на ООП (любопитно е, че основният говорител на ООП е създателят на езика за схема - основното модерен диалект на LISP).
Pol Grem, твърди, че половината от всички концепции ООП са по-лошо, отколкото добро, във връзка с които той искрено съчувства ООП програмисти.
Докато през втората половина на останалите понятия - и не са имали никакво отношение към ООП, с които по някакъв начин винаги се асоциира
Така например, той казва:
"През осемдесетте години, методът на повторна употреба в някои неясни начин свързани с обектно-ориентираното програмиране и произволно много налични доказателства за противното, изглежда, че вече не е облекчаване на метода на тази стигма.
Въпреки че понякога обектно-ориентиран код е наистина подходящ за повторна употреба, така че не се обектно-ориентиран и програмиране в стила на "отдолу-нагоре". Вземете, например, библиотеката: те могат да качват и да използват отново толкова, колкото е необходимо, тъй като в действителност, те са отделен език. И все пак, това не е от значение дали те са написани в обектно-ориентиран стил или не. "
Програмиране класически Дейкстра, изключително чувствителен харесва не само две неща: за освобождение на Палестина и Калифорния
Друг основен критик на ООП - известен експерт по програмиране - Александър Степанов, който е работил в Bell Labs е участвал в създаването на C ++ с в Бярне Строуструп, а по-късно, по покана вече в HP Labs, пише Шаблон библиотека стандарт (STL).
Александър Александрович напълно се отказаха от обектно-ориентиран парадигма, по-специално, той пише:
"Уверен съм, че ООП е методологически погрешно. Тя започва с изграждане на класове. Това е все математици ще започват от аксиоми. Но реално, никой не започва с аксиоми, всичко започва с доказателствата. Само когато намери подходящ набор от доказателства, само аксиома се показва на тази основа. Т.е. по математика ви пълна аксиома.
Същото се отнася и с програмиране: първо трябва да започнат да изграждат алгоритми и едва в края на тази работа дойде на факта, че вие сте в състояние да формулират ясни и последователни интерфейси. Това е така, защото от тази каша в PLO толкова популярен редакции - заради парадигма малоценност вие просто обречен да пренапише програмата, вече в самия момент, когато само представя своя проект в PLO стил ".
Ричард Столман е известен с критичното си отношение към ООП, особено той обича да се шегува за митът obektnikov че ООП "ускоряване на разработването на програми":
"Веднага след като се каже думата" обект ", веднага можете да забравите за модулност"
"PLO в името на ООП отдавна се превърна в един порочен кръг. Разбира се, можем да предположим, C # в .NET 3.5 с повече от 50000 продадени класове, "короната на еволюция." Добави в следващата версия на .NET милиона повече класове - какво би могло да бъде по-подходящо и по-желан, от гледна точка на програмист на ООП на? Да речем, че е много сложността на полета? "(В този момент на интервюто, Ричард демонстративно спира и кашля от пристъп на смях).
Java / C # са нито развитие, нито "осъзнаване на грешките» C ++. Те са взели най-лошата парадигма на език и да го вграден в обхвата на тази догма. А именно - идеята за победа.
Наследяването - това е най-голямата провокация в индустрията. Във всеки симулация на наследяване не съществува (и то не съществува в реалния живот, също) - или в електронен или в счетоводство, или в политиката или някъде другаде. Има само един район, където наследството е намерена теоретично - генеалогично (хей, момчета, по-добре е да не се бърка с гинеколог). Но това няма никакво отношение към това, което се нарича наследство в програмирането. Всички те клас йерархия високи само да усложни живота на програмиста, вместо опростяване своята концепция.
Томас поток от MIT дори проведе мащабна приложни изследвания, които показаха, че не е имало значителна разлика в производителността между програмисти, работещи в ООП и в обичайния процедурно програмиране стил. "Това е просто един мит, че работи перфектно заедно с невежеството на масите - ако никога не сте виждали нищо друго, освен за освобождение на Палестина, как да се съмнявам в това."
Никлаус Вирт, езици създател Pascal и Modula, един от най-структурирани програмиране създателите, твърди, че ООП - не повече от тривиална добавка структуриран програмиране и преувеличени неговото значение, което се изразява, наред с другото, да се включат в езиците за програмиране на всички модерен нов "обект ориентирана "означава, разбира се, да навреди на качеството на разработения софтуер. Никлаус изненадан от вниманието сега се обръща на ООП.
Идеалното развитие от гледна точка на ООП.
За същата реч.
Сектантството в академичните среди
Да се поставят корените на този "култ на отделно-взето технология," Ричард Габриел неочаквано сравнява сегашната ситуация с провала на aetherodynamics PLO по физика от началото на 20 век, когато в действителност е имало "тиха революция". Младите привържениците на теорията на относителността, маса дойдоха в университетите варират, а след това постепенно взеха властта в преподаването на физиката наложи своето малко известна, но също толкова обичан от интелектуалци от онова време теорията на относителността има маси от физиците.
В действителност, докато има положителен опит и експерименти, които потвърждават съществуването на етера, както и отрицателна. Първият бяха напълно игнорирани и изключен от всички учебници по физика административни мерки
След това, етерът е несправедливо "затворен" и той бе отстранен, а това вече сегашното поколение на студентите по физика дори не знаят за изключително успешните експерименти за откриване на етера вятъра.
"Така че, къде сме сега, с този си красива теория на относителността, някой може да ми се обадите на поне някои реални и практически резултати от използването му в ежедневието си след един век от своето бране и масови насаждения?" - както винаги саркастично пита Габриел ,
Според Ричард, с абсолютно точно същото нещо се случи с ООП, която през 80-те години е обявен за "сребърен куршум" в "борбата със сложността на програмиране, че е" бил изкуствен и без алтернатива, наложена в академичния свят, и митовете, които се скитат от учебник обектно-ориентиран учебник - "често е смешно и буквално изсмуква от пръста."
Само времето ще покаже кой в крайна сметка е прав и кой е в тази гореща методическа дискусия - Искрено се обърка. Но във всеки случай, аз лично за това, че ние винаги сме били възможностите за алтернативни възгледи, дори и ако е различен от избора на по-голямата част (като забележат провокативни американци в такива случаи - "леминги не може да бъде погрешно").