Balancer: Все сообщения за 2 Декабря 2005 года

 
ПнВтСрЧтПтСбВс
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

администратор
★★★★★
Zeus> Сильно не уверен :/ Надо знать, как работает данный язык

Вот они, Бальзаки! :D Acrobat-4, Photoshop-5, Opera-6 и концепции двадцатилетней давности :)

Я этот страх перешагнул в себе ещё во времена VB3 :D

Попробуй хотя бы GUI в Java попрограммировать - хочешь не хочешь, а придётся забить на то как оно работает :)

Zeus> Ну, простейший случай: одно дело, если в языке есть ленивые вычисления, и совсем другое, если нет. Оптимальные декларации будут разными.

Дык, это же оговаривается заранее! Ведь ты не станешь использовать foreach в Java 1.4 или объекты в классическом Си. Потому что их там просто нет :)

Zeus> Безошибочно писать программмы - это вообще... хм. Ну да ладно. Дело-то в том, что вопрос этот количественный. Начиная с некоего уровня сложности и самый что ни на есть БЛ не сможет держать всю структуру в голове. Придется довольствоваться пониманием "верхнего слоя" структуры и "примерным представлением" об остальном. А в таких условиях интуиция, имхо, таботает как раз лучше :)

Тут всё очень просто. Просто для БЛ и тяжело для ЧЛ. Как только структура становится сложной (а Чарльз Мур так и просто учил - как только число активных объектов структуры превысит 5+/-2 субэлемента), БЛ задачу факторизует автоматически. Для ЧЛ это уже неочевидно, требуются программные решения и накатанные методы. Сейчас, вот, работая в проекте l2j очень здорово это вижу :)

Если структура сложная - разбей её на две законченных структуры и соедини их в примитивную структуру из двух элементов. Уж два-то элемента связать будет по силам :)

Zeus> Ко всему, не надо забывать, что любой логик силен и в БЛ, и в ЧЛ, и даже витальной вполне можно пользоваться :)

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

Zeus> Да я не об этом... Я просто думаю, обязательно ли вообще понимание "структуры программы" именно в БЛ-виде? В ООП, например, взаимодействие объектов очень удобно представлять именно в динамике, как "жизнь", само взаимодействие...

Не-а. Как ни крути, а ты сам пишешь - взаимодействие объектов. А это явное белое. Значит, либо БЛ, либо БС. Если допустить неявное (что, на самом деле, сразу сделает структуру менее адекватной), то получатся БИ или БЭ. Но никак не ЧЛ :D ЧЛ изучает объекты, но никак не связи.

Zeus> Трудно с ходу объяснить. А имплементация объектов - это уже вообще ЧЛ.

А вот я имплементация объектов затрудняюсь аспектизировать :) М.б. и ЧЛ, хотя динамики я там не вижу.

Zeus> Хотя, при сложной иерархии опять структура получается довольно сложная. Но, в общем-то, не шибко, топологически особенно.

Вот-вот. И опять бы БЛ-задачу рассматриваешь :D

>>>Функциональные - это как раз чистая статика :)
Balancer>> Ты не с той точки зрения смотришь :) Функциональные языки - это БЛ-подпорка для ЧЛ-программистов :D [»]
Zeus> Почему не стой? Я со всех смотрю ;) Мне действительно неудобно в статике (декларациями) программировать. Противоестественно :) [»]

ФП в статике - это нонсенс. Там все виды записей практически - динамика :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
TEvg> Ха литры ртути.. все это меркнет перед опасностью обыкновенного телевизора. [»]


Ха. Тонны тротила. Всё это меркнет перед опасностью обыкновенных спичек.

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

Balancer

администратор
★★★★★
-exec-> но интересно посмотреть в глаза программеру, который не отлавливает переполнение целого и прочий слегка менее видимый гемор во входных данных.



(я там, правда, уже не состою, неприятная вышла история... для них... :D )

ВСЯ эта команда АБСОЛЮТНО не заботилась о переполнении, пока на их игровом сервере народ не начал продавать/покупать игровых вещей так, чтобы произведение стомости вещи на их количество вызывало переполнение 32-х битных сумматоров, получая на халяву миллиардные суммы денег. Как они потом неделю это дело затыкали - со стороны смешно смотреть было :) (в нашем-то форке это было заткнуто почти сразу)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

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

Balancer

администратор
★★★★★
Нет, тащусь я от deltup...
code text
  1. >>> emerge (1 of 10) x11-libs/gtk+-2.8.8 to /
  2. ...
  3. Trying to download gtk+-2.8.7.tar.bz2-gtk+-2.8.8.tar.bz2.dtu
  4. ...
  5. -12:32:27-  http://www.rthwlr.net/ddeltup/gtk+-2.8.7.tar.bz2-gtk+-2.8.8.tar.bz2.dtu
  6.            => `gtk+-2.8.7.tar.bz2-gtk+-2.8.8.tar.bz2.dtu'
  7. ...
  8. Длина: 293.608 (287K) [application/x-tar]
  9. ...
  10. 12:32:28 (277.18 KB/s) - `gtk+-2.8.7.tar.bz2-gtk+-2.8.8.tar.bz2.dtu' сохранён [293608/293608]
  11.  
  12. GOT gtk+-2.8.7.tar.bz2-gtk+-2.8.8.tar.bz2.dtu
  13.  
  14. Successfully fetched the dtu-file - let's build gtk+-2.8.8.tar.bz2...
  15.  
  16. gtk+-2.8.7.tar.bz2 -> gtk+-2.8.8.tar.bz2: OK
  17. cleaning up
  18. This dtu-file saved 11 MB (97%) download size.


Итого вместо 11Мб полных сорцов всего 290кБ дельты :) А, ведь, и покруче быват эконмия...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Bobo> Вы имеете ввиду — тоже неудачники? :D [»]

Ты имеешь в виду, что мы - неудачники?
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
AidarM> Да. (Inf==Inf)=1
AidarM> ЗЫ. Но (NaN==NaN)=0 :) :) :) Молодцы. :) [»]

Даже Java такое знает. Чего удивительного, что это знает МатЛаб? :D

$ echo 'double x = 1.0/0.0; System.out.println(x+"; "+(x==x));'|bsh.Interpreter
bsh % Infinity; true

echo 'double x = 0.0/0.0; System.out.println(x+"; "+(x==x));'|bsh.Interpreter
bsh % NaN; false

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

Balancer

администратор
★★★★★
AidarM> 'Таких нАберут в программисты! Таких нАберут в программисты...' :D

Как вам иные решения это команды?
if(a<0) a *= -1;

или сперва результат перевести в проценты, ограничить нулём и сотней, а потом сравнивать со случайным числом от 0 до 100:
r = r * 100.0;
if(r<0) r = 0;
if(r>100) r = 100;
if(r<rnd())
return true;
else
return false;

:D (почти буквально)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
** Сообщение с ограниченным доступом **
** Сообщение с ограниченным доступом **
** Сообщение с ограниченным доступом **

Balancer

администратор
★★★★★
смотрим 7-й пункт на OZON.ru - Ошибка 404 | Ошибка 404 :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

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

Переговоры инопланетян угрожают компьютерной безопасности





Американский физик пришел к выводу, что поиски сигналов внеземных цивилизаций могут представлять серьезную угрозу безопасности земных компьютерных систем, пишет в пятницу газета The Guardian.

В очередном номере журнала Acta Astronautica ученый Ричард Керриган (Richard Carrigan) утверждает, что при расшифровке перехваченных в рамках проекта по поиску внеземных цивилизаций (SETI) космических электромагнитных волн может произойти масштабный сбой в работе компьютеров.

Дело в том, что полученные сигналы рассылаются через Интернет для анализа на компьютерах добровольцев, принимающих участие в проекте. Пользователь загружает специальную экранную заставку, которая обрабатывает данные, пока компьютер не используется владельцем.

До сих пор ученым не удалось перехватить ничего кроме вспышек радиации и отдаленного эха "Большого взрыва". Однако, предостерегает Керриган, более мощные телескопы и компьютеры вскоре позволят зафиксировать сигнал инопланетян.

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

Между тем, компьютерные специалисты отмечают, что для взлома компьютера или для написания вируса необходимо знать принципы работы операционной системы. Скорее всего, земные компьютеры для инопланетян будут такой же загадкой, какой пришельцы являются для землян, указывает The Guardian.

// Lenta.ru: Из жизни: Переговоры инопланетян угрожают компьютерной безопасности

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

Balancer

администратор
★★★★★
Ждать выходных. Постараюсь отловить баги в новом движке :) После этого и БД можно будет посмотреть.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Взято с linux.org.ru
vista_lol.png (скачать) [757x208, 4,1 кБ]
 
 
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
404-я ошибка, взято с Просто юмор [Bredonosec#01.12.05 14:51] :)
20084eb.gif (скачать) [512x188, 197 кБ]
 
 
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Zeus> Во! Хороший пример. Можно бы и забить. Но факт в том, что Джава сама рисует все элементы. И работает это отвратительно. Хрен бы с ним - медленно, тут всегда можно возразить, что, мол, дешевле компьютер более быстрый купить. Но ведь до ужаса глюкаво. Колеса у мыши работают неправильно (причем только в джава-приложениях, т.е. это ее вина), перерисовка окон глючит - да вообще, список можно растянуть надолго. Если это цена "новизны" концепций, то нафиг мне это надо. Лучше потратить больше времени на написание, но сделать качественно.

Э... Мсье видел Azureus? Eclipse-SDK? Coccinella? :) Замечательные приложения. Если что и не по душе, так это то, что по дефолту интерфейс имеет свой Java-стиль, а не системный, скажем, GTK. Он неплох, но хочется единообразия :)

Zeus> Ну так получается, я должен сначала знать, что это такое и как работает!

Нужно знать что там есть. Это всегда и для всего. А вот как оно работает - тебе не пофиг ли? Ты же не хочешь в своей программе заниматься отрисовкой каждого пиксела? Более того - управлять выводом каждого бита в ЦАП :)

Zeus> А я вижу, я говорил, простейший вариант восприятия - поток команд.

А как же асинхронность тогда? :)

Zeus> Вот смотри. Я пишу: fibb(x)::=fibb(x-1)+fibb(x-2). (Не будем углубляться в конечные условия и вообще усложнять :)). Само это утверждение - чистая статика. Ничем не лучше fibb(x)::=x :). При выполнении оно развернется в некие динамические действия, но какие именно - тут как раз зависит от компилятора (например, некоторые развернут это в цикл); собственно, ФП и предполагает, что этим я не буду задаваться, а буду писать только декларации - в том виде, в каком мне удобно их выразить.

В этом контексте - согласен.

Zeus> To есть динамику у меня отбирают! [»]

У тебя не динамику отбирают, а рутину :) Или ты собрался в машинных кодах писать? :) По мере роста вычислительных мощностей компьютеров, объём задач, которые они могут решать эффективнее программиста всё растёт. Сначала - расстановка адресов при переходе от машкода к ассемблеру. Потом - макросы. Императивные конструкиции. Сейчас приходит время конструкций функциональных. Компьютеры становятся слишком сложными, чтобы эффективно расписывать задачу на последовательность действий вручную. Решая эту задачу вместо компьютера ты теряешь в производительности :)

А, возвращаясь к исходной постановке задачи, ФП-языки с тебя, как с ЧЛ, и снимают чернологичную рутину. Да, ты бы и сам её легко, может быть, сделал, но компьютер это сделает лучше. А ты сможешь больше внимания уделить тому, что для тебя сложнее - БЛ :)

...

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

Balancer

администратор
★★★★★
Zeus> Типичные ЧЛ -глюки :D [»]

Как всякий творческий ЧИ вижу несколько смыслов фразы и два из них равноправны:
- Эти глюки характерны для чёрных логиков
- Это характерные ЧЛ-глюки не чёрных логиков

Что ты имел в виду? :D

...

А, вообще, команда исключительно чернологичная. Единственным БЛ там был я. Пока они не провернули совершенно непонятную БЭ-разводку, в результате которой я от них свалил :) Беда в том, что сейчас в уже моей команде - тоже в основном или ЧЛ или люди с сильным ЧЛ-воспитанием. Где взять опытных БЛ-программеров? :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
AidarM> Например, всегда существует одно знаковое целое число, модуль которого в выделенный тип не попадает. Приходится выделять больше памяти, что для операции умножения обычно предусмотрено всегда. Для short int это -128, для int -32768 и т.п. Они и 0 инвариантны относительно ассемблерной операции смены знака. :) Над языками не измывался, не знаю. [»]

Гы. Там речь идёт о signed long (±231), а диапазон значений измеряется сотнями :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Сабж. Требования (не в порядке приоритета):

1. Автоматический рулёж памятью.
2. Экономное обращение с памятью операционной системы.
3. Высокое быстродействие (нативный или байтовый JIT-код).
4. Жёсткая типизация.
5. Строгий синтаксис.
6. Неизбыточный синтаксис (минимум лишней писанины).
7. Развитые библиотеки - сеть, регулярные выражения, GUI.
8. Автоматическое распараллеливание задач
9. Полноценная межплатформенность хотя бы на уровне исходников.

Ваши кандидатуры? :)

Примеры:
Java
- хорошо по 1, 4..7, 9
- умеренно по 3, 8
- отвратительно по 2

C++
- хорошо по 2, 3, 6
- умеренно по 4, 7, 9
- отвратительно по 1, 5, 8

Форт
- хорошо по 2, 3, 9
- отвратительно по остальным :)

Интересуют в первую очередь функиональные языки из-за пункта 8.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
Это сообщение редактировалось 03.12.2005 в 10:29

Balancer

администратор
★★★★★
По скорости/памяти/объёму кода.

Прекрасный синтетический бенч по куче языков, с возможностью попарного сравнения. Вот общий топ: Computer Language Benchmarks Game

Вот, для примера, сравнение Java и G++ - Computer Language Benchmarks Game
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

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