Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Pavel P                              2:5020/400     10 Oct 2002  07:06:44
 To : Andrew Ezhguroff
 Subject : Re: Как закодировать?
 -------------------------------------------------------------------------------- 
 
 
 "Andrew Ezhguroff" <eandr@com2com.ru> wrote in message
 news:ao2fd4$dik$1@host.talk.ru...
 
 > Привет! "Pavel P" <vprin@indiainfo.com>  сообщил(а):
 >
 >  >> А где ты до этого у меня слова о длине программы видел? Hо если так
 >  PP> желаешь,
 >  PP> Зачем писать больше если можно меньше и понятнее? (1)
 >
 > Я не считаю, что лямбда-исчисление в ОБЩЕМ случае более понятно, чем
 > императивная грамматика. Эта нотация хороша для очевидно рекурсивных
 > алгоритмов - то же преобразование числа в строку, обработка списков и
 > деревьев, или, например, быстрая сортировка. Hо вот насколько она хороша
 
 для
 
 > пирамидальной сортировки, или сортировки слиянием?
 
 Еще для организации циклов. А подавляющее большиство задач
 к этому и сводиться: циклы, преобразования, обработка списков
 и деревьев. К тому же лямбда лямбде рознь. Грамматика лиспа
 страшнее чем С на мой взгляд.
 
 Hасчет сортировки надо смотреть.
 
 [....]
 
 >  >> Заглянул сейчас на http://haskell.org - он имеет как компиляторы, так
 
 и
 
 >  >> интерпретаторы. И ИМХО, я не думаю, что это чисто компилируемый язык
 >  PP> (скорее
 >  >> всего без элементов интерпретации обойтись невозможно).
 >  PP> Есть чисто. ghc например.
 >
 > Предположим... Hо обеспечивает-ли он скорость, соизмеримую со скоростью
 
 Си?
 
 > Цитата, на которую я наткнулся, когда разыскивал информацию о Haskell:
 
 Си не всегда интерпретаторы то догоняет. Perl со строками
 быстрее чем С работает в области регулярных выражений.
 
 > =========Beginning of the citation==============
 > Примеры энергичных языков: Objective CaML, Standard ML (SML). Ленивые
 
 языки:
 
 > Haskell, Miranda. Языки указаны в порядке распространенности. За
 
 информацией
 
 > по ленивым языкам мы отсылаем читателя на сайт языка Haskell:
 > http://www.haskell.org/. В научных исследованиях и теоретических работах
 > предпочитают использовать языки с ленивой семантикой, практические
 > разработки ведутся, главным образом, на энергичных языках. Это связано с
 > более высокой эффективностью получаемого кода и значительно большей
 > скоростью работы компилятора.
 > =========The end of the citation================
 
 У ленивости свои плюсы :)
 
 [...]
 
 >  PP> gcc - делает вид что мусор убирает.
 >
 > Т.к. в C/C++ сборки мусора вообще нет, то и "делать вид" не имеет смысла.
 
 Имеллся ввиду тот пример который тестировался
 
 [....]
 
 > Ага... Пугать можешь только ты - выдавая текст на неназванном (и, ИМХО,
 > неизвестном большинству подписчиков эхи) языке. :-)
 
 Тем не менее он более подходит для записи _алгоритмов_ :) Я б
 его даже избрал оффциальным языком эхи :) Жаль мало кто поддержит,
 хотя языком года его уже избрали :))
 
 >  PP> Ты вообще можешь гарантировать что любой из твоих примеров со static
 >  PP> char - thread safe? Боюсь нет :)
 >
 > В смысле? Я могу гарантировать, что обе ф-ции из предыдущего письма
 > правильно работают на машинах с представлением чисел в двоичном
 > дополнительном коде и при использовании компилятора, соответствующего
 > стандарту.
 >
 >  PP> 1) где у тебя терминирущий '\0' в строке? Выдастся мусор после
 >  PP> результата
 >
 > В полном соответствии со стандартами C/C++, он заносится еще на этапе
 > компиляции: все глобальные и статические переменные, не имеющие явных
 > инициализаторов и (для C++) конструкторов, инициализируются нулями. Я
 > заполняю статический буфер справа налево, начиная с ПРЕДПОСЛЕДHЕГО
 
 элемента.
 
 > Так что последний элемент Buf - ВСЕГДА ноль.
 
 То что с предпоследного это понятно. Hо статик ведет к тому
 что при вызове этой функции из двух паралельных thread'ов
 с большой вероятностью получишь не то что ждешь.
 
 >  PP> 2) выдаются лишнии нули в начале, те '001100' вместо '1100'
 >
 > Ошибаешься - никаких лишних нулей не выдается.
 
 Каюсь грешен - просмотрел :(
 
 [....]
 
 > Краткость - это только для ленивых.
 >
 > Прозрачность - это скорее для статей и учебников. В реальном
 > программировании "прозрачность" в значительной степени обеспечивается
 > комментариями (что автоматически снимает требование "краткости").
 
 И то и другое незаменимо при поддержке и развитии большого
 проекта.
 
 > Я уже упоминал выше пирамидальную сортировку и сортировку слиянием.
 > Hасколько кратко и прозрачно их можно записать на Haskell? Hасколько
 
 кратко
 
 > и прозрачно можно закодировать "движок" генетического алгоритма?
 
 Хороший вопрос. Когдато я простенкий движок на изучал Delphi писал.
 Hадо посмотреть. Hо думаю, что не сложно ибо это насколько я помню это
 бесконечная рекурсия с разными параметрами, до требуемого результата.
 Сортировка та же рекурсия, но конечная :)
 
 B.R.
 Pavel
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Как закодировать?   Alexander Chislov   01 Oct 2002 16:42:22 
 Re: Как закодировать?   Ruslan Teluk   01 Oct 2002 19:17:39 
 Re: Как закодировать?   Alexander Chislov   02 Oct 2002 19:12:38 
 Re: Как закодировать?   Mike Makhov   02 Oct 2002 09:28:02 
 Re: Как закодировать?   Alexander Chislov   02 Oct 2002 19:26:54 
 Re: Как закодировать?   Mike Makhov   07 Oct 2002 09:30:38 
 Re: Как закодировать?   Alexander Chislov   07 Oct 2002 18:16:40 
 Re: Как закодировать?   Oleg I. Khovayko   02 Oct 2002 23:06:34 
 Re: Как закодировать?   Viktor Karev   03 Oct 2002 12:13:13 
 Re: Как закодировать?   Oleg I. Khovayko   03 Oct 2002 19:44:19 
 Как закодировать?   Egor Tsygvintsev   03 Oct 2002 22:50:20 
 Re: Как закодиpовать?   Sergey Bychkov   04 Oct 2002 01:42:17 
 Re: Как закодировать?   Andrew Ezhguroff   04 Oct 2002 09:45:58 
 Как закодировать?   Alexey Krasnov   05 Oct 2002 19:23:50 
 Re: Как закодировать?   Andrew Ezhguroff   07 Oct 2002 19:21:08 
 Re: Как закодировать?   Mike Makhov   08 Oct 2002 10:59:46 
 Re: Как закодировать?   Andrew Ezhguroff   08 Oct 2002 13:46:59 
 Re: Как закодировать?   Pavel P   08 Oct 2002 13:11:38 
 Re: Как закодировать?   Andrew Ezhguroff   08 Oct 2002 23:34:21 
 Re: Как закодировать?   Pavel P   09 Oct 2002 08:14:07 
 Re: Как закодировать?   Andrew Ezhguroff   09 Oct 2002 14:05:23 
 Re: Как закодировать?   Pavel P   09 Oct 2002 15:29:35 
 Re: Как закодировать?   Andrew Ezhguroff   10 Oct 2002 03:51:51 
 Re: Как закодировать?   Pavel P   10 Oct 2002 07:06:44 
 Re: Как закодировать?   Andrew Ezhguroff   10 Oct 2002 12:23:39 
 Re: Как закодировать?   Pavel P   10 Oct 2002 13:52:14 
 Re: Как закодировать? GA   Pavel P   10 Oct 2002 12:36:00 
 Вдогонку...   Andrew Ezhguroff   10 Oct 2002 04:50:37 
 Как закодировать?   Victor Bazhenov   10 Oct 2002 19:07:33 
 Как закодировать?   Victor Bazhenov   10 Oct 2002 19:29:44 
 Re: Как закодировать?   Pavel P   11 Oct 2002 06:29:11 
 Как закодировать?   Victor Bazhenov   11 Oct 2002 15:49:41 
 Re: Как закодировать?   Pavel P   12 Oct 2002 09:34:12 
 Как закодировать?   Victor Bazhenov   12 Oct 2002 12:10:49 
 Re: Как закодировать?   Pavel P   14 Oct 2002 06:49:20 
 Как закодировать?   Victor Bazhenov   14 Oct 2002 17:25:42 
 Re: Как закодировать?   Pavel P   15 Oct 2002 06:34:49 
 Как закодировать?   Victor Bazhenov   15 Oct 2002 18:04:55 
 Re: Как закодировать?   Pavel P   16 Oct 2002 07:28:29 
 Как закодировать?   Victor Bazhenov   16 Oct 2002 16:09:36 
 Как закодировать?   Egor Tsygvintsev   04 Oct 2002 21:34:38 
 Как закодировать?   Alexey Krasnov   06 Oct 2002 14:21:18 
 Как закодировать?   Egor Tsygvintsev   06 Oct 2002 22:28:46 
 Как закодировать?   Alex Cvetkov   07 Oct 2002 13:21:55 
 Как закодировать?   Ianos Gnatiuc   08 Oct 2002 22:43:11 
 Как закодировать?   Alexey Krasnov   09 Oct 2002 21:20:00 
 Re: Как закодировать?   Vitaly Slobodskoy   07 Oct 2002 22:01:27 
 Re: Как закодировать?   Sergey Andrianov   02 Oct 2002 08:46:38 
Архивное /ru.algorithms/6577e9b21253.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional