Я сравнивала не компилятор с LLM, а программу, написанную человеком (с непредсказуемыми багами, усугублёнными нестрогостью языка) и программу, написанную LLM (с непредсказуемым всем).
Угу, только где его нет, этого UB, кроме тривиальных программ, либо анально огороженных какими-нибудь MISRA? Даже ваш пример со сложением -- UB, если операнды знаковые и случится переполнение (до C23, по крайней мере). Не говоря уже про типичные сишные проблемы вроде выхода за границы с непредсказуемыми последствиями.
Если выбирать языки, наиболее подходящие под задачу с минимумом бойлерплейта, это будут предметно-ориентированные (DSL). Языки общего назначения в этом плане неизбежно будут хуже. Тут начинают играть роль другие факторы -- наличие библиотек и документации, размер сообщества, поддержка в IDE. Но конкретно выразительным возможностям они ортогональны.
Всё-таки основная определяющая характеристика ФП -- программы в нём представляются в виде композиции функций (в математическом смысле, отображений входов на выходы). Это противопоставляет его императивному программированию, где программа представляется в виде последовательности инструкций (присваиваний, условных переходов, вызова подпрограмм/процедур и т. д.)
Остальное идёт уже следом. Почему ФВП? Потому что это необходимо для композиции. Почему развитые статические системы типов? Потому что это помогает накладывать ограничения на то, что можно композировать, а что нельзя. Почему неизменяемые структуры? Потому что с ними проще судить о поведении функций, особенно в случае неявного порядка выполнения.
Я сравнивала не компилятор с LLM, а программу, написанную человеком (с непредсказуемыми багами, усугублёнными нестрогостью языка) и программу, написанную LLM (с непредсказуемым всем).
Спасибо, раньше тоже думала, что он от давления лезвий плавится
Тогда почему скользят коньки?
В непредсказуемых внешних условиях поведение тоже иногда становится непредсказуемым, а некоторые баги — трудноуловимыми.
В C – да. А вот в JS сложение может внезапно стать конкатенацией, если вместо числа прилетела строка или массив.
На диване?
Угу, только где его нет, этого UB, кроме тривиальных программ, либо
анальноогороженных какими-нибудь MISRA? Даже ваш пример со сложением -- UB, если операнды знаковые и случится переполнение (до C23, по крайней мере). Не говоря уже про типичные сишные проблемы вроде выхода за границы с непредсказуемыми последствиями.Не знала, что для изготовления полноценного нового экземпляра человека достаточно дивана.
Звучит как достаточно большой код на C или JS
Если выбирать языки, наиболее подходящие под задачу с минимумом бойлерплейта, это будут предметно-ориентированные (DSL). Языки общего назначения в этом плане неизбежно будут хуже. Тут начинают играть роль другие факторы -- наличие библиотек и документации, размер сообщества, поддержка в IDE. Но конкретно выразительным возможностям они ортогональны.
Даже самая идеальная архитектура всё ещё будет упираться в выразительные возможности языка.
В качестве более весомого у него длинное послесловие и список литературы.
Только ограниченно и только при наличии инфраструктуры
Разумеется, ведь всё, что наносит вред людям или среде, в которой они живут, обязательно запрещают!
Гипотетически (привет от Питера Уоттса) интеллекту вообще не нужно сознание, чтобы стать супером.
Здорово! Было бы интересно почитать статью об этом опыте
Всё-таки основная определяющая характеристика ФП -- программы в нём представляются в виде композиции функций (в математическом смысле, отображений входов на выходы). Это противопоставляет его императивному программированию, где программа представляется в виде последовательности инструкций (присваиваний, условных переходов, вызова подпрограмм/процедур и т. д.)
Остальное идёт уже следом. Почему ФВП? Потому что это необходимо для композиции. Почему развитые статические системы типов? Потому что это помогает накладывать ограничения на то, что можно композировать, а что нельзя. Почему неизменяемые структуры? Потому что с ними проще судить о поведении функций, особенно в случае неявного порядка выполнения.
Форк ajhc под эмбеддед благополучно заглох =(
Вспомнилось, как наш телевизор ловил сильно зашумленную, но всё же распознаваемую трансляцию "танчиков" с денди от соседей этажом ниже
Одного не понимаю: почему люди, которые транслитерируют bitcoin как биткоин, одновременно транслитерируют blockchain как блокчейн.