Любой, кто писал конструктор запросов или фильтр над пользовательским вводом, знает, как это начинается. Сначала модель данных — это один простой класс, и кажется на этом всё. Через пару месяцев в нём value: Any, рядом валидатор строк на сто, и где-то посередине ветка, которую ты дописал ночью перед релизом, потому что кто-то прислал диапазон туда, где ждали число. Тесты зелёные: на эту комбинацию их просто не было. Падает, разумеется, в проде.
Рубрика «типизация»
Невыразимое невалидное. Часть 1. Данные
2026-06-19 в 10:48, admin, рубрики: Discriminated unions, mypy, pydantic, python, аннотация типов, типизация, типы данныхКак я превратил хаотичные формы во Vue в типизированную модель данных (AdaptForm)
2026-06-06 в 12:49, admin, рубрики: javascript, npm пакеты, pydantic, TypeScript, библиотека, валидация полей, валидация форм, типизация, фронтендИстория о том, как задача «подсветить обязательные поля» превратилась в полноценную TypeScript-библиотеку с 500+ скачиваниями в неделю.
Введение
Метаутопия программистов: как построить государство на базе TypeScript и Git
2026-01-28 в 8:19, admin, рубрики: Git, TypeScript, государство, законодательство, типизацияИстория статической и динамической типизации
2025-09-18 в 8:57, admin, рубрики: динамическая типизация, Программирование, статическая типизация, типизацияПривет! Меня зовут Глеб, я Java-разработчик в Сбере. Сегодня я хочу рассказать про исторический контекст двух фундаментальных подходов к системе типов в программировании.
Наверное, каждый разработчик, знает, что такое статическая и динамическая типизация (или хотя бы одно из этих понятий). Действительно, все современные языки программирования можно отнести либо к статически, либо к динамически типизированным. Идеи, лежащие в основе этих подходов, достаточно легко объяснить на пальцах: при статической типизации мы знаем все типы, используемые нашей программой, ещё во время её компиляции.
Я до последнего буду защищать сильную статическую типизацию
2023-10-05 в 5:46, admin, рубрики: вывод типов, компиляция, статическая типизация, типизация
Я пишу ПО уже больше двадцати лет и с каждым днём всё больше убеждаюсь, что сильная статическая типизация — это не просто хорошая идея, но и почти всегда верный выбор.
Rust моей мечты — несостоявшийся язык
2023-06-11 в 7:24, admin, рубрики: c++, Rust, Исследования и прогнозы в IT, Компиляторы, Программирование, типизацияВ одном недавнем подкасте о том, кто сейчас главный в Rust, вновь всплыл вопрос о том, кому быть BDFL (великодушным пожизненным диктатором), и Джереми Соллер сказал (это был чемпионский заход на приз «за преуменьшение века»): «Я считаю, Грейдон забраковал бы некоторые вещи, которые всем нам сейчас нравятся». Этим он вторит другой дискуссии на redditЧитать полностью »
Когда типизация делает тебе больно: как у нас появился статический анализатор
2023-05-16 в 9:11, admin, рубрики: pycharm, python, Блог компании Selectel, Программирование, статический анализатор, типизация, язык программирования
Удобство процесса разработки напрямую влияет на скорость работы и на количество ошибок при написании кода. Что делать, если среда разработки почему-то отказывается использовать автодополнение во всю силу? Правильно, искать обходные пути и изобретать велосипеды.
Язык программирования Python в силу своей динамичности может легко создать ситуацию, когда статический анализатор не может вывести типы и, как следствие, часть проверок отключается. В статье я подробно расскажу о проблеме в разработке системы управления выделенными серверами, которую мы сами себе создали, а затем героически решили. В примерах используется интерпретатор Python 3.10, а средой разработки выступает PyCharm 2022.2.4.
Текст будет интересен тем, кто хочет узнать новые стороны Python, и кому любопытно, с какими проблемами можно столкнуться, если использовать все модные фичи языка.
Читать полностью »
Сказка о типизации
2023-03-25 в 6:47, admin, рубрики: generics, java, ненормальное программирование, типизация, Читальный зал, юморВ некотором царстве, в некотором государстве жил был царь. Как-то раз объявил царь всему народу - "Кто решит три моих задачки, тот сам сможет царём стать". И даже контракт метода опубликовал, всё честь по чести.
public interface ЦарёвУказ1844 {
interface РешилВсеЗадачи {}
void setЦарь(Человек<? extends РешилВсеЗадачи> новыйЦарь);
Человек<?> getЦарь();
}
Пришёл к царю кузнец, в разных делах дока, и говорит: "Давай свои задачки"
Царь руки потирает и говорит: "Ну что ж, изволь. Вот моя первая задачка"
Задача о боровиках
Почему я начал использовать аннотации типов в Python – и вам тоже советую
2022-02-25 в 7:09, admin, рубрики: python, аннотации, Блог компании Издательский дом «Питер», ооп, Программирование, рефакторинг, Совершенный код, типизация
С появлением подсказок типов (type hints) в Python 3.5+ добавилась опциональная статическая типизация – поэтому эти подсказки так мне нравятся. Теперь я аннотирую ими все мои проекты.
Сага о типизации и тайпчекинге для JavaScript
2021-02-09 в 8:16, admin, рубрики: c++, Cpp, javascript, kotlin, TypeScript, Блог компании Яндекс, команда яндекс.маркета, типизацияПривет! Хочу поделиться своими мыслями по, казалось бы, простой теме — типизации. В частности, поговорить о тайпчекинге в JavaScript.
Часто люди воспринимают типизацию как эдакую серебряную пулю, которая защищает от всех проблем. Но это не так, часто ожидания от типизации неоправданны, а простота таких инструментов, как TypeScript, обманчива и слишком переоценена.
Это не типичная статья из серии «Изучаем TypeScript», а, как мне кажется, фундаментальная история. Мы начнем с основ, поговорим о данных, о способе их хранения, а затем перейдем к типизации и посмотрим, как она влияет на работу программы.

