Balancer: Все сообщения за 28 Мая 2003 года

 
ПнВтСрЧтПтСбВс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Balancer

администратор
★★★★★
>Гм, сбой. Верхнее читать в контексте заявляния. А тут ещё статические с внешними связями (DLL)... COM, кстати, по умолчанию использует статическое вязывание. А динамическое - только через хитрости... Вот, возможно, откуда иногда программы на VB оказываются быстрее, чем на C++

Ой, Гриш, а ты кроме C++ (and like) что-нить ещё использовал всерьёз? :)

А по существу - что тебе не понравилось? Ну перепутал я COM и CORBA, с кем не бывает... Или ты про VB/VC? Это факт, что на COM-вызовах VB нередко выигрывает у VC. Что, впрочем, не отрицает его тормознутость на чисто вычислительных задачах :) Хотя и тут он ноздря в ноздрю, порой, с VC идёт. Тебе конкретные тесты поискать? :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Resurrector>Тот, кто сделает работающую хоть на 50% систему, того я признаю великим гением и буду ему рабом до конца своей жизни.

Не давай, Гриш, опрметчивых обещаний :) Чую я, на тех же Haskell или OCaml это не так уж сложно... Только я, во-первых, их плохо знаю, но это ерунда, всё то же самое можно хоть на Perl'е слепить, хоть даже на C++ (хотя это уже совсем изврат будет), а во-вторых, главное, я морфологию изучал последний раз лет 15..17 назад :)

Тут сложность не концептуальная, а в редких слишком пересечениях хорошего знания филологии и программирования :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★


Cut


Существует множество задач, для которых требуется сделать разбиение слова.
аиболее часто разделение слова используется в текстовых редакторах.
апример, нужно разбить слово для проставления переносов. Также деление слова
на корень, окончание необходимо в различных поисковых системах, например,
поисковых системах Интернета.
Идея программы состоит в том, чтобы использовать частотно-контекстный анализ
символов и их сочетаний для разделения слова. Итогом работы является программа,
написанная
на языке ТURBO PASCAL 7.0. Выполнение поставленной задачи осуществляется в два
этапа: "обучение" программы, а затем, используя полученные статистические
данные,
разбиение введенного слова.
еобходимо сначала ввести текстовый файл. Программа читает текст,
затем его обрабатывает. Она подсчитывает условную частоту каждой пары и
записывает результаты в массив. Запросив слово, которое нужно разбить на
части, программа в столбик выводит на экран все пары букв этого слова. апротив
каждой пары пишется условная вероятность появления второго символа после
первого и условная вероятность появления первого симвло перед вторым.
Если оба значения меньше 10% и они меньше соответствующих значений для соседних
пар, то в этом месте производится разбиение слова.
Примеры:
1). Слово - программа.
пара букв ab/a* ab/*b
___________________________________________________
п - р 24,96 92,41
р - о 21,99 24,15
о - г 5,29 4,94
г - р 13,48 20,57
р - а 21,24 23,32
а - м 7,66 6,12
м - м 0,21 0,20
м - а 8,49 8,16
Разделение будет следующее: про-грам-ма
2). Слово - дружба.
д - р 5,00 6,10
р - у 4,89 5,37
у - ж 3,68 3,25
ж - б 0,00 0,00
б - а 6,69 10,69
Разделение будет следующее: друж-ба
3). Слово - конференция.
Разделение будет следующее: кон-ферен-ци-я
К сожалению, иногда этот метод работает плохо. апример, слово ручеечек
она разделит следующим образом: р-уче-ече-к. С другой стороны преимуществом
метода является то, что он не зависит от языка,
поэтому написанная программа может быть использована для разбиения слов
английского, французского и немецкого и других языков.

Cut


http://groups.google.com/groups?hl=ru&lr=&...ONET.ftn&rnum=4
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Не по теме, но я тащусь :)

К РАЗРАБОТКЕ ТАТАРСКО-ТУРЕЦКОГО МАШИННОГО ПЕРЕВОДЧИКА
http://www.dialog-21.ru/archive_article.as...y=2002&vol=6078
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Resurrector>Мне вот безумно интересно, как ты такой системе будеш задавать порог "доброго тона"?

Ты на точность в 50% согласен :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>Ну, Ром, тут хоть фундамент надо знать...

Гриш, что-то мне подсказывает, что в области структур данных и алгоритмов опыта у меня, всё же, поболее :) Мне, правда, так и не довелось Кнута изучать, но и без него было много хороших теоретических книжек :) А вот ты, насколько я знаю, больше практик, чем теоретик :)

>Статика всегда быстрее динамики.

Не спорю. При прочих равных условиях. А вот тут VC и VB при вызове COM-объектов неравны. Для VB формат вызова "родной", а вот VC - требуется транслировать запрос в интерфейс COM-объекта.

Гриш, ещё раз, это не мои измышления, ко времени появления COM я под Win32 не писал уже ни на Си, ни на VB, это результаты разных тестов, которые в рунете появлялись во множестве не раз. А первый раз я вообще уже давно в "Компьютер Прессе" это видел, кажется. И был ужасно шокирован сим откровением, поскольку в то время высокомерно считал VB отстоем, а C++ - рулезом из рулезов :)

>Хоть и VB умеет справлятся с c++ vtable, native для него является dual interface (это они так называют "хитрость", позволяющая динамику) объекты.

Да при чём тут C++? :) COM для VB "родные"...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>Во уроды. У меня была такая-же идея. Точь-в-точь. Украли, гады. :angry:

Проснулся :) Я про такое думал сразу после появления VB, ещё во времена Win 3.1 :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Кстати, о птичках.




21. Для общего ознакомления не могли бы Вы выслать исходные коды Яндекса? Можно ли взглянуть на алгоритм Яндекса? Как часто он меняется?
Илья Сегалович, руководитель отдела поисковых систем компании «Яндекс»:


Мы скоро выложим (собираемся оформить страницу и написать лицензию) программу морфологического разбора "mystem" в публичный некоммерческий доступ. После опубликования принципов работы, возможно, откроем и коды.

Однако алгоритмы ранжирования и подавления спама или непотизма ни одна поисковая система не откроет никому и никогда.

P.S. Честно говоря, пересылая этот вопрос разработчикам «Яндекса», мы про себя улыбнулись, а получив ответ "присвистнeли" — такого ответа мы не ожидали! Браво, «Яндекс».




http://www.webclub.ru/events/searchengineq...stions/q21.html
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Кстати, COM таки позволяет и динамическое связывание. См. IDspatch

Эх, блин, до чего дошли извращения... :)

Пошёл я в свою любимую консоль, там уютнее... :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
По поводу обращений к COM:




Для работы с COM саму библиотеку времени выполнения необходимо инициализировать.

VC C++ CoInitialize или CoInitialize
VB Автоматически

Получить ссылку на объект:

VC C++ CocreateInstance или CocreateInstanceEx
VB New или CreateObject

С помощью указателя вызывать методы интерфейса.

Вызов методов другого интерфейса

VC QueryInterface
VB с помощью =

Если с указателем больше не надо работать, то его нужно деинициализировать:

VC Release
VB Nothing или выйти из области видимости

После окончания работы с COM его нужно деинициализировать:

VC CoUninitialize
VB автоматически




http://www.firststeps.ru/mfc/activex/r.php?41
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Блин, да даже тупая вычислительная задача. 40-е число Фибоначчи, рекрусивно. VB7:
code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]vbnet[/b]'</font>
  2.  
  3. <span style='color:#800000; font-weight:bold; '>Module</span> Fib
  4. <span style='color:#800000; font-weight:bold; '>    Function </span>Fib<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>ByVal</span> n <span style='color:#800000; font-weight:bold; '>As</span> Int32<span style='color:#808030; '>)</span> <span style='color:#800000; font-weight:bold; '>As</span> Int32
  5.         <span style='color:#800000; font-weight:bold; '>If</span> n <span style='color:#808030; '><</span> <span style='color:#008c00; '>2</span> <span style='color:#800000; font-weight:bold; '>Then</span>
  6.             Fib <span style='color:#808030; '>=</span> <span style='color:#008c00; '>1</span>
  7.         <span style='color:#800000; font-weight:bold; '>Else</span>
  8.             Fib <span style='color:#808030; '>=</span> Fib<span style='color:#808030; '>(</span>n <span style='color:#808030; '>-</span> <span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>+</span> Fib<span style='color:#808030; '>(</span>n <span style='color:#808030; '>-</span> <span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span>
  9.         <span style='color:#800000; font-weight:bold; '>End</span> <span style='color:#800000; font-weight:bold; '>If</span>
  10.     <span style='color:#800000; font-weight:bold; '>End</span> <span style='color:#800000; font-weight:bold; '>Function</span>
  11. <span style='color:#800000; font-weight:bold; '>    Sub </span>Main<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span>
  12.         Console<span style='color:#008c00; '>.</span>Out<span style='color:#008c00; '>.</span>Write<span style='color:#808030; '>(</span>Fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
  13.     <span style='color:#800000; font-weight:bold; '>End</span> <span style='color:#800000; font-weight:bold; '>Sub</span>
  14. <span style='color:#800000; font-weight:bold; '>End</span> <span style='color:#800000; font-weight:bold; '>Module</span>


Время вычисления - 5.3 сек.

То же самое, VC7, максимальная оптимизация, переменные через регистры:
code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]cpp[/b]'</font>
  2.  
  3. <span style='color:#004a43; '>#</span><span style='color:#800000; font-weight:bold; '>include</span><span style='color:#004a43; '> </span><span style='color:#0000e6; '><stdio.h></span>
  4.  
  5. <span style='color:#800000; font-weight:bold; '>int</span> fib<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> n<span style='color:#808030; '>)</span>
  6. <span style='color:#800080; '>{</span>
  7.     <span style='color:#800000; font-weight:bold; '>return</span> n<span style='color:#808030; '><</span><span style='color:#008c00; '>2</span> <span style='color:#808030; '>?</span> <span style='color:#008c00; '>1</span> <span style='color:#808030; '>:</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span><span style='color:#808030; '>+</span>fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  8. <span style='color:#800080; '>}</span>
  9.  
  10.  
  11. <span style='color:#800000; font-weight:bold; '>void</span> main<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>void</span><span style='color:#808030; '>)</span>
  12. <span style='color:#800080; '>{</span>
  13.     printf<span style='color:#808030; '>(</span><span style='color:#0000e6; '>"</span><span style='color:#0f69ff; '>%d</span><span style='color:#0000e6; '>"</span><span style='color:#808030; '>,</span>fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  14. <span style='color:#800080; '>}</span>


Результат - 4.3сек
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Блин, глючит, когда всё в одном. Придётся резать. Продолжаю:

Ну, до кучи уж и O'Caml:
code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]sml[/b]'</font>
  2.  
  3.  
  4. <span style='color:#808030; '>let</span> <span style='color:#800000; font-weight:bold; '>rec</span> fib n <span style='color:#808030; '>=</span>
  5.   <span style='color:#800000; font-weight:bold; '>if</span> n <span style='color:#808030; '><</span> <span style='color:#008c00; '>2</span> <span style='color:#800000; font-weight:bold; '>then</span> <span style='color:#008c00; '>1</span> <span style='color:#800000; font-weight:bold; '>else</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>+</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>;</span><span style='color:#808030; '>;</span>
  6.  
  7. print<span style='color:#808030; '>_</span>int<span style='color:#808030; '>(</span>fib <span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#808030; '>;</span>


4.0 сек.

В общем, VB уже явно не аутсайдер...

Ну, ещё немного, я разошёлся :D
code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]csharp[/b]'</font>
  2.  
  3.  
  4. <span style='color:#800000; font-weight:bold; '>using</span> System<span style='color:#800080; '>;</span>
  5.  
  6. <span style='color:#800000; font-weight:bold; '>class</span> fib_test
  7. <span style='color:#800080; '>{</span>
  8.     <span style='color:#800000; font-weight:bold; '>static</span> <span style='color:#800000; font-weight:bold; '>int</span> fib<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>int</span> n<span style='color:#808030; '>)</span>
  9.     <span style='color:#800080; '>{</span>
  10.         <span style='color:#800000; font-weight:bold; '>return</span> n<span style='color:#808030; '><</span><span style='color:#008c00; '>2</span> ? <span style='color:#008c00; '>1</span> <span style='color:#808030; '>:</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span><span style='color:#808030; '>+</span>fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  11.     <span style='color:#800080; '>}</span>
  12.  
  13.     <span style='color:#800000; font-weight:bold; '>static</span> <span style='color:#800000; font-weight:bold; '>void</span> Main<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>string</span><span style='color:#808030; '>[</span><span style='color:#808030; '>]</span> args<span style='color:#808030; '>)</span>
  14.     <span style='color:#800080; '>{</span>
  15.         Console<span style='color:#808030; '>.</span>Write<span style='color:#808030; '>(</span>fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  16.     <span style='color:#800080; '>}</span>
  17. <span style='color:#800080; '>}</span>


4.9 сек.

code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]perl[/b]'</font>
  2.  
  3. <span style='color:#800000; font-weight:bold; '>sub </span>fib
  4. <span style='color:#800080; '>{</span>
  5.     <span style='color:#800000; font-weight:bold; '>return</span> $_<span style='color:#808030; '>[</span><span style='color:#008c00; '>0</span><span style='color:#808030; '>]</span><span style='color:#808030; '><</span><span style='color:#008c00; '>2</span> <span style='color:#808030; '>?</span> <span style='color:#008c00; '>1</span> <span style='color:#808030; '>:</span> fib<span style='color:#808030; '>(</span>$_<span style='color:#808030; '>[</span><span style='color:#008c00; '>0</span><span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span><span style='color:#808030; '>+</span>fib<span style='color:#808030; '>(</span>$_<span style='color:#808030; '>[</span><span style='color:#008c00; '>0</span><span style='color:#808030; '>]</span><span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  6. <span style='color:#800080; '>}</span>
  7.  
  8. <span style='color:#800000; font-weight:bold; '>print</span> fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>


598.9 сек. Почувствуйте разницу :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
Это сообщение редактировалось 28.05.2003 в 01:52

Balancer

администратор
★★★★★
Трепещите, люди. Впервые за последние лет пять я написал программу на Java :D :D :D

code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]java[/b]'</font>
  2.  
  3. <span style='color:#800000; font-weight:bold; '>import</span> java<span style='color:#808030; '>.</span>lang<span style='color:#808030; '>.</span><span style='color:#808030; '>*</span><span style='color:#800080; '>;</span>
  4. <span style='color:#800000; font-weight:bold; '>class</span> fib
  5. <span style='color:#800080; '>{</span>
  6.     <span style='color:#800000; font-weight:bold; '>static</span> <span style='color:#008484; '>int</span> fibn<span style='color:#808030; '>(</span><span style='color:#008484; '>int</span> n<span style='color:#808030; '>)</span>
  7.     <span style='color:#800080; '>{</span>
  8.         <span style='color:#800000; font-weight:bold; '>return</span> n<span style='color:#808030; '><</span><span style='color:#008c00; '>2</span> <span style='color:#808030; '>?</span> <span style='color:#008c00; '>1</span> <span style='color:#808030; '>:</span> fibn<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span> <span style='color:#808030; '>+</span> fibn<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  9.     <span style='color:#800080; '>}</span>
  10.  
  11.     <span style='color:#800000; font-weight:bold; '>public</span> <span style='color:#800000; font-weight:bold; '>static</span> <span style='color:#008484; '>void</span> main<span style='color:#808030; '>(</span><span style='color:#008484; '>String</span><span style='color:#808030; '>[</span><span style='color:#808030; '>]</span> args<span style='color:#808030; '>)</span>
  12.     <span style='color:#800080; '>{</span>
  13.         <span style='color:#008484; '>System</span><span style='color:#808030; '>.</span>out<span style='color:#808030; '>.</span>println<span style='color:#808030; '>(</span>fibn<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
  14.     <span style='color:#800080; '>}</span>
  15. <span style='color:#800080; '>}</span>


5.5сек
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Продолжаю спамить :)

code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]python[/b]'</font>
  2.  
  3.  
  4. <span style='color:#800000; font-weight:bold; '>def</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>)</span><span style='color:#808030; '>:</span>
  5.     <span style='color:#800000; font-weight:bold; '>if</span> n<span style='color:#808030; '><</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>:</span>
  6.         <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#008c00; '>1</span>
  7.     <span style='color:#800000; font-weight:bold; '>else</span><span style='color:#808030; '>:</span>
  8.         <span style='color:#800000; font-weight:bold; '>return</span> fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>1</span><span style='color:#808030; '>)</span><span style='color:#808030; '>+</span>fib<span style='color:#808030; '>(</span>n<span style='color:#808030; '>-</span><span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span>
  9.  
  10. <span style='color:#800000; font-weight:bold; '>print</span> fib<span style='color:#808030; '>(</span><span style='color:#008c00; '>40</span><span style='color:#808030; '>)</span>        


426.6сек. Поражён. Я всегда считал его более тормозным, чем Perl :) В разы! :) (кстати, моя первая программка на Python :D)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Haskell
code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]def[/b]'</font>
  2.  
  3.  
  4. fib n = if n < 2 then 1 else fib(n-1) + fib(n-2)
  5.  
  6. main = print (fib 40)


26.3 cек
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Нет, я не удержусь!! :D Это нечестно, но:
code text
  1. fibz = 1 : 1 : [ x+y | (x,y) <- zip fibz (tail fibz)]
  2.  
  3. main = print (fibz !! 40)


0.07 сек.

fib 50000 вычисляется за 3.9 сек, все 10452(!) знака числа :) Ленивые вычисления - рулез :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Ладно, про винду не будем. У меня на работе файлсервер дизайнерами буквально насилуется каждый день (открывают прямо с сети файлы по 70Мб, стомегабитку затыкают вусмерть) - и ничего, предыдущий аптайм был ~150+ суток, и перезагрузиться пришлось из-за установки сервиспака :)

В общем, бубен админский нужен, чтобы с ним вокруг бегать и стучать :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
ComputerMage>Смотрю я на это и у меня смутное ощущение, что Хаскел имеет корни от Пролога :D[/i]

Там длинная цепочка... Где-то у меня был ОГРОМНЫЙ рисунок с росписью, кого родил Адам, а кто родил Иакова... Ведь, даже на Авиабазе его кидал где-то... :-/

А! Нашёл! :)

http://airbase.ru/forums/index.php?s=&act=...l=haskell&st=30

На тему Хаскелла смотреть вторую схему.

Увы, прямым потомком Пролога он не является :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Список языков и количества проектов на них на Sourceforge.

C10925
C++10631
Java8833
PHP6636
Perl4604
Python2409
Visual Basic1375
JavaScript1212
Unix Shell1120
Delphi/Kylix1095
Assembly1024
C#774
PL/SQL730
Tcl667
ASP382
Objective C351
Lisp246
Pascal235
Ruby221
Assembly173
Object Pascal155
Scheme149
ML106
Zope101
Fortran90
Cold Fusion81
Ada66
Prolog64
Eiffel59
Forth49
Smalltalk45
Rexx27
XBasic24
Erlang22
PROGRESS15
Pike13
REBOL12
APL11
Euphoria9
Logo9
Modula3
Euler
Other
Simula


http://sourceforge.net/softwaremap/trove_l...hp?form_cat=160
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>PS: В ЛИнухе я почти не юзаю Иксы, предпочитаю консоль + mc

Ага, как и я :) Если в консоли я ещё хоть что-то знаю, то в иксах "общий налёт" часами измеряется :) Но у меня - вынужденное. На десктопе винда, а линуксовых серверов у меня хоть и было немало (правда, Авиабаза - первый по-настоящему "ответственный" и который много ковырять приходится), но все стояли где-нибудь под столом и без монитора :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Таких процессов, отключение которых у тебя дисплей с клавиатурой убъёт я не знаю :) Или названия у них настолько самоочевидные, что сразу и не вспомню :) Вот если удалённо - то осторожным нужно быть. А так - вырубай, не боись :) Можешь все непонятные из "Auto" в "Manual" по типу запуска переключить, а потом, после перезапуска, посмотришь, кто из них запущен окажется и уже индивидуально разберёшься :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
За показ баннера у нас деньги не платятся :) Только за клик. Вчера - 33 клика и $1.4 Не окупается... Словом, надо всё равно спонсора искать. И клиентов на хостинг :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
В Опере всё подкрашено. В IE с работы гляну. В Компьютерном вчера наблюдался глюк - Опера подкрашивает, Мозилла и IE - не всюду. При том, что раскраска всюду одинаковая, через span/style...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Заметь, МНЕ это и не нужно! Я ж под конкретную задачу ищу, и Serge77 тоже

Заметь, что я в самом начале топика и посоветовал ноутбук :)
А сейчас только ответил на то, почему 5mx стоит так дорого :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Прологе распространялось свободно для некоммерческого использования в виде длл.

Опять DLL... :-/
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Рома, для меня ДИНАМИЧЕСКОЕ связывание это когда

Короче, я вчера окончательно убедился, что общепринятой терминологии на эту тему НЕТ. Повторюсь, люди достаточно продвинутые, один, например, C++ считает языком с динамическим связыванием методов, другой - Хаскелл за статику держит. В общем, спор бессмысленный, выходит, т.к. один доказывает, что крокодил летит на сервер, а другой, что он фиолетовый :)

>Ты почему то считаешь что ДИНАМИЧЕСКОЕ связывание это возможность вызвать метод по имени.

Потому что иного способа вызвать код, который ещё неизвестен на этапе линковки нет. В C++ при линковке тебе уже известны все вызываемые функции, из параметры и т.п. посмотри ещё раз свой же ассемблерный листинг. У тебя все виртуальные таблицы - статические. Все вызовые известны к мроменту сборки и предопределены.

DLL в качестве аргумента не приводить, т.к. это просто отложенная до запуска линковка. В теории программирования она называется статическим внешним связыванием.

>То что в С++ определяется какой метод будет вызван только в runtime я тебе продемонстрировал в последнем примере.

Ты продемонстрировал только статическое связывание. Повторюсь, таблицы виртуальных функций у тебя - статические, их содержимое известно ещё на этапе компиляции.

Кстати, нашёл интересную ссылочку на эту тему: http://grizlyk.chat.ru/badd/10.htm ("Т.Бадд, "ООП", глава Подклассы и подтипы").

Резюмируя:



Связывание методов в этом языке является довольно сложным. Для обычных переменных (не указателей или ссылок) оно осуществляется статически. Но когда объекты обозначаются с помощью указателей или ссылок, используется динамическое связывание. В последнем случае решение о выборе метода статического или динамического типа диктуется тем, описан ли соответствующий метод с помощью ключевого слова virtual. Если он объявлен именно так, то метод поиска сообщения базируется на динамическом классе, если нет?? на статическом. Даже в тех случаях, когда используется динамическое связывание, законность любого запроса определяется компилятором на основе статического класса получателя.




Или, моими словам, виртуальные функции у него всё-таки с динамическим связыванием, но со статическими ограничениями :)

Кстати, RTTI я сознательно не рассматривал :P Я с ним просто не работал в своей практике, да и не поддерживал его никто ещё тогда.




Хотя программист и может использовать этот метод для обращения полиморфизма, недостаток такого способа состоит в том, что требуется добавление методов как в родительский, так и в дочерний классы. Если из одного общего родительского класса проистекает много дочерних, метод становится громоздким. Если изменения в родительском классе не допускаются, такая техника вообще невозможна.




Ну и т.п.

В общем, опять вопрос терминологии...

Думаю, на этом можно сей спор и завершить или направить его на какие-то более конкретные вещи. Правых и неправых не найти :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Эх Рома, ну откуда ты эту глупость взял?

Ссылку я давал :)

>VB - не автоматически, а среда вызывает ТОТ-ЖЕ метод CoInitialize.

Речь идёт, безусловно о взгляде с точки зрения пользователя. С точки зрения же системы, я в потрохах не копался, более того, ни одной COM-программы не писал, но читал, что типы данных, которые нужно предоставлять COM-вызовам - родные для VB и "внешние" для C++. Т.е. в последнем случае требуется преобразование. Пусть даже скрытое во внутренних реализациях класса. Потому и случается, порой, проигрышь по скорости. А учитывая, что VB сейчас весьма мало (пусть даже только в таком дурацком тесте, как рекурсивный Фибоначчи) проигрывает VC и в обычной работе.

Если кто-то даст примеры работы с COM на VB и VC (в консоли, IDE мне на 800x600 утомительно гонять), могу погонять тесты на эту тему :)

>Просто ты этого не видишь. Это не ограничения языка, это платформа Win32 требует сделать этот вызов что-бы настроить все необходимые буфера, параметры, и протчая для процесса который будет работать с COM.

Ну, автор писал с точки зрения пользователя, а не с точки зрения механизмов работы.

>То-же самое, оператор = в тихую дергает все нужные методы.

Вот тут, возможно, собака и порылась. В VB, судя по тем мурзилкам, что я читал, преобразований типов меньше. Но я могу и ошибаться, повторюсь, сам с этим не возился :)

>То-же самое. Тебя же не удивляет то что файл за собой надо-бы закрывать.

Ой, удивляет :) В Python вобще всю жизнь читают в духе data=file(filename).readlines() :) В Perl'е я файлы для чтения тоже нередко не закрываю. Система закроет при выходе :))

timochka>Кстати существуют СОМ объекты не реализующие метод IDispatch. Но они прекрасно работают и ничего от этого не теряют. Только VB не может их вызывать. :)

Гм-гм-гм... А как на счёт этого? http://www.rsdn.ru/article/default.asp?cor...CORBA_Tests.xml Там на VB два теста со статическим вызовом и только один с динамическим (IDispatch)?
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Ром, это наиболее распространенная форма библиотек в Виндах. С ними удобно.

Понимаешь, морфологический анализ - это в первую очередь или для поисковых систем, или для систем анализа текстов и т.п. И тем и другим под Windows занимаются мало :) Ты хоть один сетевой поисковик на Win-платформе знаешь? :D Не знаю, как сейчас, но даже MSN (исключая фронтенд, правда) ещё недавно на BSD был, кажется :)

>Я просто к тому что надо поискать готовые библы - они есть

Ну и что мне с ними делать? :) Ты можешь себе представить нормальное удалённое идминистрирование Windows-машины? Я - пока нет. Тенденции к этому есть, вон, telnet-сервер, наконец, в стандартную поставку включили... Только что с ним делать? Пока это больше игрушка :) Поэтому, пока *nix на сервере незаменим эти DLL годятся только для игр и экспериментов :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
timochka>Похоже это обсуждение надо тоже завершать. А есть тут что-то флеймо образующее.

Выбор КПК, при всей личной убеждённости выбирающих, вопрос в немалой степени религиозный. А любое околорелигиозное обсуждение провоцирует флейм :)

С другой стороны, а что плохого в хорошем продуктивном флейме? :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
asoneofus>Мне вот линь - нравится, а процы от интела (пда-шные) нет.. Вот делемма-то :)

Ты у нас на все руки мастер, бери MIPS, портируй на него Линь :D А, вообще, нет, ну чем тебе ARM не нравится? Тем более, что это же архитектура не Интела, мало ли что он их производит :) RISC, 13 регистров общего назначения, удобнейшая система команд - красота, а не проц! Стоял бы такой на десктопе... Эх... :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Balancer>Пожалуй, буду всё-таки брать ноутбук. Это чуть дороже, чем КПК, но возможностей для меня гораздо больше.

И правильно :) Только старайся с USB найти :) И чтобы аккумулятор не совсем ещё дохлый.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Кстати, вот ещё неплохая, вроде, статья на тему критики виртуальных функций C++ - http://www.osp.ru/pcworld/2001/08/136_print.htm




Если автор родительского класса в языке Си++ не предвидит, что класс-потомок захочет переопределить функцию, то он не сможет сделать ее и полиморфической. В этом заключается наиболее серьезный порок Си++, поскольку снижается гибкость программных компонентов, а следовательно, и способность создавать адаптируемые и расширяемые библиотеки.

[...]

Когда родительский класс проектируется программистом, то приходится только догадываться, может ли быть функция переопределена или перегружена. Класс-потомок способен перегружать функцию в любое время, но это не соответствует более важному механизму полиморфизма, когда автор родительского класса должен точно задавать, что процедура будет виртуальной. Тогда компилятор установит коммутирующую запись для данной функции в таблице переключения классов. Значит, на программиста ложится забота обо всем том, что автоматически должно выполняться самим компилятором и что совершает компилятор в других языках.


… чтобы понять рекурсию, нужно сперва понять рекурсию …  
Это сообщение редактировалось 28.05.2003 в 14:39

Balancer

администратор
★★★★★
ing>Ответте пожалуйста кто- нибудь, что значат точки на конвертах отмечающих некоторые темы?

Кажется, темы, начатые тобой. Но, во-первых, в коде это не очень понятно, во-вторых, для старых тем это может работать неправильно.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Про ассемблеры - не знаю, но у них и Zope отдельно от Python :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>Идея Ромы о том, что можно вызвать любую функцию по имени ничем отличается от идеи вызова по номеру

Отличается. Имя ты сам даёшь, номер - компилятор присваивает. Рекоменую, всё же, ссылочку на счёт критики виртуальных функций C++ почитать, очень интересная статья :)

>А кроме того, только имени недостаточно. Надо и результат и параметры описывать.

Не надо, если ты во время работы программы можешь динамически функцию определять, то и тип параметров - подавно.

>Вот тут с динамикой, как правило, полная лажа. Недаром все интерфейсы заранее описаны. Иначе вызвать невозможно.

В C++ - да :) Но его с самого создания все критикуют за неполноценную объектность :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Shurik>Это большое упущение.

Когда ракетомоделисты захотели форум, я сразу сделал именно "Модельный", т.е. в т.ч. и авиамодельный. Но у них сепаратистские настроения возобладали, они потребовали отделения, мотифируя тем, что авиамоделистов всё равно нет и т.п. :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Да, перерыв кучу ссылок, так и не нашёл примеров, где VB быстрее VC. Однако и где бы он был заметно медленнее - тоже не нашёл :) Фактически, по скорости работы программы они сейчас очень близки (см. вчерашний мо тест хотя бы). Хотя ещё пороюсь на эту тему. Но, как минимум, на VB подключать COM-объекты гораздо проще :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>объясни мне бестолковому, как ты собираешься подготавливать параметры для вызова не зная их семантики?

Ладно, Perl или PHP не аргумент, там типов как таковых нет, но как это, например, в Python сделано? Довольно жёсткое типизирование, при этом исключительно динамическое связывание. Кстати, с Хаскеллом я не прав был, действительно язык с очень жёстким и статическим, на этапе компиляции типизированием. Вообще, есть мнение, что на сегодня это самый "безошибочный" ЯВУ, в том смысле, что ни в одном другом языке столько ошибок на этапе компиляции не отлавливается :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>Вообще, я смотрю на VB как на собиралку компонентов

Только, заметь, она нынче и очень шустрая стала, эта собиралка :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Не... Я помягче предпочитаю... "Ария", "Пикник"... :)

Хотя у M.M. мне "Rock Is Dead" нравится :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Дык, ты посмотри даже Java какая шустрая нынче стала! Ты тесты-то мои вчерашние глянь! :)
Правда, это тестирование, преимущественно, вызовов, чем вычислений. Сегодня чего-нить более вычислительное слеплю :) Вот только что-то у меня программы на Jython после компиляции не запускаются, вот кого интересно было бы пощупать :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Shurik>Дык будет форум, будут и моделисты.

http://airbase.ru/forums/index.php?s=&act=SF&f=38

:)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Resurrector>Командная строка как интерфейс для десктопа умерла давно.

Это ты зря. Если не считать время, потраченное на Интернет-браузинг, почту, и игры, то процентов 90 оставшегося времени я в консоли провожу (в основном - FAR). Из них, наверное, треть времени - в консоли :) Ну быстрее так выходит и удобнее. Пока ты мышкой докликаешь куда надо... Я к тому времени уже 20 раз то же самое с клавиатуры сделаю :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
asoneofus>Понял, не дурак :) Т.е. структурный, это который работает с файлами *.S, а объектно-ориентированный, который делает файлы *.obj?
asoneofus>Ничего не напутал? :D

Всё напутал. Первый работает не с *.S, а с *.as :) (вопрос на засыпку, кто вспомнит где было такое расширение? Подсказка - имя было до пяти символов :D)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Вас от драки только офтопиком и можно спасать... А то, чуть что, как сишник с паскалистом... :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Чтобы понять рекурсивность, сначала нужно понять рекурсивность.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Resurrector>Межпрочим, ты время как мериш?

Из-за того, что всякими microtime коды языков не грузить, то так:

code text
  1. <font size=1>Created with colorer-take5 library. Type '[b]Batch[/b]'</font>
  2.  
  3. <span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#0000e6; '>.|time>>fib.txt</span>
  4. fib.exe
  5. <span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#0000e6; '>.|time>>fib.txt</span>


С точностью до десятой секунды хорошо справляется, а нам больше и не надо :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Resurrector>В SourceSafe Check-In у меня в меню сидит. Только щёлкаеш и всё. Ты уверен, что напишеш "cvs.exe -d :pserver:bla@bla/bla commit" быстрее чем я щёлкну мышкой? :)

Я не смоневаюсь, что ты в этом частном случае, да ещё когда у тебя уже файл перед глазами, мышкой быстрее щёлкнешь. Вот только меню контекстное виндовое у меня и в консоли есть :) И даже графическое... Но дело не в этом. Сколько действий ты в меню посадить можешь? Ну, если монитор в высоком разрешении - пару десятков. Сколько ты времени потратишь, чтобы глазами пробежать и найти нужное? Вот тут я уже и набить могу быстре... А если у тебя редко используемая опреация и в контекстом меню её нет? Пока через Start -> Programs доберёшься, запустишь, в нужный каталог зайдёшь... Повесишься! А если операция частая, то я её или в .bat-файл из пары букв загоню, или в юзеровское меню FAR'а загоню, которое намного гибче и наворочаннее виндового контекстного :)

Гриш, поверь, было время, когда я от консоли совсем отказывался, и надолго... Где-то то ли во времена поздней Win95OSR2, то ли ранней Win98... Но потом к консоли снова вернулся. Быстрее и удобнее в общем случае :) Гораздо меньше лишних телодвижений, всё "под рукой"...

Кстати, в GUI тоже постоянно возиться приходится - у меня же куча клиентских компов, на которых постоянно что-то чинить приходится. И FAR'а там нет :) Но когда есть возможность предпочитаю консоль. Оно приятнее :)

Вот типичный цикл отладки скрипта Авиабазы:
F4/редактирование/Esc/Enter (на запрос Save?)/F5 (копирую на сервер)/Enter (Overwrite?). Всё. Не считая времени на редактирование - две-три секунды.

Сколько кнопок ты будешь нажимать, редактируя файл в отдельном текстовом редакторе, переключаясь в FTP-клиент, запуская копирование и т.п.? Хорошо, если секунд 15. Это уже очень много, если цикл повторяется десятки раз!

Это только один пример, а вообще у меня таких - десятки, если не сотни.

Вот, скажем, потребовалось Натке SMS послать. Я жму: Ctrl-2(я в каталоге Progs) Alt-I(выбрать Internet) Alt-S(SMS) Alt-N(Nata.bat) Ctrl-Enter(батник в командной строке) "Вводимый текст" Enter. Всё, ушло. Без набора текста - пара секунд. Теперь вариант с GUI. "Start -> Programs -> Internet -> Send SMS". Ждём загрузки, выбираем мышкой поле ввода, набираем текст, жмём отсылку... Всё хоршо, но выбор программы - это лишние секунды. Если меню Start забито, а это у родвинутого юзера норма - то ещё долгие поиски глазами нужной надписи... ТОРМОЗА! :)

Скорость - это первый аргумент. Второй - большинство утилит, работающих через командную строку не требует инсталляции. Соответственно, организовать их работу на другом копьютере, или провести переустановку Windows куда как проще. Вышеупомянутая программа отсылки SMS в консоли у меня пережила уже две переустановки винды. А вот GUI-шный вариант требует каждый раз переинсталлиции. Потому у меня его сечас уже и нет. Я задолбаюсь просто, если что, переустанавливать по новой сотни программ :)

Хотя, если нет хорошей моторной памяти, когда ты буковки и шорткаты жмёшь не задумываясь, просто продолжая свою мысль, то, м.б., GUI и хорошо :) Только я, лично, много времени трачу на обозревание картинок, прежде, чем найду нужное :)

Кстати, повторюсь, есть вещи, где GUI, наоборот незаменим. Тот же Web-браузер :)

Да и вообще, у меня и в GUI система довольно неплохо оптимизирована и настроена. Куча всяких примочек, приблуд, полезняшек...

Но пара-тройка копий FAR Manager'а у меня запущена практически всегда :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
>Раздает бесплатно. тут.

Yahoo! GeoCities: Get a web site with easy-to-use site building tools.

Yahoo! GeoCities offers you a free web site and all the tools you need to build a dynamic site. Features include easy-to-use site building tools, online help, web site statistics, secure and reliable hosting, and an intuitive control panel.

// www.geocities.com
 



Только я что-то там XML не нашёл. Всё подряд качать? Так Зализняк у меня есть. И вообще словарей горы :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
И вовсе это не PDP :) А славная система ORDOS :) Неужто никто с такой не работал?? :D Из здесь присутствующих, знаю, GAW возился... Там имя было ровно 8 символов. А расширений хотелось. Вот и писали по формуле 5+2 :) (точка тоже считалась). Кстати, признак запускаемости бинарника был знак "солнышка", коего нет в нынешних раскладках, что на месте бакса была. Тоже в имя входила. Так что запускаемые имена максимум из семи букв были. Правда, "солнышко", можно было и в середину загонять. Потому, например, мой "коммерческий" (я за него реально софта рублей на 120 ещё советских получил :)) синтезатор речи имел гордое имя РЕЧЬ$3 (знак бакса вместо "солнышка", ну да код тот же был)

:D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Пошла закачка. Ну, глядишь, с такими замахами мы не только семантический анализатор слепим, но и хорошего русского бота-болталку :D

Кстати, тут кто-нить PSYS'а помнит? :)

Я уже во времена Win95 его однажды к Winpopup'у в локалке прикрутил. В целом народ быстро просекал, но была пара бесед весьма приятных и содержательных, а один раз он помог товарищу решить какой-то трабл с его компьютером. По принципу "каши из топора", конечно :) Товарищ сам был на верном пути, но себе не доверял, переспрашивал у PSYS'а (думая, что со мной болтает), а тот ему вполне утвердительно овтечал обычно :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
asoneofus>Хе, нет - с таким извратом не встрЫчались... Мы больше по примусам и вмс-ам :)

Это была гордая такая машина, "Орион-128". 128 (до 256)кБ ОЗУ, ROM-диск 16кБ с операционкой (2кБ!), аналогом Нортона и прочей дребеденью, графический режим 384x256x16 :) И всё на 2.5МГц, на разогнанном КР580ВМ80А, с zero-wait, кстати! Процессор с видео в память синхронно лазали, друг другу не мешая.

Это был второй в жизни комп, который я паял... :)

Вот ORDOS - это его родная ОС :)

Потом, правда, были дисковод и CP/M и это уже было круто! Впервые я тащился от переносимости софта в бинарниках. Проги для Корвета или "Профи" шли в массе своей без проблем :)

asoneofus>А "солнышко" имело название "денежный знак" или деньзнак :)

А мы просто рублём звали. А у меня, когда вижу его приписанным куда-то с бейсиковских времён осталась дурацкая внутренняя "озвучка" - "символьное". Типа, A$ - "A символьная". А дурацкая, потому что, блин, задрало уже, за все три с лишним года плотного программирования на Perl так и не отучился Perl'овые переменные внутри так озвучивать. Они все с '$' начинаются. А сейчас и с PHP так :) А они никакие не "символьные", а "скаляры", блин. :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Это фанаты, им среди нас делать нечего. :D Хотя HTML-доки я тоже в текстовом браузере чаще читаю, в FAR'овском HyperView :) Он у меня на F3 на *.html висит :) Так просто быстрее даже, чем ждать, пока графический браузер загрузится :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Будем надеяться, что ещё при нашей жизни :) И что нас слишком уж осколками не зацепит :D

Хотя, развал одной Империи уже пережили, а развал двух Империй на одно поколение - такое "интересное время" ни одному китайцу не снилось, наверное :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Shurik>Су-30М.. Первый истребитель с УВТ.
Shurik>МиГ-25 Самый быстрый истребитель.

По обоим пунктам надо добавить "серийный" :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Я всё забываю выложить. Он у меня где-то дома в архивах лежит, а то времени искать нет, то забываю просто... Вот и сейчас я на работе... :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
TbMA>print scalar(fib(41))[/code]

0.06 сек. Реально, конечно, меньше. Но это нечестный приём, это даже не хвостовая рекурсия :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
У меня домашний Апач так щупают раз пять в день :) Я даже внимания не обращаю... Вот, в 18:18 сегодня последний раз ломились.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
А я - под пельмешки. Дзинь! :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Я, правда, немножко... Грамм 30. Ещё на работу снова бежать. Ну, побежал, собственно :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
http://airbase.ru/sim/flanker/files/flanker.zip
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
asoneofus>Хы... А я комп паял на КМ1810ВМ86 :)

"Поиск", что ли? :)

asoneofus>Мне все: Бери зю80, чё ты с этим г... возишься :)))

Ну и правильно говорили. Я на PC стал поглядывать только после того, как товарищ приобрёл к своей 286/12MHz подержанный Adlib :) А уж после подержанного же Sound Blaster'а (уже на 286-20) я продал свой Speccy и ушёл в кошмар DOS :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Маньки. Опера + режим показа только уже скачанных картинок. И всё на месте, и трафик тот же, только текстовый, и сжатие трафика gzip пашет, и все стили, и вообще красота :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Эволюцию программиста, наверное, все видели: http://www.cse.ogi.edu/~diatchki/jokes/programmer.html

А вот эволюцию Haskell-программиста я закидывал только в форум по Forth, так что, могли и не видеть :) - http://www.willamette.edu/~fruehr/haskell/.../evolution.html
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Ну что вы все всегда только за один пункт цепляетесь :D Есть сжатие - хорошо. А по остальным? :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru