Size: a a a

2020 November 25

FN

Freyr Njordrson in fprog_spb
Aleksei (astynax) Pirogov
Если этого не хочется, то GNU SmallTalk берите, чё
Да, надо будет, заодно добраться до разноцветных книжек.

Все же идея интерактивных VM/os а-ля лисп-машины и смолток как по мне скорее препятствуют популярности, да и в целом как-то сомнительно писать программу находясь внутри программы, какой-то strange loop. В презентации на youtube Dan Ingalls успешно окирпичил VM в самом конце, что как-то не оч безопасно что ли.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Снапшоты всегда можно делать. И окирпичивать интереса ради. А потом откатывать до снапшота опять же. Как VirtualBox
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Aleksei (astynax) Pirogov
Снапшоты всегда можно делать. И окирпичивать интереса ради. А потом откатывать до снапшота опять же. Как VirtualBox
GNU SmallTalk уныл чуть более чем полностью, если что. Синтаксис можно оценить, но за пределами голого языка ничего не останется.

А весь фан в разработке "на живую". Именно поэтому Pharo такой, какой он есть — живая система, разработанная сама на себе. Любые прослойки GTK<->GNU SmallTalk не идут ни в какое сравнение
источник

AP

Aleksei (astynax) Pi... in fprog_spb
https://docs.huihoo.com/smalltalk/gnu-smalltalk/ вот тут есть много всякого по GNU SmallTalk. В т.ч. и про GUI на Blox. Но это прям old shit :)
источник

K

KLH in fprog_spb
Александр Гранин
И кстати. Тайп левельность не гарантирует тайп сейфети
В хаскеле - да...

Или речь вообще про то, что в спецификациях тоже могут быть ошибки?
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Freyr Njordrson
Да, надо будет, заодно добраться до разноцветных книжек.

Все же идея интерактивных VM/os а-ля лисп-машины и смолток как по мне скорее препятствуют популярности, да и в целом как-то сомнительно писать программу находясь внутри программы, какой-то strange loop. В презентации на youtube Dan Ingalls успешно окирпичил VM в самом конце, что как-то не оч безопасно что ли.
Seaside работает на GST, можно начать с вебчика, если руки дойдут :)
источник

АГ

Александр Гранин... in fprog_spb
KLH
В хаскеле - да...

Или речь вообще про то, что в спецификациях тоже могут быть ошибки?
Не только. Речь еще и про то, что тема корректности не исчерпывается только корректностью алгоритмов. В реальном мире куда больше вещей, корректность которых не определена или определена плохо, но код при этом написан быть должен. Нельзя формализовать все
источник

АГ

Александр Гранин... in fprog_spb
И, как правило, пропоненты коррректности путем введения тайп левела работают с кодом уровня "вектор фиксированной длинны", но это как рисовать сову. Попробуй перейди от корректного тайп левельного вектора к корректной логике какого-нибудь веб бэкенда.
источник

MP

Mike Potanin in fprog_spb
А как в "интеративных средах" с версионируемостью? В CoqIDE если что-то не понравилось, можно откатиться на несколько команд назад и что-то поменять. Команды - это просто текст. Что-то подобное я видел на демонстрации САПР Cadds5, где список выполненных операций можно было бы отредактировать как текст.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Сравнивать САПР, то есть систему с одним "источником состояния" с высоконкурентными средами "почти ОС" вроде Pharo SmallTalk — странно
источник

AP

Aleksei (astynax) Pi... in fprog_spb
САПР не откатывает, она "перенакатывает не всё" (минус n последних команд)
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Это как event sourcing с ограниченной цепочкой событий относительно какого-то снапшота состояния в прошлом
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Откат равноценен загрузке снапшота и применению цепочки событий до нужного момента.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
В живой системе, коммуницирующей с внешним миром, нельзя в общем случае "запечь" внешние взаимодействия.
источник

AK

Andrey Kolesnikov in fprog_spb
Александр Гранин
Не только. Речь еще и про то, что тема корректности не исчерпывается только корректностью алгоритмов. В реальном мире куда больше вещей, корректность которых не определена или определена плохо, но код при этом написан быть должен. Нельзя формализовать все
Работа прогера и заключается в моделировании прикладной проблемы в формальном языке :)
Нам за это деньги платят, знаете ли :)
источник

AK

Andrey Kolesnikov in fprog_spb
Andrey Kolesnikov
Работа прогера и заключается в моделировании прикладной проблемы в формальном языке :)
Нам за это деньги платят, знаете ли :)
Другое дело, что моделировать эту прикладную проблему можно по разному.
Хочешь, затипизируйся, а потом сиди всю ночь и рефактори, когда бизнес-модель поменяется.
Хочешь, набросай по быстрому весь процесс в питоне, а потом смотри, как кодовая бара превращается в черную дыру изза отсутствия типов, которые бы хоть как то сдерживали логическую нестабильность в модели.
источник

AT

Alexander Tchitchigi... in fprog_spb
Для тех, кто не подписан.
источник

AT

Alexander Tchitchigi... in fprog_spb
источник

AK

Andrey Kolesnikov in fprog_spb
Andrey Kolesnikov
Другое дело, что моделировать эту прикладную проблему можно по разному.
Хочешь, затипизируйся, а потом сиди всю ночь и рефактори, когда бизнес-модель поменяется.
Хочешь, набросай по быстрому весь процесс в питоне, а потом смотри, как кодовая бара превращается в черную дыру изза отсутствия типов, которые бы хоть как то сдерживали логическую нестабильность в модели.
Это вопрос обеспечения маппинга между языком прикладной модели, и формальным языком. Причем не абы какого, а чтобы структура и не терялась, и не придумывалась на коленке.
И бизнесу интересна чаще именно скорость разработки (читай, реализации маппинга между языками), а не его корректность, что печально.
источник

MP

Mike Potanin in fprog_spb
Andrey Kolesnikov
Другое дело, что моделировать эту прикладную проблему можно по разному.
Хочешь, затипизируйся, а потом сиди всю ночь и рефактори, когда бизнес-модель поменяется.
Хочешь, набросай по быстрому весь процесс в питоне, а потом смотри, как кодовая бара превращается в черную дыру изза отсутствия типов, которые бы хоть как то сдерживали логическую нестабильность в модели.
Разработка бизнес-приложений в большой степени состоит из интеграции уже готовых частей. С развитием Type-Driven Development такая разработка может оказаться быстрее, чем на питоне.
источник