Úvodní stránka | Tato stránka v originále

Smalltalk programovací jazyk

Smalltalk je dynamicky napsaný namítat orientovaný programovací jazyk navržený u Oxeroxovat PARC Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldbergová, a jiní během sedmdesátých lét. Jazyk byl obecně uvolněn jako Smalltalk-80 a byl široce použitý protože.

V zášti jeho 20-historie roku, to je široce věřil tomu celkový programovací zážitek a výkonnost Smalltalk je ještě nepřekonaná jinými vývojovými prostředími. Smalltalk je v pokračujícím aktivním vývoji, a sbíral loajální společenství uživatelů kolem toho.

Smalltalk byl měl velký vliv na vývoj mnoha jiných programovacích jazyků, včetně: Cíl-C, herec, Java a Rubínový. Mnoho softwarových rozvojových myšlenek na devadesátá léta přišlo z Smalltalk komunity, takový jako Vzory designu (jak platil o softwaru), Extrémní programování a Refactoring. Mezi Smalltalkers je Ward Cunningham, vynálezce WikiWiki pojetí.

Smalltalk velké myšlenky obsahují:

Příklad dodržování kodexu pro nález samohlásky v řetězci objasní Smalltalk styl. ( | charaktery deklarují proměnné, : deklaruje parametry, a myslet na [ a ] jak { a } složené závorky pro moment):
| aString samohlásky | aString: = ' toto je řetězec '. samohlásky: = aString výběrový: [: aCharacter | aCharacter isVowel].
V poslední řadě, řetězec je poslán výběrový: zpráva s kódovým blokovým pokračováním jako argument. Here's kód ve sbírce superclass, která vyrábí zboží:
| newCollection | newCollection: = self druh nový. self dělat: [: každý | 
   (aBlock hodnota: každý) ifTrue: [newCollection dodají: každý ]].
^ newCollection To reaguje na zprávu tím, že opakuje přes jeho členy (toto je dělat: metoda) hodnotit aBlock kód jakmile pro každou postavu; aBlock (aCharacter isVowel) když ocenil vytvoří booleovský, který je pak poslán ifTrue:. Jestliže booleovský je pravdivý, charakter je přidán k řetězci být vrácen. Protože výběrový je definován ve sbírce abstraktní třídy, my můžeme také používat to jako toto:
| aPoint obdélníků | obdélníky: = OrderedCollection 
 s: (obdélník odešel: 0 pravý: 10 vrcholu: 100 dolní části: 200) s: (obdélník odešel: 10 pravý: 10 vrcholu: 110 dolní části: 210).
aPoint: = bod x: 20 y: 20. kolize: = obdélníky vyberou: [: aRect | aRect containsPoint: aPoint].

Tabulka s obsahem
1 vnější spojení

Externí odkazy

Implementace

Konzultace