Обновить
15
10.8
Дмитрий Потемкин@dm_ptmkn

Java-разработчик, переводчик

Отправить сообщение

Алан Кей об отправке сообщений

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.4K

В октябре 1998 года, разочарованный упрощенным пониманием ООП, Алан Кей написал сообществу Squeak знаковое письмо. В нем он напомнил, что главная идея Smalltalk, о которой все забыли, — это не классы, а отправка сообщений. Это письмо стало манифестом, отделяющим оригинальную философию объектов от ее популярной интерпретации. Публикуем перевод этого короткого, но исторически важного документа.

Читать далее

Эдсгер Дейкстра «О вреде оператора go to»

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.9K

Публикуем новый полный перевод хрестоматийной статьи Эдсгера Дейкстры. Этот текст, опубликованный в 1968 году в журнале Communications of the ACM в формате письма в редакцию, заложил основы структурного программирования, впервые строго аргументировав отказ от оператора go to в пользу использования циклов и условных конструкций.

Читать далее

Карл Либерхер, Иэн Холланд «Обеспечение хорошего стиля объектно-ориентированных программ»

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели5.2K

Наверное, каждый программист, работавший с объектно-ориентированными языками, хотя бы раз слышал о законе Деметры. Многие знают его смысл, но мало кто читал оригинальный текст 1989 года, где закон был не только сформулирован, но и подробно обоснован. В этой статье авторы, Карл Либерхер и Иэн Холланд, рассказывают о проекте «Деметра», дают строгие формулировки для разных языков и обсуждают, когда законом можно пренебречь.

Читать далее

Дэвид Л. Парнас «О критериях для разбиения систем на модули»

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели9.7K

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

Читать далее

Тим Маккиннон, Стив Фриман, Филип Крейг «Эндотестирование: юнит-тестирование с мок-объектами»

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели5.6K

Именно с публикации этой статьи в 2000 году берет свое начало формирование лондонской школы тестирования, также известной как «мокистская» школа. В ней авторы не только вводят ключевые концепции мок-объектов и эндотестирования, но и закладывают методологический фундамент подхода, принципиально изменившего практику юнит-тестирования — подхода, основанного на явном определении взаимодействий между объектами, замене зависимостей и тестировании поведения системы изнутри.

Читать далее

Бенджамин Вуттон «Микросервисы — не бесплатный сыр!»

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.9K

Этот текст 2014 года стал одним из первых образцов содержательной критики микросервисной архитектуры. Хотя с тех пор отрасль нашла решения для многих технических проблем, поднятых автором, его основные предостережения не утратили актуальности и по-прежнему заслуживают серьезного внимания.

Читать далее

Доктор Алан Кей о смысле «объектно-ориентированного программирования»

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

Оригинал

В 2003 году Алан Кей, признанный автор термина «объектно-ориентированное программирование», ответил на вопросы исследователя Штефана Рама. В этом письме он раскрывает первоначальный замысел ООП, который значительно отличается от того, чему большинство из нас учат сегодня. Публикуем перевод этого исторического документа.

Читать далее

Алистер Коберн «Гексагональная (порты и адаптеры) архитектура»

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели6.2K

Именно в этой статье 2005 года был впервые представлен и описан паттерн гексагональной архитектуры (также известной как «порты и адаптеры»). Его цель — строго изолировать ядро приложения, обеспечив его независимость от пользовательского интерфейса, баз данных или сторонних сервисов. Такой подход не только гарантирует тестируемость и гибкость системы, но и делает ее устойчивой к изменениям во внешнем окружении.

Читать далее

Информация

В рейтинге
561-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
ООП
Java
Java Spring Framework
Spring Boot
Hibernate
PostgreSQL
Apache Kafka
Junit
Gradle