Информация об изменениях

Сообщение Re[2]: std и сеть... от 03.02.2023 15:21

Изменено 03.02.2023 15:23 Videoman

Re[2]: std и сеть...
Здравствуйте, rg45, Вы писали:

R>Как по мне, то и файловый ввод-вывод тоже не стоило тащить в стандартную библиотеку. Я думаю, это сделали скорее по историческим соображениям и совместимости с С. Вот именно потому, что все это вещи сложные и у разных программ могут быть разные требования по детальности, по кроссплатформенности и пр, я считаю, что весь такой сервис лучше иметь в виде внешних библиотек из которых можно выбрать ту, которая наилучшим образом соответствует решаемой задаче. Вообще я сторонник более строгого разграничения — язык — это язык, прикладная область — это прикладная область.


С одной стороны конечно всё верно и не поспоришь. Может быть по этому и нет стандартов, потому-что их просто не было на момент создания стандартной библиотеки. Были зоопарки разных файловых систем и разных сетевых коммуникаций. В Windows свои, в Nix — свои. Даже парадигма работы изменилась: раньше I/O и Сеть были на многие порядки медленнее CPU bound и синхронные интерфейсы были вполне норм. Потом стало всё выравниваться и async понадобился, а его не было ни в каком виде, т.к. опять же sync всех утсраивал. Сейчас, мне кажется, всё устаканилось и можно попробовать еще раз .
С другой стороны, наличие стандартной инфраструктуры задает канву, задает стандартизацию интерфейсов и предотвращает хаос, когда ты не может просто скрестить одну библиотеку с другой, потому что там разные слои абстракции, банально. В этом, я считаю, плюс хоть какой-то, но стандартной поддержи I/O во всех его проявления.
Re[2]: std и сеть...
Здравствуйте, rg45, Вы писали:

R>Как по мне, то и файловый ввод-вывод тоже не стоило тащить в стандартную библиотеку. Я думаю, это сделали скорее по историческим соображениям и совместимости с С. Вот именно потому, что все это вещи сложные и у разных программ могут быть разные требования по детальности, по кроссплатформенности и пр, я считаю, что весь такой сервис лучше иметь в виде внешних библиотек из которых можно выбрать ту, которая наилучшим образом соответствует решаемой задаче. Вообще я сторонник более строгого разграничения — язык — это язык, прикладная область — это прикладная область.


С одной стороны конечно всё верно и не поспоришь. Может быть по этому и нет стандартов, потому-что их просто не было на момент создания стандартной библиотеки. Были зоопарки разных файловых систем и разных сетевых коммуникаций. В Windows свои, в Nix — свои. Даже парадигма работы изменилась: раньше I/O и Сеть были на многие порядки медленнее CPU bound и синхронные интерфейсы были вполне норм. Потом стало всё выравниваться и async понадобился, а его не было ни в каком виде, т.к. опять же sync всех утсраивал. Сейчас, мне кажется, всё устаканилось и можно попробовать еще раз .
С другой стороны, наличие стандартной инфраструктуры задает канву, задает стандартизацию интерфейсов и предотвращает хаос, когда ты не может просто скрестить одну библиотеку с другой, потому что, там разные слои абстракции, банально. В этом, я считаю, плюс хоть какой-то, но стандартной поддержи I/O во всех его проявления.