gandjustas пишет: > Это нормально. Подумай что такое вообще олимпиады про программированию: > человек решает абстрактную (!) вычислительную (!) задачу в очень > ограниченное время (!) с жесткими требованиями по быстродействию (!) > (хотя иногда без таких требований).
> У тех кто часто участвует в таких олимпиадах появляется привычка писать > код "быстро" и "оптимально".
И это не единственные ограничения. Сверху спускаются языки, которые
можно использовать. Сверху спускаются библиотеки (как правило, только
стандартные), которые можно использовать. Таковы правила игры.
> О качестве такого кода промолчу.
Да какое там может быть качество? Вся программа умещается в голове.
> При таких исходных данных никакой архитектурой и не пахнет.
Я из–за этого и ушёл, и большинство уходит. Однако же не сказать, что
это было неинтересное прошлое.
Здравствуйте, hattab, Вы писали:
H>>>У меня первое место по республике среди выпусных классов.
___>>Наверное, это было настолько сильное впечатление для тебя, что тебя просто заклинило на Delphi
H>Свои откровения можешь оставить при себе... "Не судить... Жить по совести..." трепло
Я не вижу нарушений своих принципов. hattab, не надо подменять понятия. И обижаться тоже не надо.
Здравствуйте, hattab, Вы писали:
kuj>>>>>>>>Еще раз повторяю DES уж много лет как не применяется в свете наличия гораздо лучших шифров, как например Rijndael.
H>>>>>>>Да хоть каким современным будь здание, но если у него фундамент гнилой...
kuj>>>>>>Аргументируй.
H>>>>>Я для кого тут ссылки приводил?
kuj>>>>В чем "гнилость фундамента" шифра Rijndael? Давай по пунктам.
Присоединяюсь к вопросу.
H>>>Ппц... Про рандомные генераторы читал?
Выделенное — лежит в основе "фундамента" всей криптографии. Причем тут конкретно rijndael?
kuj>>Какое они имеют отношение к шифру Rijndael? Представь себе, я могу подставить любую реализацию ГСЧ. H>Да что ты пристал к этому AES??? Криптография AES'ом не ограничивается. Я же тебе сразу сказал о тенденциях...
Не будет откровением, если я скажу, что AES — это вообще-то не Rijndael в том смысле, что между ними есть небольшая, но существенная разница? Ты о каком из них сейчас говоришь?
H>>>>>>>Кстати, Rijndael не был лучшим по результам тестов на потенциальные уязвимости см. руководство TrueCrypt (там есть ссылочки на первоисточники).
Что никоим образом не говорит о "гнилости" его "фундамента", IMO.
KV>Не будет откровением, если я скажу, что AES — это вообще-то не Rijndael в том смысле, что между ними есть небольшая, но существенная разница? Ты о каком из них сейчас говоришь?
Хмм? Какая разница? Вроде именно Rijndael был принят в качестве AES сколько-то лет тому назад.
Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Не будет откровением, если я скажу, что AES — это вообще-то не Rijndael в том смысле, что между ними есть небольшая, но существенная разница? Ты о каком из них сейчас говоришь?
kuj>Хмм? Какая разница? Вроде именно Rijndael был принят в качестве AES сколько-то лет тому назад.
В AES, по сравнению с Rijndael, были введены ограничения на размер блока и ключа. А так — да, по сути — это один и тот же алгоритм.
Здравствуйте, kuj, Вы писали: kuj>Вообще говоря, коммерческих "наборов компонентов" для .NET тоже хватает. Навскидку: http://www.infragistics.com/, http://www.businessobjects.com/, http://www.devexpress.com/ и т.д. kuj>Кто и в каких проектах их использует я, правда, без понятия...
Джентльмены, я не очень понимаю ваш спор.
Граница между платформой и сторонними компонентами должна проводиться на основе интероперабельности.
Вот к примеру тип "строка" обязан быть в платформе (привет, C/C++) просто потому, что 99% сторонних библиотек будут использовать строки; отсутствие стандартного типа приведет к зоопарку неинтероперабельных CString/std::string.
Вот к примеру работа с HTTP обязана быть в платформе, заточенной для веба, потому что иначе опять будет зоопарк несовместимых между собой библиотек веб-компонентов.
И так далее.
С точки зрения визуальных компонентов крайне полезно наличие в платформе таких штук, как ITextControl, ICheckBoxControl, IValidator. Потому что они обеспечивают интероперабельность контролов от разных производителей.
А вот наличие в платформе контрола, сочетающего в себе дерево с таблицей, непринципиально. Если он потребуется, а платформа позаботилась о вышеперечисленном, то его можно будет легко докупить, имея 100% гарантию, что он заработает совместно с кодом от других производителей.
Получить платформу, которая не нуждается в сторонних компонентах, невозможно и не нужно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[33]: наши менеджеры памяти самые менеджеристые менеджеры
Здравствуйте, DOOM, Вы писали:
DOO>Здравствуйте, Sinclair, Вы писали:
S>>Получить платформу, которая не нуждается в сторонних компонентах, невозможно и не нужно.
DOO>Точнее даже, если и возможно, то изучать такой framework придется бесконечно долгое время
Здравствуйте, iyura, Вы писали:
I>Здравствуйте, _d_m_, Вы писали:
___>>Ну хорошо, теперь понятно. А то какие-то там фортрановские бла-бла-бла, которые еще я почему-то должен помнить :xz: . Я их не знал вовсе. Но если уж вопрос встал о многословности, то GE и >= имеют одинаковое кол-во символов, не находишь?
I>Ну про фортрановское бла-бла ты расскажи людям, которые вычислительной математикой занимаются ;) Я,например, работал в проекте в котором половина всего был фортран (финансы, оценка рисков)
I>Вот не помню точно, но в фортране >= это Greate Or Equal, т.е. GOE (три знака точно, но могу и ошибаться)
.GE. — четыре знака.
Например, так: IF(A.GE.B) ...
I>Но речь-то не о фортране (дедушка живее всех живых :) )
Пять лет назад — да. Сейчас что-то уже хуже — вижу его вымывание из расчётных задач.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Sinclair, Вы писали:
S>>Стековая ориентированность IL позволяет во-первых проводить дешевую верификацию кода, WH>Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода.
Зачем подымаете замшелые мифы? Любой код с goto _автоматом_ может быть трансформирован в "структурный" без знания используемого алгоритма. И опытный программист обычно пишет так (даже не задаваясь этой целью), что подобная трансформация может быть проведена с получением внятной конструкции, а не странной путаницы.
S>>а во-вторых генерировать достаточно эффективный целевой код на современных архитектурах. WH>Этому стековая модель ВМ тоже не помогает.
И чем она мешает?
WH>В любом случае funarg problem в C# появилась еще во второй версии и исчезать не соберается.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, kuj, Вы писали:
kuj>>Если такие кадры как ты побеждают на олимпиадах, то я начинаю откровенно сомневаться в уровне заданий на этих "олимпиадах". Чего только стоит твои гениальные алгоритмы, где парент и чайлд зависят друг от друга и должны в определенном порядке во время дестракшина производить еще какие-то вычисления... /моя плакать... G>Это нормально. Подумай что такое вообще олимпиады про программированию: человек решает абстрактную (!) вычислительную (!) задачу в очень ограниченное время (!) с жесткими требованиями по быстродействию (!) (хотя иногда без таких требований). G>При таких исходных данных никакой архитектурой и не пахнет.
Ну почему же.;) Совсем без архитектуры даже олимпиадная задача не заработает.
G>У тех кто часто участвует в таких олимпиадах появляется привычка писать код "быстро" и "оптимально". О качестве такого кода промолчу.
Умение быстро написать чтобы заработало — тоже полезно. А вот дальше должен быть опыт перевода такого результата без постороннего пинания в пристойный сопровождаемый вид. Вот этому уже действительно учатся не на олимпиадах.
Здравствуйте, netch80, Вы писали:
WH>>Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода. N>Зачем подымаете замшелые мифы? Любой код с goto _автоматом_ может быть трансформирован в "структурный" без знания используемого алгоритма.
Я в курсе. Более того его даже в функциональщину (хоть и грязную) трансформировать можно.
Но как это способствует выделеному?
N>И опытный программист обычно пишет так (даже не задаваясь этой целью), что подобная трансформация может быть проведена с получением внятной конструкции, а не странной путаницы.
А некоторые пишут на немерле... с паттернматчингом... Можешь посмотреть во что это превращатеся. Да и C# начиная с версии 2.0 тоже местами не подарок. Иди попробуй yield return реверснуть...
Да и стековая модель байткода не единственная проблема MSIL.
Его модель ничего не говорит про детерминированную финализацию. try/finally тот еще костыль.
Защита данных в многопоточной среде тоже мягко говоря не на высоте.
...
Знаю, знаю. Критикуя предлагай.
Я думаю. Красивая, практичная и при этом эффективно реализуемая модель ВМ задачка не простая.
WH>>Этому стековая модель ВМ тоже не помогает. N>И чем она мешает?
Большей сложностью анализа чем альтернативы.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, misha_irpen, Вы писали:
_>Сам я от большого программинга уже отошел, хотя по прежнему могу считать себя профессионалом Delphi и ASM. И у меня приактически никогда не возникало проблем из-за каких-то ограничений языка. Я с уверенностью могу сказать, что могу написать на нем абсолютно все что угодно в рамках имеющихся API и математических моделей. При этом практически никогда не приходится изобретать велосипедов и извращаться чтобы обойти ограничения языка или стандартных библиотек. В чем по вашему мнению я заблуждаюсь? Что такого рулезного есть в новомоюдых сишарпах и иже с ними кроме монстровидных, а часто еще и тормозных RTE/виртуальных машин?
Здравствуйте, _d_m_, Вы писали:
SB>>Не знаю как другим, но мне не нравится: SB>>1. SB>>
SB>>:=
SB>>
___>А по моему, так все правильно. По идее семантика оператора сравнения должна отличаться от оператора присваивания.
... ___>Ну да, несколько громоздко. Особено для тех, кто избалован С-подобным синтаксисом.
Ваш уровень, господа, поражает. Ты бы хоть на смайлик внимание обратил. Если разница между языками ограничивается разницей между лексемами, то языки идентичны, а споры кто из них лучше — это споры о вкусах.
Основная разница в языках заключается в их выразительности. Вот скажем реализуй на Дельфи следующую функцию:. На входе список строк содержащий слова русского языка. Слова дублируются. Задача подсчитать количество вхождений каждого слова и вывести их в формате: строка: количество вхождений. При этом все должно быть отсортировано по частоте вхождений. Потом я приведу тоже самое на C# 3.0 и ты поймешь, что твоя любимая Дельфи просто более низкоуровневый язык.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, kuj, Вы писали:
kuj>Вместо Prolog — Erlang.
Это все равно, что вместо самолетов автомобили изучать. Prolog — это другоая (и более высокоуровневая) парадигма. Так что "вместо" не надо. Но можно "вместе".
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, WolfHound, Вы писали:
WH>Впрочем корутин и исключений вполне достаточно для подавляющего большинства практических задач.
Не, ну, я бы не отказался бы от быстрых и полноценных континюэйшонов. В некоторых задачах они бы дали хороший эффект. Но если помнить, что за все приходится платить, то я бы предпочел остановится на продвинутом варианте итераторов Шарпа. Таких чтобы позволяли использовать yield из вложенных вызовов и замыкания на класс в которых эти методы реализованы. Это (как я думаю) можно реализовать эффективно (переведя в конечный автомат).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Не, ну, я бы не отказался бы от быстрых и полноценных континюэйшонов. В некоторых задачах они бы дали хороший эффект.
Полноценные континюэйшены и детерминированная финализация не совместимы.
Вобще.
А детерминированная финализация в реальной жизни штука необходимая.
VD>Но если помнить, что за все приходится платить,
Во-во.
Плата совершенно неприемлима.
VD>то я бы предпочел остановится на продвинутом варианте итераторов Шарпа. Таких чтобы позволяли использовать yield из вложенных вызовов и замыкания на класс в которых эти методы реализованы. Это (как я думаю) можно реализовать эффективно (переведя в конечный автомат).
А это и есть корутина.
Только их можно сделать мощьнее чем тупые итераторы.
Например на корутину можно повесить протокол что-то типа того что использован в сингулярити для каналов. Тогда можно вместо монолога устроить диалог.
Ну и естественно никаких ограничений на рекурсию.
Плюс оптимизация вобще всех хвостовых вызовов.
Таким образом нам и goto не нужно.
Можно будет конечные автоматы на хвостовых вызовах делать.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, _d_m_, Вы писали:
SB>>>Не знаю как другим, но мне не нравится: SB>>>1. SB>>>
SB>>>:=
SB>>>
___>>А по моему, так все правильно. По идее семантика оператора сравнения должна отличаться от оператора присваивания. VD>... ___>>Ну да, несколько громоздко. Особено для тех, кто избалован С-подобным синтаксисом.
VD>Ваш уровень, господа, поражает. Ты бы хоть на смайлик внимание обратил. Если разница между языками ограничивается разницей между лексемами, то языки идентичны, а споры кто из них лучше — это споры о вкусах.
Я всего лишь сказал то, что сказал. Это у тебя почему то фантазия разыгралась.
VD>Основная разница в языках заключается в их выразительности. Вот скажем реализуй на Дельфи следующую функцию:. На входе список строк содержащий слова русского языка. Слова дублируются. Задача подсчитать количество вхождений каждого слова и вывести их в формате: строка: количество вхождений. При этом все должно быть отсортировано по частоте вхождений. Потом я приведу тоже самое на C# 3.0 и ты поймешь, что твоя любимая Дельфи просто более низкоуровневый язык.
Моя любимая дельфи ?!! Афигеть. Я не то что дельфи, я и паскаля не знаю. Но в свое время юзал Borland C++ Builder, после чего зарекся использовать продукты Богланда. По необходимости приходится сталкиваться с Interbase — лишний раз убеждаюсь в своей правоте.
Я знал: QuickBasic, ассемблер, С, C++, 1C.
Сейчас работаю с C# 2, TSQL.
Потом я приведу тоже самое на C# 3.0
А как же Nemerle?
На SQL-е твоя задача решается в один простейший запросик.
Здравствуйте, WolfHound, Вы писали: VD>>Не, ну, я бы не отказался бы от быстрых и полноценных континюэйшонов. В некоторых задачах они бы дали хороший эффект. WH>Полноценные континюэйшены и детерминированная финализация не совместимы. WH>Вобще.
Хм. А вот Рихтер так не думает.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
WH>>Полноценные континюэйшены и детерминированная финализация не совместимы. WH>>Вобще. S>Хм. А вот Рихтер так не думает.
Ну пусть Рихтер покажет как совместить call/cc и любой вид детерминированной финализации.
А я посмеюсь...
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн