Reader мёртв. Writer — тоже. Что же делать теперь?
Язык программирования Zig переживает самую глубокую Для просмотра ссылки Войдиили Зарегистрируйся за всё время существования. Его автор и главный разработчик, Эндрю Келли, внедрил изменения, полностью перерабатывающие ключевые компоненты стандартной библиотеки — <code>std.io.Reader</code> и <code>std.io.Writer</code>. Эти шаги прокладывают путь к возвращению в язык асинхронности — через ключевые слова <code>async</code> и <code>await</code>, которые ранее были удалены.
Новая архитектура представлена в пулл-реквесте с ироничным названием Writergate. Она делает устаревшими все текущие реализации чтения и записи и вводит новые структуры без дженериков. Reader и Writer становятся ядром свежей системы ввода-вывода: более гибкой, переиспользуемой и пригодной для масштабирования.
Келли не скрывает: изменения радикальные. Любой проект, работающий со старыми потоками I/O, нужно будет переписать. Но он подчёркивает — решение обдуманное, а направление развития Для просмотра ссылки Войдиили Зарегистрируйся .
Несмотря на статус pre-release (последняя версия Zig — 0.14.1), язык уже применяют в продакшене. Самый заметный пример — рантайм Bun, в основе которого работает Zig. Поэтому Writergate и вызвал бурную реакцию в сообществе.
И это — только начало. Следом команда перепишет модули TLS, HTTP, JSON и библиотеки сжатия. Все они перейдут на новую модель ввода-вывода и откажутся от устаревших API. Чтобы облегчить переход, каждый этап будет оформлен отдельным пулл-реквестом.
Возврат <code>async</code>, <code>await</code>, <code>suspend</code> и <code>resume</code> стал главной целью изменений. Раньше они уже появлялись в Для просмотра ссылки Войдиили Зарегистрируйся , но Келли решил их удалить из-за сырой реализации. Сейчас, благодаря новой I/O-архитектуре, он считает, что время вернулось.
В недавнем выступлении Келли признался: первый заход в асинхронность его не устроил. Но теперь подход изменился — интерфейсы I/O создают нужный фундамент, на котором можно строить поддержку современных сценариев.
Среди преимуществ новой системы — чёткий контроль за ресурсами, лёгкость тестирования и независимость от конкретных ОС. Разработчик сможет создавать пакеты, которые будут работать в любой среде, где реализован нужный интерфейс. Даже для самописной ОС.
Самая болезненная часть — миграция. Всё, что взаимодействует с Reader и Writer, придётся переписать вручную. Келли честно говорит: «Это тяжело. Мне жаль. Но иначе — никак».
Сообщество отреагировало по-разному. Кто-то считает, что Zig наконец получает полноценный переиспользуемый I/O-интерфейс. Другие выражают тревогу: язык уже используется в продакшене, и такие перемены бьют по стабильности. Один из комментаторов прямо спросил: «Zig будто застрял в вечной бете. Где 1.0?»
Келли в ответе на Hacker News упомянул опыт языка Hare. Особенно — инструмент <code>hare-update</code>, который помогает адаптировать код под несовместимые изменения. По его мнению, Zig тоже стоит пойти по этому пути.
Всё это ясно говорит: язык вступает в новую эру. Разработчики сознательно отказываются от старых компромиссов и закладывают Для просмотра ссылки Войдиили Зарегистрируйся , способный выдерживать нагрузки будущего. Цена — полная переработка кода. Но большой босс уверен: без этого Zig не станет тем, чем должен быть. Это — часть большой задачи по Для просмотра ссылки Войди или Зарегистрируйся и Для просмотра ссылки Войди или Зарегистрируйся в современном мире.
Язык программирования Zig переживает самую глубокую Для просмотра ссылки Войди
Новая архитектура представлена в пулл-реквесте с ироничным названием Writergate. Она делает устаревшими все текущие реализации чтения и записи и вводит новые структуры без дженериков. Reader и Writer становятся ядром свежей системы ввода-вывода: более гибкой, переиспользуемой и пригодной для масштабирования.
Келли не скрывает: изменения радикальные. Любой проект, работающий со старыми потоками I/O, нужно будет переписать. Но он подчёркивает — решение обдуманное, а направление развития Для просмотра ссылки Войди
Несмотря на статус pre-release (последняя версия Zig — 0.14.1), язык уже применяют в продакшене. Самый заметный пример — рантайм Bun, в основе которого работает Zig. Поэтому Writergate и вызвал бурную реакцию в сообществе.
И это — только начало. Следом команда перепишет модули TLS, HTTP, JSON и библиотеки сжатия. Все они перейдут на новую модель ввода-вывода и откажутся от устаревших API. Чтобы облегчить переход, каждый этап будет оформлен отдельным пулл-реквестом.
Возврат <code>async</code>, <code>await</code>, <code>suspend</code> и <code>resume</code> стал главной целью изменений. Раньше они уже появлялись в Для просмотра ссылки Войди
В недавнем выступлении Келли признался: первый заход в асинхронность его не устроил. Но теперь подход изменился — интерфейсы I/O создают нужный фундамент, на котором можно строить поддержку современных сценариев.
Среди преимуществ новой системы — чёткий контроль за ресурсами, лёгкость тестирования и независимость от конкретных ОС. Разработчик сможет создавать пакеты, которые будут работать в любой среде, где реализован нужный интерфейс. Даже для самописной ОС.
Самая болезненная часть — миграция. Всё, что взаимодействует с Reader и Writer, придётся переписать вручную. Келли честно говорит: «Это тяжело. Мне жаль. Но иначе — никак».
Сообщество отреагировало по-разному. Кто-то считает, что Zig наконец получает полноценный переиспользуемый I/O-интерфейс. Другие выражают тревогу: язык уже используется в продакшене, и такие перемены бьют по стабильности. Один из комментаторов прямо спросил: «Zig будто застрял в вечной бете. Где 1.0?»
Келли в ответе на Hacker News упомянул опыт языка Hare. Особенно — инструмент <code>hare-update</code>, который помогает адаптировать код под несовместимые изменения. По его мнению, Zig тоже стоит пойти по этому пути.
Всё это ясно говорит: язык вступает в новую эру. Разработчики сознательно отказываются от старых компромиссов и закладывают Для просмотра ссылки Войди
- Источник новости
- www.securitylab.ru