|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 03 Sep 2004 17:07:28 To : Artem Chuprina Subject : Re: Вопросец -------------------------------------------------------------------------------- Artem Chuprina -> Alexey Gradovtsev @ Fri, 3 Sep 2004 12:55:11 +0000 (UTC): AG>> Что-то мне сильно кажется, что окажись здесь какой-нить старожил из AG>> su.c_cpp, то запросто бы разгорелась holy war не на шутку. Потому AG>> что ты оперируешь субъективными (в большой степени) понятиями. AC> Я их старательно объективизирую. Переводя в параметры типа "количество AC> символов кода на решаемую задачу" и "количество времени, затраченного AC> на решение той же задачи". Да, по поводу. Вспомнилась байка Бо Беркгаута. Как он предлагал программистам на C++ посоревноваться в вычислении факториала - его Palm (33 MHz Motorola DragonBall) с LispMe (такая реализация Scheme) против их P-IV с MS Visual Studio. Для начала, он на порядок быстрее получает работающую программу. Потом, конечно, факториал 6, 7, 10 и т.п. P-IV считает быстрее. Hо по сумме не может опередить Palm - слишком большой проигрыш во времени написания. Потом Бо с улыбочкой предлагает посчитать 1000!. Что говорит программа на C++? Правильно, overflow... Хуже того - она этого даже не говорит, она просто молча возвращает неверный результат. Palm задумывается довольно основательно (что-то типа секунд на 40), и потом возвращает число, которое не лезет в его же собственный Clipboard, т.е. длиннее 4 килобайт. Сколько времени потребуется программисту на C++ при наличии Visual Studio, чтобы получить правильный результат - считайте сами. Можно ускорить процесс посредством поиска библиотеки больших чисел, но в твоем исполнении это неспортивно - LispMe никакие внешние библиотеки не требуются. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 P.S. А ведь можно пойти дальше и стек сорвать - у любой реализации схемы обязательна честная tail recursion, а в C++ подобных заумных вещей никто не обещал... --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/25606b2a58296.html, оценка из 5, голосов 10
|