Там человек первый раз со скимой связался. Да и с функциональной парадигмой тоже. Текст листал по диагонали, мягко говоря слабый (есть непонимание фундаментальных вещей).
> А список — это цепочка cons'ов — пар значений, в т.ч. ссылок на следующую пару. т.е. при передаче списка в функцию передаётся пара указателей на значение и хвост списка и их можно изменить с помощью set-car! и set-cdr! (которых в некоторых реализациях нет).
Не знаю как в CL, но в скиме список передается именно как список. От него можно отщепить потом голову либо хвост, но он не представляется как связная цепочка пар. Для пар есть отдельный тип.
> которых в некоторых реализациях нет
Всё что за пределами R(n)RS — синтаксический сахар и удобства. Жить в теории можно и без них прекрасно ;)
Вообще не понимаю как можно пользоватся не вендорными образами на амазоне. Те же команды из гайда можно тупо перебить. «Забытый ключик» — одна из самых безобидных вещей, которую можно сделать.
Весь Microsoft Research состоит из прекрасных людей, которые занимаются Computer Science. Очень много проектов не имеют прямого отношения к деятельности Microsoft, либо вообще не имеют никакого отношения Microsoft.
Сделать нормальный sandbox, с лимитированием по памяти, цпу, сокетами не сложно в linux'е. Да и в *bsd по идее тоже. Просто там сервер на винде будет (не забываем про majority rule), что я нахожу немного странным.
Ну хотя не буду больше тут ворчать, лучше потренеруюсь, должно быть довольно весело с голым си пощелкать олимпиадные задачки. Подготовить макросов, функций, и вперед в бой.
Пустите меня туда со Scheme, ну позязя. Просто складывая все факты, не совсем логично выходит, да и последний раз участвовал в районой олимпиаде в 9ом классе, вроде на паскале писал.
На городской `всосал', но там контигент состоял из людей, которые были именно натасканы решать эти задачки. Потупил и ушел с высоко поднятой головой.
> спортивного программирования
Собственно с миром олимпиад не связывался никогда, с реальным миром еще не везде разобрался. А разной эзотерики для разминки мозгов хватает.
— Но то что рекурсия в императивных языках — моветон, чистая правда.
Я считаю, что пользоваться рекурсией, где нету tail call optimization моветон. И за пределами языков с функциональной парадигмой ей не место.
Рекурсия местами очень красиво встает в код, но уж позвольте, давайте тогда давать гарантии, что программа не вылезет со StackOverflow. Может я очень критично к этому отношусь, но за качество программного продукта надо отвечать.
А кто-нибудь в продакшене использует?
> А список — это цепочка cons'ов — пар значений, в т.ч. ссылок на следующую пару. т.е. при передаче списка в функцию передаётся пара указателей на значение и хвост списка и их можно изменить с помощью set-car! и set-cdr! (которых в некоторых реализациях нет).
Не знаю как в CL, но в скиме список передается именно как список. От него можно отщепить потом голову либо хвост, но он не представляется как связная цепочка пар. Для пар есть отдельный тип.
> которых в некоторых реализациях нет
Всё что за пределами R(n)RS — синтаксический сахар и удобства. Жить в теории можно и без них прекрасно ;)
Вообще рекомендую заглянуть в английскую википедию, там на редкость любознательная статья на тему qr-кодов.
Ну хотя не буду больше тут ворчать, лучше потренеруюсь, должно быть довольно весело с голым си пощелкать олимпиадные задачки. Подготовить макросов, функций, и вперед в бой.
На городской `всосал', но там контигент состоял из людей, которые были именно натасканы решать эти задачки. Потупил и ушел с высоко поднятой головой.
> спортивного программирования
Собственно с миром олимпиад не связывался никогда, с реальным миром еще не везде разобрался. А разной эзотерики для разминки мозгов хватает.
— Но то что рекурсия в императивных языках — моветон, чистая правда.
Я считаю, что пользоваться рекурсией, где нету tail call optimization моветон. И за пределами языков с функциональной парадигмой ей не место.
Рекурсия местами очень красиво встает в код, но уж позвольте, давайте тогда давать гарантии, что программа не вылезет со StackOverflow. Может я очень критично к этому отношусь, но за качество программного продукта надо отвечать.
Тем более рекурсии сложнее отлаживать, факт.