Smalltalk
- Дата создания:
- 1970-е годы
- Создан под влиянием:
- Повлиял на:
- Парадигма:
- Типизация:
- Диалекты:
- Реализации и версии (свернуть все | развернуть все):
Smalltalk — объектно-ориентированный язык программирования с динамической типизацией, разработанный в Xerox PARC Аланом Кэйем, Дэном Ингаллсом, Тедом Кэглером, Адель Голдберг, и другими в 1970-х годах. Язык был представлен как Smalltalk-80 и с тех пор широко используется. Smalltalk продолжает активно развиваться и собирает вокруг себя преданное сообщество пользователей.
Smalltalk оказал большое влияние на развитие многих других языков, таких как: Objective-C, Actor, Java и Ruby. Многие идеи 1980-х и 1990-х по написанию программ появились в сообществе Smalltalk. К ним можно отнести рефакторинг, шаблоны проектирования (применительно к ПО), карты Класс-Обязанности-Взаимодействие и экстремальное программирование в целом. Основатель концепции Wiki, Вард Каннингем, также входит в сообщество Smalltalk.
Элементы синтаксиса:
| Комментарии, которые могут быть вложенными | " ... " |
|---|---|
| Регистрозависимость | да |
| Регулярное выражение идентификатора переменной | [a-zA-Z][a-zA-Z0-9]* |
| Присваивание значения переменной | := |
| Объявление переменной | | variable1 variable2 ... | |
| Группировка выражений | ( ... ) |
| Блок | [ x. y. ... ] |
| Равенство | == |
| Неравенство | ~~ |
| Тождественное равенство | = |
| Тождественное неравенство | ~= |
| Сравнение | < > <= >= compare |
| Определение функции | f ... или f: p1 ... |
| Вызов функции | a f |
| Вызов функции без параметров | f value |
| Последовательность | . |
| Если - то | condition ifTrue: ... |
| Если - то - иначе | condition ifTrue: ... ifFalse: ... |
| Цикл с предусловием | condition whileTrue: ... |
| Цикл с постусловием | [ ... . condition] whileFalse |
| Цикл for - next для диапазона целых чисел с инкрементом на 1 | 1 to: 10 do: [...] или 1 to: 10 by: 1 do: [...] |
| Цикл for - next для диапазона целых чисел с декрементом на 1 | 1 to: 10 by: -1 do: [...] |
Комментарии
]]>blog comments powered by Disqus
]]>