Изучаю вот язык программирования Smalltalk. Решил сразу начать с переноса программ, которые меня когда-то просили написать. Язык, кстати, использует два основные парадигмы: объектно-ориентированный подход и сигналы. А самое главное, выглядит красиво и оригинально.
Вот пример программы, заменяющей максимальное значение в массиве на среднее арифметическое всех элементов этого массива. Реализовал в виде класса, потому что есть большой профит, хотя можно было бы сделать всё намного проще.
"Основная программа"
"Создаём объект MyArray из массива"
a := MyArray new: #(1 4 2 3).
"Заменяем максимальный элемент на среднее арифметическое
всех элементов и выводим на печать"
(a at: (a maxn) put: (a avg)) printNl.
Сам код класса можно найти по адресу
http://freeshells.ch/~bug2bug/wiki/doku.php?id=smalltalk
