Portál AbcLinuxu, 6. května 2025 22:52

Rozhovor: Alan Kay o objektovém programování

V rámci seriálu The A to Z of programming languages na Computerworld Australia vyšel zajímavý rozhovor s Alanem Kayem, kde se zamýšlí nad objektově orientovaným programováním, proč dodnes žádný skutečně kvalitní objektový systém nebyl vytvořen, proč jsme se od začátku osmdesátých let dočkali jen málo skutečných novinek, jak koresponduje iPad s jeho konceptem Dynabook atd.

20.7.2010 12:55 | Pavel Křivánek | Zajímavý článek


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

20.7.2010 17:23 pozortucnak | skóre: 21 | blog: vecny_windowsar
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Odpovědět | Sbalit | Link | Blokovat | Admin
Souhlasím s názorem na C++. :-D

Jinak myslíte si, že se C++ rozšířilo kvůli C syntax a kompatibilitě s C?

Jaký je smysl vymýšlet nové jazyky když tu už nějakou dobu existují "mocné" jazyky? Těmi "mocnými" jazyky mám namyslí například smalltalk, lisp erlang...
Jsem mimořádně obtížný případ
20.7.2010 21:32 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Jinak myslíte si, že se C++ rozšířilo kvůli C syntax a kompatibilitě s C?

Určitě to nejsou jediné důvody, protože potom by Objective-C mělo být rozšířené minimálně stejně jako C++.

Jaký je smysl vymýšlet nové jazyky když tu už nějakou dobu existují "mocné" jazyky? Těmi "mocnými" jazyky mám namyslí například smalltalk, lisp erlang...

Obecně to samozřejmě smysl má. Za povšimnutí stojí, že většina těch nejmocnějších jazyků (Lisp, Forth, Smalltalk...) jsou vlastně metajazyky, takže je určitě na místě se podívat, jestli pro řešení daného problému není lepší než se snažit vytvořit nový na zelené louce, použít některý z nich a vyždímat z něj, co se dá.

I na těch metajazycích lze lecos zlepšovat a když se vezmou v potaz Kayovy cíle, je pochopitelné, že mu žádná současná SW architektura nevyhovuje.

I'm sure it crashed in the most type-safe way possible.
21.7.2010 11:10 Lord
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Ono by bylo, jenže Apple si drží objclib pod zámkem (a tvrdí, že objective-c je standardizován a free). :-)
20.7.2010 17:59 dexík | skóre: 4 | blog: im_back
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Odpovědět | Sbalit | Link | Blokovat | Admin
díky za odkaz
Amarok avatar 21.7.2010 08:41 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Odpovědět | Sbalit | Link | Blokovat | Admin
To je ten chlapek, co vymyslel OOP a pozdeji durazne rekl "kdyz jsem vymyslel koncept OOP, zcela jiste jsem tim nemyslel C++"?

Jinak kdo neni zatvrzeny Java/C++ programator, musi uznat, ze je cele OOP hodne medializovano a nektere projekty spis komplikuje.
GNUniverse - May the source be with you...
Marek Bernát avatar 21.7.2010 09:13 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Ak OOP projekty komplikuje, tak je to nesprávnym prístupom k OOP v danom jazyku. Java a C++ sú toho dobrým príkladom :-)

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.7.2010 09:25 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
IMHO dvě nejhorší vlastnosti, které jsou snad v každém objektovém jazyce, jsou dědičnost a konstruktory. Podpora v jazyce pro delegování a dependency injection je nutnost :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Amarok avatar 21.7.2010 09:52 Amarok | skóre: 33 | blog: blogoblog
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Neni dedicnost hlavni bod OOP? Bez dedicnosti se prece neda mluvit o OOP.
GNUniverse - May the source be with you...
Marek Bernát avatar 21.7.2010 10:28 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Hlavný bod OOP spomína Kay v odkazovanom článku: posielanie správ. To plynie z toho, že v správnom OOP jazyku je objekt úplne samostatná a nezávislá entita, takže posielanie správ je jediná možnosť interakcie medzi objektami. S tým samozrejme súvisí aj to, že všetky konštrukcie v danom jazyku, by pokiaľ možno mali byť objekty (tento bod nespĺňa takmer žiadny jazyk, ktorý sa honosí titulom OOP). Veci ako dedičnosť, polymorfizmus, atď. sú len vlastnosti systému objektov. Sú pochopiteľne užitočné, ale nijak zvlášť fundamentálne. Aspoň tak to teda vidím ja :-)

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.7.2010 10:40 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Viz příspěvek níže. Dá se na to dívat tak, že zasílání zpráv je jen prostředek realizace polymorfismu ;-)
I'm sure it crashed in the most type-safe way possible.
Marek Bernát avatar 21.7.2010 10:54 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Tak ako vidím OOP ja, tak je to o samostatných entitách (rovnako ako píšete nižšie, dá sa pod tým predstaviť samostatný počítač) a o komunikácii medzi nimi. Polymorfizmus je len triviálny (aj keď veľmi užitočný) dôsledok tohoto modelu a nie je nijak zvlášť fundamentálny.

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.7.2010 12:35 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

To je jen velice jemná nuance v úhlu pohledu. Ve skutečnosti lze identitu rozlišit jen z vnějšího pohledu. Objekt v systému musí objektům zaslat zprávu, aby je mohl od sebe odlišit (a ony si mohou i vymýšlet). Fungování komunikace v objektovém systému je natolik svázáno s polymorfismem, že rozlišovat mezi tím, jestli se jedná o její příčinu nebo nutnou podmínku, v podstatě nemá smysl.

I'm sure it crashed in the most type-safe way possible.
Marek Bernát avatar 21.7.2010 13:35 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Tak jasné, že sa na to dá pozerať aj z opačného smeru. Povieme si, že chceme polymorfizmus a pozeráme sa, ktoré modely ho obsahujú. Lenže tej požiadavke môžu vyhovovať aj modely, ktoré nemajú s OOP (v tom zmysle objektov + správ) veľa spoločné. To by sme potom mohli nazvať POP (polymorfne orientované programovanie) a bolo by to nepochybne zaujímavé, ale mal som za to, že sa snažíme dobrať podstaty OOP. Je celkom možné, že polymorfizmus je pre OOP nutnou podmienkou a v tom prípade je OOP podmnožinou POP :-)

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.7.2010 10:34 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Dá, dědičnost je jen druh realizace sdíleného chování, které ale také není pro OOP nezbytné. Můžete mít objekty jako zcela samostatné entity, kde každá bude bude obsahovat i všechny své metody. Pro OOP je důležité jen zapouzdření a polymorfismus, tedy že s různými takovými objekty můžete pracovat/komunikovat stejným způsobem a nemusíte s každým jednotlivým objektem pracovat zvlášť. Také zapouzdřením se nemyslí žádné private/protected/public, ale to, že každý objekt má sám o sobě schopnosti celého výpočetního systému (místo každého objektu si můžete představit celý počítač či dokonce celou síť) a sám samostatně rozhoduje, jak bude reagovat na zprávy z okolí.

I'm sure it crashed in the most type-safe way possible.
21.7.2010 10:40 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Marek Bernát avatar 21.7.2010 10:56 Marek Bernát | skóre: 17 | blog: Arcadia
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování

Yup, presne tak OOP vidím aj ja.

physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
21.7.2010 11:12 Lord
Rozbalit Rozbalit vše Re: Rozhovor: Alan Kay o objektovém programování
Odpovědět | Sbalit | Link | Blokovat | Admin
Výborné vyjádření ohledně financování R&D:

Basically, “fund people, not projects”, “milestones, rather than deadlines”, “visions rather than goals”. The “people not projects” part meant “super top people”, and this limited the number who could be funded (and hence also kept the funding budget relatively low).

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.