Comments 16
Полумёртвый? Вы серьёзно? Язык жив, пока выходят новые версии трансляторов и библиотек, пока есть ниша, в которой он играет главную роль и пока есть сообщество, им пользующееся. Спешу вас обрадовать, с этим у Haskell всё хорошо.
- Загляните на сайт Haskell Weekly где каждую неделю приводятся по два десятка новых (лучших) статей с разных ресурсов, по тридцать конференций во всём мире — еженедельно!
- Новая версия ghc вышла только в ноябре.
- Основной репозиторий Hackage стабильно пополняется.
- Существует вполне отчётливое видение развития языка.
- Два года назад вышла блестящая книга Haskell programming from the first principles, поднимающая преподавание ФП на новый уровень.
- Reddit-сообщество включает в себя более 30 тыс. участников и растёт, производная не велика, но положительна.
- Существует активное русскоязычное сообщество.
- Наконец, подавляющее большинство научных статей в области ФП и теории типов формулируются с помощью Haskell.
Со своей ролью языка исследований в этой области он справляется блестяще! А вот Prolog, увы, действительно, полужив-полумёртв, хотя буду рад ошибиться.
+9
Ну нельзя же принимать так близко к сердцу такие очевидно нелепые высказывания (про «полумертвый Хаскель»). Тот кто это написал или тролль, или просто очень недалекий человек, обиженный на то что не смог осилить.
+2
Я очень люблю первые комментарии на Хабре под любой статьей. Немного напоминают комментарии на Ютубе в смысле доброжелательности и компетентности :-)
Пролог, кстати, в каком-то смысле живее всех живей. Как язык общего назначения он, конечно, не зашел, но совершенно точно сильно повлиял на многие другие языки.
Пролог, кстати, в каком-то смысле живее всех живей. Как язык общего назначения он, конечно, не зашел, но совершенно точно сильно повлиял на многие другие языки.
0
очень рад, что сумел привлечь внимание к стековым машинам и теме своими статьями :-) Спасибо, я с удовольствием почитал обе ваши статьи.
Признаться, меня виртуальные машины в общем заинтересовали немного с другой стороны — как повод погрузиться в общение с физическими машинами, их регистрами, хитрыми наборами инструкций, внеочередным исполнением и т.д. Если Хаскелл — свобода мысли, то Си и виртуальные машины — свобода от высокоуровневых абстракций, за которыми не видно процессора и иже с ним.
В любом случае интересно, что к тем же вопросам можно подойти с совершенно другой стороны!
Признаться, меня виртуальные машины в общем заинтересовали немного с другой стороны — как повод погрузиться в общение с физическими машинами, их регистрами, хитрыми наборами инструкций, внеочередным исполнением и т.д. Если Хаскелл — свобода мысли, то Си и виртуальные машины — свобода от высокоуровневых абстракций, за которыми не видно процессора и иже с ним.
В любом случае интересно, что к тем же вопросам можно подойти с совершенно другой стороны!
+1
Это всегда здорово: выйти на знакомую площадь новым путём — так по-настоящему узнаётся город. Я грущу, когда противопоставляют абстракции и нечто "реальное". В такой позиции не видно общей картины, а без этого не заглянуть глубже ни в абстракции, ни в реальность.
0
У Си модель памяти отличается от модели памяти процессора. Хотя бы потому, что процессоры разные, а Си одинаковый. Попытка писать на Си для unreal mode, например, почти гарантировано обречена на провал.
0
Если вы про то, что у современных настольных x86-ых процессоров 5 видов памяти (винт, оперативная память, три слоя кеша), а Си из них видит только 2 (оперативная память и винт), то да, конечно, это в модели видно плохо.
Это и на ассемблере не особо заметно будет.
Режим процессора unreal я, признаться, с детства не встречал.
Это и на ассемблере не особо заметно будет.
Режим процессора unreal я, признаться, с детства не встречал.
0
Это специальный режим работы процессора, когда память не настроена. Задача кода — настроить память. Можно использовать только ппзу и кеш как стек (вроде бы, как стек — могу путаться). Ну и регистры.
Плюс такой же режим у процессора при входе в код обработки SMM.
Вообще, я не понимаю какой операцией в Си производится смена 16-битного режима (real) в 32-битный, например. Все указатели становятся тыквой — и язык этого не понимает.
Плюс такой же режим у процессора при входе в код обработки SMM.
Вообще, я не понимаю какой операцией в Си производится смена 16-битного режима (real) в 32-битный, например. Все указатели становятся тыквой — и язык этого не понимает.
0
я понимаю, что это за режим :-)
Но требовать от любого языка (в случае) общего назначения поддержки специальных режимов работы каждого из существующих процессоров — странно. Подозреваю (т.е. точно знаю), что в популярных ОС те небольшие участки кода, где это реально требуется, пишутся на ассемблере.
Но требовать от любого языка (в случае) общего назначения поддержки специальных режимов работы каждого из существующих процессоров — странно. Подозреваю (т.е. точно знаю), что в популярных ОС те небольшие участки кода, где это реально требуется, пишутся на ассемблере.
0
Разумеется, на ассемблере. Я просто возмутился тезисом, что «Си и виртуальные машины — свобода от высокоуровневых абстракций, за которыми не видно процессора и иже с ним.»
В Си тоже не видно.
В Си тоже не видно.
0
Превращение указателей в тыкву как раз не беда, «лечится» барьером памяти и аккуратностью программиста. Смена модели памяти, да и в принципе существование сразу двух моделей памяти в одной программе куда серьезнее.
0
Sign up to leave a comment.
Учим поросёнка на моноидах верить в себя и летать