В 2013 году я "завершил" интеграционную часть своего исследования в области языков программирования и моделирования. 8 месяцев (при 6 планировавшихся) переосмысления и интеграции знаний, которые десятилетиями накапливались человечеством и годами собирались мной, когда-то как хобби, а затем и целенаправленно. Цель была: вывести набор решений для
(
Read more... )
Comments 14
Reply
Reply
Так вышло, что недавно я попробовал сразу несколько новомодных языков (Julia, Go, Rust, стандарт ES6 для js). И обнаружил (внезапно для себя), что они используют множество концепций, уже знакомых по другим языкам и во многом друг с другом пересекаются. Да, некоторые дополняют их какой-то одной своей killer-фичей, которая зачастую поглощает всё остальное.
Забавно было обнаружить общие подходы даже в системах управления зависимостями. А без них современное программирование даже представить страшно - о чём я тоже раньше не задумывался.
Вместить в один язык все доступные фичи из других, или найти всем альтернативу - очень достойная задача. Удачи! Не знаю, чем ещё помочь :о)
Reply
Задачи вместить все существующие фичи не было. Была старая задача - предоставить пользователям возможность добавлять желаемые фичи путём написания небольших EDSL-библиотек (а не "переписав половину компилятора").
Новая задача - предоставить ряд новых мощных фич из коробки, как для применения здесь и сейчас, так и в качестве более удобного базиса для пользовательских EDSL и language backends. Например, многие языковые решения, даже такие различающиеся по сферам применения как SQL и TLA+, представляют собой надстройки/расширения над логикой первого порядка (FOL). И сводятся к ней. Но не очень компактно сводятся, напрямую FOL вместо них неприменима. Но общий компактный языковой базис есть. Теоретически. А теперь на очереди практика. :)
Reply
Reply
Скажем, не все. Но многие, это правда. И мейнтейнеры считают это даже фичей, а не багом :о/
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Leave a comment