Добро Пожаловать на сайт Clana C.S.R.IP Role Play: 46.174.52.17:27248 [ УЮТНЫЙ ПОДВАЛЬЧИК 03:45 АМ ] classic

Главная Файлы Форум Чат Новости Регистрация Вход

Меню











CSR-CS.CLAN.SU | CSR-TEAM
Меню Клана




CSR-CS.CLAN.SU | CSR-TEAM
Посетители
Онлайн:

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Зарег. на сайте:
Всего: 130
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них:
Администраторов: 1
Модераторов: 1
Проверенных: 49
Обычных: 79
Из них:
Парней: 118
Девушек: 11
Счетчик материалов:
Форум: 140/161
Файлов: 141
Новостей: 301
Cтатей: 182
Cайтов: 4
Серверов[css v34]: 27
Картинок: 4
Онлайн фильмов: 9104
Счетчики:
Сегодня нас посетили:

Главная » Статьи » Статьи для Программирования » Smalltalk

Язык программирования Smalltalk Смаллтолк

Язык программирования Smalltalk Смаллтолк

Smalltalk это динамически типизированный объектно-ориентированный язык программирования, разработанный в Xerox PARC, в разработке принимали участие: Алан Кэй , Дэн Инголс, Тед Kaehler Адель Голдберг , и другие в 1970-х годах. Язык был выпущен как Smalltalk-80 и широко использовался начиная с этого времени. . 
Несмотря на свою 20-летнюю историю, широко распространено мнение, что опыт программирования и производительности языка программирования Smalltalk по-прежнему является непревзойденным другими средами разработки и языками.Программирование для чайников Smalltalk

 до сих пор продолжает активное развитие, и собрал вокруг себя лояльное сообщество пользователей. 
Язык программирования Smalltalk оказал большое влияние на развитие многих других языков программирования, в том числе: Objective-C , Actor, Java и Ruby . Многие разработки и идеи 1990-х годов пришли из Смаллтолк сообщества, таких как шаблоны проектирования (применительно к ПО), экстремальное программирование и рефакторинг кода. Программирование для начинающих. Среди последователей языка программирования Смаллтолк можно выделить самого знаменитого - Ward Cunningham , изобретателя ВикиВики концепции (основы Википедии). 

Для основ программирования вот самые грандиозные идеи, пришедшие из языка программирования Смаллтолк:

  • "Все это объект ". Строки, целые числа, логические значения, определения классов, блоки кода, кадры стека, памяти все это представлено в виде объектов.
  • Все доступно для модификации. Если вы хотите изменить IDE, вы можете сделать это - в работающей системе, без остановки перекомпилировать и перезапустить. Если вы хотите построить новый элемент управления в языке, вы можете добавить его. В некоторых реализациях, вы можете изменить даже синтаксис языка, или способ очистки мусора.
  • Типы являются динамическими - это означает, что вы не должны определять типы данных в коде, что делает язык гораздо более кратким. Очистка мусора является встроенной и невидима для разработчика.
  • Smalltalk программы, как правило, переводятся в байт-код, которым управляет виртуальная машина. Динамическая трансляция: современные коммерческие виртуальные машины перекомпилируют байт-код в машинный код для быстрого выполнения, а ведь эта методика впервые была применена на Smalltalk-80 с использованием ParcPlace системы в середине 1980-х годов. Эта идея была взята на вооружение Java десять лет спустя и названа "Компиляция на лету" (Just-in-time compilation), или JIT.

В следующем примере кода для нахождения гласных в строке демонстрируется стиль Smalltalk's. ( «|» символ объявляет переменные, «:» объявляет параметры, а «[ ]» и «{}» являются скобками на данный момент):

| aString vowels |
aString := 'This is a string'.
vowels := aString select: [:aCharacter | aCharacter isVowel].

В последней строке кода, переменная типа строка отправляется на блок выбора: где в качестве аргумента выступает блок кода. Вот код суперкласса Collection, который производит обработку этих данных делает:

| newCollection |
newCollection := self species new.
self do: [:each | 
 (aBlock value: each) 
 ifTrue: [newCollection add: each]].
^newCollection

Этот суперкласс реагирует на сообщение, перебирая каждый член (что определяется в строке do: method) и оценивая каждый раз кусок кода aBlock, который передан в качестве параметра в переменную aBlock в виде (aCharacter isVowel), при оценке создает булевскую (Boolean) переменную, которая затемпередается в блок обработки ifTrue: . Если булево значение «правда», символ добавляется в строку, которая должна быть возвращена. Так как блок выбора определен в классе абстрактных коллекций, мы можем также использовать с помощью другого кода:

| rectangles aPoint|
rectangles := OrderedCollection 
 with: (Rectangle left: 0 right: 10 top: 100 bottom: 200)
 with: (Rectangle left: 10 right: 10 top: 110 bottom: 210).
aPoint := Point x: 20 y: 20.
collisions := rectangles select: [:aRect | aRect containsPoint: aPoint].

Категория: Smalltalk | Добавил: Priboy (28.09.2012)
Просмотров: 974 | Теги: Язык программирования Smalltalk Сма | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
HTML [20]
CSS [15]
SCIRRA CONSTRUCT [1]
Pascal [1]
Pascal и Delphi [1]
Алгоритмы,Блок Схемы [1]
Microsoft Small Basic [1]
Разное [4]
Ada [1]
ALGOL [1]
Assembler [1]
Basic [1]
Brainfuck [1]
C [1]
C++ [1]
COBOL [1]
Delphi [1]
Modula [1]
FORTRAN [1]
Lisp [1]
JavaScript [1]
Java [1]
SQL [1]
Smalltalk [1]
Simula [1]
Ruby [1]
Python [1]
Prolog [1]
PHP [1]
Perl [1]
Pascal [1]
Баннеробмен





Друзья сайта:

Разное
Топ Файловиков ↑↓
Новое на форуме ↑↓
ТиЦ ↑↓
Новые файлы

Ники в CS
Скачиваний: 0
Добавил: Priboy
Добавлено: 22.10.2012

UCP 7.7
Скачиваний: 0
Добавил: Priboy
Добавлено: 20.10.2012
Случайные Файлы
UCP 7.7


Подробнее о файле:
UCP 7.7
Анти Читы для Серверов CS:S
Просмотров: 965
Добавил: Priboy
Дата: 20.10.2012
Перейти

GAME BOOSTER


Подробнее о файле:
GAME BOOSTER
Программы
Просмотров: 435
Добавил: Priboy
Дата: 15.10.2012
Перейти

Наш Сервер

Clan.::[C.[S].R.]::. © 2020

CSR-TEAM