Как стать автором
Обновить
1.3

Smalltalk *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

10 миллиардов целых чисел входят в массив

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров5.7K

Неожиданные результаты эксперимента с хранением большого количества числе в массиве в 64-битным Pharo Smalltalk, которые меня удивили.

Читать далее
Всего голосов 11: ↑10 и ↓1+15
Комментарии7

Новости

Особенности менеджмента информационной безопасности в международных компаниях, или как ИБэшнику выжить в 2022-м году

Время на прочтение5 мин
Количество просмотров4.3K

Самым сложным в этой статье было выбрать понятное и не душное название. С этим я не справился.

Тем не менее, приглашаю коллег рассмотреть отличия типового «менеджера ИБ» в международной компании от российских каноничных безопасников.

Суровый 2022ой неслабо перетряхнул бизнес в России, и ощутимо расшевелил всю сферу IT и ИБ. В то время, как исконно российские безопасники штудируют новую доктрину ИБ, переводят новые законы с бюрократического на общечеловеческий язык и метят в ТОП менеджмент, менеджеры ИБ международных компаний открыли для себя множество иных вопросов, единого ответа на которые пока что нет.

Спойлер: все описанное ниже является моим субъективным мнением, при описании которого я опирался на свой скромный опыт, и опыт 2-3 моих знакомых. Текст не претендует на объективное описание сферы ИБ, посему рекомендую воспринимать текст с иронией.

Личное наблюдение: в Российских компаниях чаще звучит термин «защита информации» - как бесконечный процесс, а сами безопасники являются Администраторами безопасности, в то время как в международных как правило формулируют «безопасность информации» как недостижимый результат, а специалистов гордо именуют Менеджерами ИБ.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии13

Best practice по общению с зарубежными партнерами в новогодние каникулы и после

Время на прочтение3 мин
Количество просмотров5K

Наступают длинные зимние каникулы. Во многих IT-компаниях уже объявлен режим freeze - заморозка новых активностей до конца праздников. Особенно длительной будет пауза у тех, кто сотрудничает с европейскими партнерами - они уходят на каникулы уже в 20х числах декабря, а российские офисы откроются после праздников лишь 3 недели спустя.

В этой статье я расскажу, как сделать так, чтоб партнеры не потеряли вас за это время, но при этом и не дергали по пустякам. А также поделюсь конкретными речевыми оборотами, которые понадобятся, когда выйдете в офис и начнете разгребать дела.

Читать далее
Всего голосов 8: ↑7 и ↓1+10
Комментарии8

Алан Кей: История SmallTalk (1960-1969)

Время на прочтение13 мин
Количество просмотров7K
У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять будущее. Почему этого не происходит сейчас? (а если происходит, то где?). Как собрать подобный коллектив? Где же мы повернули не туда? Какие идеи мы пропустили, а стоило бы к ним повнимательнее присмотреться?

Предлагаю вашему вниманию перевод начала большого текста Алана Кея (150 000 знаков), на который он неоднократно ссылается во всех своих выступлениях и ответах на Quora и HackerNews.

Кто готов помогать с переводом — пишите в личку.



I. 1960–66 — Становление ООП и другие новые идеи 60-х


Стимулов к появлению ООП было много, но два из них были особенно важны. Один крупномасштабный: придумать для сложных систем хороший подход, позволяющий скрывать их устройство. Другой поменьше: найти более удобный способ распределять вычислительные мощности, а то и вовсе избавиться от этой задачи. Как обычно бывает с новыми идеями, аспекты ООП формировались независимо друг от друга.

Любая новинка проходит несколько стадий принятия — как своими создателями, так и всеми остальными. Вот как это происходит у создателей. Сначала они замечают, что в разных проектах используется будто бы тот же подход. Позднее их предположения подтверждаются, но пока никто не осознает грандиозного значения новой модели. Затем происходит великий сдвиг парадигмы и модель становится новым способом мышления. И наконец она превращается в закостенелую религию, от которой сама и произошла. Все остальные принимают новинку по Шопенгауэру: сперва ее осуждают, называя безумной; через пару лет ее уже считают очевидной обыденностью; в конце концов те, кто ее отвергал, объявляют себя ее создателями.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии2

Истории

Алан Кей: История SmallTalk (Аннотация и Введение)

Время на прочтение9 мин
Количество просмотров3.9K
У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять будущее. Почему этого не происходит сейчас? (а если происходит, то где?). Как собрать подобный коллектив? Где же мы повернули не туда? Какие идеи мы пропустили, а стои ло бы к ним повнимательнее присмотреться?

Предлагаю вашему вниманию перевод начала большого текста Алана Кея (150 000 знаков), на который он неоднократно ссылается во всех своих выступлениях и ответах на Quora и HackerNews.

Кто готов помогать с переводом — пишите в личку.

The Early History Of Smalltalk


image

Аннотация


Большинство идей основываются на предыдущих идеях. В шестидесятые, особенно в ARPA-сообществе (Advanced Research Projects Agency – агенство перспективных исследований), появилась множество понятий касательно «симбиоза человек-компьютер» на основе интерактивных систем разделения времени, графических дисплеев и указывающих устройств. Были изобретены продвинутые языки программирования для симуляции сложных систем, таких как нефтеперерабатывающие заводы и полу разумное поведение. Готовящаяся смена парадигмы в области современных персональных компьютеров, перекрывающихся оконных интерфейсов и объектно-ориентированного проектирования возникла благодаря трудам из 60-х, которые представляли собой нечто большее, чем «улучшенное старое».
Читать дальше →
Всего голосов 5: ↑4 и ↓1+6
Комментарии14

Язык программирования, помещающийся на почтовой открытке

Время на прочтение4 мин
Количество просмотров52K

image
Источник


Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтовой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является Pharo, почтовую открытку которого далее и разберём.

Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии19

Tableau от чайника или визуализация анализа ПАММ счетов

Время на прочтение6 мин
Количество просмотров39K

image


Друзья, добрый день.


Давно не писал, и тут подписался на рассылку компании Абвгд. Красивые письма пишут мОлодцы :) Уговаривают вложиться в ПАММ счета. Что это такое не знаю. Зато понятно, как эти данные анализировать.


Терминология – есть ПАММ-счет и у него есть управляющий. Буду использовать термин «ПАММ-счет» и «управляющий» — здесь это синонимы.


По теме хотелось сделать визуализацию в инструменте Tableau Public. Статьи об этом «в доступной для меня форме» не нашел. Она ниже.


План атаки:


  1. Формулируем задачу,
  2. Собираем данные,
  3. Причёсываем,
  4. Делаем несколько графиков,
  5. Сводим на один дашборд,
  6. Выкладываем на https://public.tableau.com
  7. Формулируем резюме. Профит.

Задача


Работаю на работе работу. Получаю зарплату, аванс там или ещё что-то. Пусть деньги приходят еженедельно в ночь с воскресенья на понедельник. Хочу вложиться в высокодоходные активы, например в ПАММ счет. И вкладываться еженедельно понемногу.


Надо понимать, когда и куда вкладываться. Доходность нужна высокая, просадки должны быть минимальными.

Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии2

Почему наследование всегда было бессмысленным

Время на прочтение4 мин
Количество просмотров31K
Есть три типа наследования.

  1. Онтологическое наследование указывает на специализацию: вот эта штука — специфическая разновидность той штуки (футбольный мяч — это сфера и у неё такой-то радиус).
  2. Наследование абстрактного типа данных указывает на замещение: у этой штуки такие же свойства, как у той штуки, и такое-то поведение (это принцип подстановки Барбары Лисков).
  3. Наследование реализации связано с совместным использованием кода: эта штука принимает некоторые свойства той штуки и переопределяет или дополняет их таким-то образом. Наследование в моей статье «О наследовании» именно такого и только такого типа.

Это три разных и часто противоречивых отношения. Требовать любого или даже всех не представляет никаких сложностей. Но требование поддержки одним механизмом двух или более из них — значит нарываться на проблемы.

Часто для наследования в ООП приводят контрпример отношений между квадратом и прямоугольником. Геометрически квадрат — это специализация прямоугольника: все квадраты — прямоугольники, но не все прямоугольники — квадраты. Все s в классе «Квадрат» являются прямоугольниками s, у которых длина равна ширине. Но в иерархии типов это отношение обратное: вы можете использовать прямоугольник везде, где используется квадрат (указав прямоугольник с одинаковой шириной и высотой), но нельзя использовать квадрат везде, где используется прямоугольник (например, вы не можете изменить длину и ширину).
Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии65

Simula — 50 лет ООП

Время на прочтение6 мин
Количество просмотров23K
Статья представляет собой очень краткое введение в Simula.

Simula ((SIMIUlation LAnguage) ), первый язык программирования с классами и объектами, незаслуженно почти забытый, но из которого выросло современное ООП в том виде, в котором оно присутствует в нашем коде. Это язык для имитационного моделирования реальности. Разработчики новых языков программирования «оглядывались» на Simula при добавлении механизмов объектно-ориентированного программирования в свой язык. Однако Simula упоминается настолько редко, что в русской википедии на момент публикации был только хеллоуворд, а в сети куча устаревших ссылок.



Бьерн Страуструп, говоря о причинах создания C++, сказал так: «Этот язык возник потому, что автору потребовалось написать программы моделирования, управляемые прерываниями. Язык SIMULA-67 идеально подходит для этого, если не учитывать эффективность.»
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии6

Как изучение Smalltalk может улучшить ваши навыки программиста

Время на прочтение8 мин
Количество просмотров40K


Smalltalk обычно воспринимается как старый, умирающий язык – антиквариат из ушедшей эпохи. Нет ничего более далёкого от истины.

Smalltalk по-прежнему очень актуален. Это отличный язык для обучения программированию людей, не имеющих технического образования. Это превосходный язык прототипирования для стартапов. Это мощный промышленный язык, используемый как крупными, так и малыми компаниями по всему миру. Есть веские причины рассмотреть использование современного Smalltalk сегодня, поскольку многое было сделано за последнее время, чтобы улучшить его возможности.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии113

С днём рождения, Алан Кейǃ (или как получить +80 к IQ)

Время на прочтение8 мин
Количество просмотров21K
«Я никогда не был сильным программистом, и это стимулировало меня к созданию новых мощных языков. Сегодня я работаю по двум направлениям: метапрограммирование и программирование „по-детски“, для детей в возрасте 9-14 лет.»
— Алан Кертис Кей.

image

Похоже, что этот мужик участвовал во всех институтах передовых разработок, связанных с ИТ.

— Работал в легендарном Xerox PARC, Atari, Apple, Disney, HP.
— Предложил концепцию Dynabook (в 1968 году), которая определила концептуальную базу для ноутбука, планшетного компьютера и электронной книги.
— Один из «отцов-основателей» объектно-ориентированного программирования (SmallTalk, 1969).
— Участвовал в создании первого персонального компьютера Xerox Alto (1973).
— Инициатор полезной движухи «Каждому ребенку по ноутбуку».
— в 2001 году, он основал исследовательский Институт Viewpoints, некоммерческую организацию посвящённую детям, обучению и передовым разработкам программного обеспечения.
— В 2006 бросил дерзкий вызов индустрии — заявил о возможности создания операционной системы с графическим интерфейсом из 20.000 строчек кода.

«Смена точки зрения дает +80 к IQ»
(A change in perspective is worth 80 IQ points)

И опять же, Алан Кей — ключевая фигура в ИТ, и при этом всего полторы переведенных статьи в Интернете. И знают про него, скорее всего, по его цитатам. Под катом — цитаты и немного выжимок из статей Кея. Ну, и великолепное выступление на TED.

Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии9

Выходу Dolphin Smalltalk 7 под Open Sourсe посвящается

Время на прочтение7 мин
Количество просмотров5.4K
На днях компания ObjectArts полностью открыла исходники и выпустила язык, и среду разработки Dolphin Smalltalk под открытой лицензией MIT! Я не смог пройти мимо, не попробовав проверить этот проект с помощью анализатора кода PVS-Studio. Могу поздравить разработчиков с тем, что у них получилось создать код высокого качества. Мне не удалось найти значимых ошибок. Однако как всегда есть некоторое количество багов и пахнущего кода. Надеюсь благодаря этой статье код станет чуть лучше.

О проекте


Dolphin Smalltalk — это среда разработки на собственном диалекте Smalltalk для Windows. Ключевыми особенностями является тесная интеграция с нативными виджетами и подсистемами операционной системы, включая COM и ActiveX, и приятный глазу графический дизайн.

Долгое время Dolphin Smalltalk был доступен в двух вариантах: условно-бесплатная ограниченная версия (community edition) и платный пакет для профессиональной разработки. Последний давал доступ ко всем функциям, включая продвинутые редакторы и публикацию приложений в standalone режиме, однако стоил около четырехсот долларов.

С помощью PVS-Studio 6.00 были проверены открытые исходники Dolphin Smalltalk Virtual Machine. Далее представлены результаты проверки статическим анализатором. Несмотря на то, что проект DolphinVM очень маленький, в его коде всё равно встречаются подозрительные места.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии4

Dolphin Smalltalk 7 выходит под open source лицензией MIT

Время на прочтение3 мин
Количество просмотров12K
Cчетчик со страницы Getting Started на момент публикации статьи
Cчетчик со страницы Getting Started на момент публикации статьи

С минуты на минуту случится то, чего ждали очень многие, и я в том числе. А именно: компания ObjectArts полностью открывает исходники и выпускает язык и среду разработки Dolphin Smalltalk под открытой лицензией MIT!

О проекте


DolphinSmalltalk — это среда разработки на собственном диалекте Smalltalk для Windows. Ключевыми особенностями является тесная интеграция с нативными виджетами и подсистемами операционной системы, включая COM и ActiveX, и приятный глазу дизайн.

Долгое время Dolphin Smalltalk был доступен в двух вариантах: условно-бесплатная ограниченная версия (community edition) и платный пакет для профессиональной разработки. Последний давал доступ ко всем функциям, включая продвинутые редакторы и публикацию приложений в standalone режиме, однако стоил около четырехсот долларов, что, по понятной причине, устраивало далеко не всех.

Похоже, что компания таки одумалась (или терять стало нечего) и решила выпустить ПО на волю. Под катом краткое описание среды разработки и размышления на тему open source будущего Dolphin Smalltalk.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии16

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Неизвестный Smalltalk

Время на прочтение10 мин
Количество просмотров32K


Уважаемые читатели хабра. Прежде всего я хочу объяснить, что обзор языка Smalltalk делает в корпоративном блоге FLProg. Дело в том, что и сама программа FLProg и сайт программы написаны на этом замечательном языке. Его возможности и огромная скорость разработки на нём позволяют мне одному поддерживать и постоянно увеличивать функциональность как сайта, так и программы. Если интересно, как мне это удается – прошу под кат.
Подробности
Всего голосов 58: ↑50 и ↓8+42
Комментарии190

Метаклассы в Smalltalk

Время на прочтение4 мин
Количество просмотров7.9K
Эта статья, надеюсь, будет полезна не только тем, кто хочет освоить Smalltalk, но и тем, кто желает получше разобраться в проблемах построения объектных систем. В Smalltalk-е классы являются полноценными объектами, и то, как это реализовано, является отличным примером построения развитой системы на основе нескольких простых принципов без излишнего усложнения.

(Впрочем, и связь с недавно вышедшей статьей Метаклассы в Objective-C отрицать не буду.)
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии16

Внутреннее устройство llst, часть 3. Магия JIT, или как ускорить виртуальную машину в 50 раз

Время на прочтение15 мин
Количество просмотров15K
XKCD 303
В прошлой статье мы с humbug показали, как может меняться скорость вычислений в зависимости от способа выполнения метода и его содержимого. Теперь мы сможем заглянуть под капот виртуальной машины и понять, как и почему это происходит.

Ранее мы познакомились с языком Smalltalk, а точнее с его микро реализацией Little Smalltalk. Разобрались с синтаксисом языка, форматом представления объектов в памяти и набором основных инструкций. Теперь мы вплотную подошли к вопросам взаимодействия Smalltalk и LLVM (ради этого и затевалась вся серия статей).

Сейчас у нас есть вся необходимая база знаний для того чтобы понять, что именно делается в нашем JIT компиляторе. В этой статье мы узнаем, как байт-коды Smalltalk преобразуются в IR код LLVM, как происходит компиляция и выполнение кода, и почему это работает быстрее, чем программная интерпретация. Самые нетерпеливые могут посмотреть шеллкасты (раз и два) с циферками и бегущими строчками (не забывайте про возможность скроллинга).
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии9

Внутреннее устройство llst, часть 2 или Little Smalltalk + LLVM = ♥

Время на прочтение29 мин
Количество просмотров9.6K
Всем привет! Совместно с humbug, мы предлагаем вашему вниманию третью статью из цикла о Low Level Smalltalk (LLST). Надемся, что статья будет интересна не только любителям велосипедов необычных языков программирования, но и тем, кто интересуется такой замечательной вещью, как LLVM.

Напомню, что целью нашего проекта является создание собственной виртуальной машины, совместимой с Little Smalltalk на уровне байт-кодов. Ключевым отличием является гетерогенная архитектура, которая позволяет исполнять байт-коды как программно, так и компилировать их в низкоуровневые инструкции процессора посредством трансляции в IR код LLVM. Разумеется, второй способ позволяет достичь более высокой производительности и задействовать имеющиеся в нашем распоряжении вычислительные ресурсы оптимальным образом.

Однако, обо всем по порядку…
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии12

Откуда есть пошел xUnit

Время на прочтение6 мин
Количество просмотров12K
Идея данной заметки — как гипотезы — появилась уже довольно давно, и все как-то не получалось… Но вот «на днях» (к моменту публикации — уже неделях) увидел подтверждение своего предположения что называется «из первых рук» (см. Kent Beck's answer to Unit Testing: Did the notion of using setup() and teardown() methods in test fixtures originate from JUnit?) и решил-таки воплотить эту задумку.

Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии7

Разработчик Smalltalk для JVM собирает средства для завершения разработки версии 1.0

Время на прочтение1 мин
Количество просмотров4.6K
Страница проекта на Indiegogo: Redline Smalltalk V1.0

Под Java Virtual Machine уже разработано и портировано большое количество языков программирования — Scala, Clojure, Groovy, JRuby, Jython, Fantom, Kotlin и т.д… Выбор средств у разработчиков в мире Java просто огромен. Но есть еще один язык, который наверное многие бы хотели видеть на JVM со стабильной реализацией — Smalltalk!

Разработчик James Ladd собирает средства ($20 000), чтобы уйти на полный рабочий день для доведения Redline Smalltalk до версии 1.0. Осталось собрать чуть меньше половины суммы.

Если ты не можешь больше мириться с отсутсвием Smalltalk на JVM, если ты всегда хотел попробовать Smalltalk, но не мог вникнуть в совершенно другой мир и подход к разработке, если ты просто хочешь сделать мир еще лучше, настало твое время! Помоги Джеймсу довести проект до production-grade состояния!
Всего голосов 14: ↑12 и ↓2+10
Комментарии13

Светский разговор об управляемой тестами выпечке

Время на прочтение8 мин
Количество просмотров9.4K

Что-то вроде предисловия


Статья «Как два программиста хлеб пекли» сначала мне показалась просто шуткой — настолько абсурдно выглядят попытки выстроить какой-то «дизайн», основываясь на тех «требованиях», которые выдвигает «менеджер». Но в каждой шутке есть доля правды… В общем, возник вопрос к самому себе: а как в данной ситуации сработает тот подход, которого я стараюсь придерживаться в своей практике? То, что выросло при попытке дать ответ, собственно, и представлено далее.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии18
1

Вклад авторов