LINUX.ORG.RU

История изменений

Исправление aist1, (текущая версия) :

Я сильно извиняюсь, да))

Про сам Zig лучше стоит идти читать на официальный сайт языка. Обсуждение же выше к этому языку отношение, в принципе, имеет. Если он станет популярным, с ним начнет происходить то же самое, что и Rust, и с Go. Последний задумывался очень простым, но народ в конце-концов дожал Пайка и тот согласился на дженерики. Слава Здравому Смыслу, сразу на мономорфные.

Добавление «продвинутых фич» в язык, изначально заточенный на простоту в рамках определенной «филосфии простоты» сначала сломает эту философию, а потом и сам язык. Так же было и с Rust, в дженерики которого изначально не добавили числовые параметры в угоду простоте вывода типов, да так всё сдизайнили, что потом пять лет эти параметры добавляли обратно. Когда оказалось, что они таки нужны.

По той же тропинке идет и Zig. Он нацелен на простоту восприятия, но это — недостижимая цель для системного низкоуровневого языка. Почему так происходит, и объяснятеся в этом длинном треде выше про свойства описательной сложности. Да, всё сложно и на грани «не нужно». Но никто нам в этой профессии и не обещал, что будет легко (и просто).

Дизайн языка должен учитывать характер задач, которые будут решатся. Так вот, этот характер изменился. Сильно. Почему и как — выше (объекты всё более «утяжеляются» в смысле, раскрытом выше). А Zig — идеальный язык для 90-х.

Исходная версия aist1, :

Я сильно извиняюсь, да))

Про сам Zig лучше стоит идти читать на официальный сайт языка. Обсуждение же выше к этому языку отношение, в принципе, имеет. Если он станет популярным, с ним начнет происходить то же самое, что и Rust, и с Go. Последний задумывался очень простым, но народ в конце-концов дожал Пайка и тот согласился на дженерики. Слава Здравому Смыслу, сразу на мономорфные.

Добавление «продвинутых фич» в язык, изначально заточенный на простоту в рамках определенной «филосфии простоты» сначала сломает эту философию, а потом и сам язык. Так же было и с Rust, в дженерики которого изначально не добавили числовые параметры в угоду простоте вывода типов, да так всё сдизайнили, что потом пять лет эти параметры добавляли обратно. Когда оказалось, что они таки нужны.

По той же тропинке идет и Zig. Он нацелен на простоту восприятия, но это — недостижимая цель для системного низкоуровневого языка. Почему так происходит, и объяснятеся в этом длинном треде выше про свойства описательной сложности. Да, всё сложно и на грани «не нужно». Но никто нам в этой профессии и не обещал, что будет легко (и просто).

Дизайн языка должен учитывать характер задач, которые будут решатся. Так вот, этот характер изменился. Сильно. Почему и как — выше. А Zig — идеальный язык для 90-х.