> Не думаю что есть проблема в понимании по крайней мере в связи
> с новороченностью концепций.Если яп провоцирует навороченные конструкции и абстракции - имхо жесткий недостаток. Потому что при совместной разработке софта это ведет к суровым обломинго когда кто-то что-то не так понял в чужом коде - и это ведет к багам, непоняткам и фэйлам в проекте.
> Системный софт успешно писали на смаллтаке и на Лиспе пишут прямо сейчас,
Да его даже на брейнфаке можно писать. Теоретически. Практически - не лучшая идея на свете.
> хотя Лисп конечно очень простой, и для системщины хорошо иметь сильную
> систему типов.
Для системщины хорошо - делать то что попросил программер и не делать мозг. И предсказуемо работать с железом. А не вы#$%ываться с концепциями, абстракциями, всякими лямбда-заподвыподвертами и чем там еще. Там чем проще - тем надежнее и предсказуемее, в общем то. А заодно толпа народа прочекает что делается и правда что задумано. Но для этого они должны въехать в этот код.
> Что даёт Хаскель и Ада.
Как я уже сказал - можете програмить системщину на этом если хотите. Я этого за вас делать совершенно точно не буду. Как и въезжать в все ваши вы#$%ны с высокими концепциями. Цель системщины не показать что вы первый кодер на деревне а написать понятный, читаемый, предсказуемый код. Без разночтений его другими двуногими.
> Проблема понимания тут только в бартере между специалистами программирующие и на разных
> языках.
По моему проблема тут в том что академики от CS страшно далеки от системного программирования и поэтому порождают какие-то жуткие франкенштейны. Которые круты только для них, а практикующие системщики - с этого блюют радугой, вместе с руководством проектов.
> Сильная типизация как раз сильно пониманию помогает.
Видите ли - иногда надо и гранд-оверрайд. С вполне легитимными целями. Простой пример: вот тут я могу хотеть рассмотреть пакет как массив - чтобы его отдать DMA автомату по (адрес, размер) - а вот там дербанить его на субкомпоненты, чтобы осмысленно поля кроить. Ну и какой у него при этом тип? В терминах си это "union" если что. И если жесткие типы вообще совсем зарубят эту идею - окей, инструмент встал на моем пути и нагнул решение задачи. И это не круто. А ключевая претензия к сям будет пожалуй "хреново определенный struct в стандарте". В том плане что не, взять и рассмотреть его поля как части struct - не то чтобы совсем нельзя, но за это очень даже может воздаться. А вот когда вы захотите с DMA автоматом, не понимающим ничего кроме (addr, len) поработать - я посмотрю как вы захотите крутые абстракции и жесткие типы. И чесать репу что в DMA автомат впрограмить при этом всем.