[Конкурс] Транслятор языка

 
1 7 8 9 10 11 12 13
EE Татарин #19.08.2008 21:49
+
-
edit
 

Татарин

координатор
★★★★☆
Я сейчас дико занят подготовкой к одному дико важному для меня делу, но пока заваривается матэ, вариант Реконструктора натравил на первую пятёрку тестов. Оно не заработало в четырёх случаях, а в одном выдаёт неожиданный, ИМХО, результат - я не могу сейчас разбираться, где и почему ошибка (хотя, в принципе, я мог и сам проглючить со своим расчётом). Тесты я делал максимально подлыми, когда "ловил" глюки Сергея, так что баги меня не удивляют. Меня удивляет стабильность результата.

Григорий, я могу ошибаться, но программа в первую очередь должна работать (лишь затем - работать без багов, и лишь затем по приоритету - работать быстро без багов). То, что ты тут выложил, может прокатить как пререлиз бета-версии отмазки, но не как продукт. :\ Это никто не купит, как бы оно быстро ни работало. :\
Может быть, это нечестно по отношению к спору, но лучше пофикси. Текущее - нефункционально, и спор обессмысливается полностью.
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  
US Сергей-4030 #19.08.2008 21:58  @Татарин#19.08.2008 21:49
+
-
edit
 

Сергей-4030

исключающий третье
★★
Татарин> Может быть, это нечестно по отношению к спору, но лучше пофикси. Текущее - нефункционально, и спор обессмысливается полностью.

Я могу ошибаться, но я проглядел код Реконструктора и у меня такое мнение, что он заблудился в своем спагетти, поэтому фиксить придется долго. Но вообще, я согласен. Только не забудьте, господа, что я только что выложил (по примеру Реконструктора) свой вариант в общественный доступ и теперь он в принципе может использовать мои наработки.
 
EE Татарин #19.08.2008 21:59  @Сергей-4030#19.08.2008 21:03
+
-
edit
 

Татарин

координатор
★★★★☆
Сергей-4030> Кстати, а когда комиссия-то соберется? :) Ау, комиссия, кончайте политикой заниматься, сделайте перерывчик. ;)
Я не могу сейчас. По-хорошему - нужно много времени. :\

Предварительные выводы, ИМХО, сделать можно. Но точно в баллах я сейчас оценивать не берусь (в любом случае, у Гриши их немного :\).
...А неубитые медведи делили чьи-то шкуры с шумом. Боюсь, мы поздно осознали, к чему всё это приведёт.  
US Сергей-4030 #19.08.2008 22:00  @Татарин#19.08.2008 21:49
+
-
edit
 

Сергей-4030

исключающий третье
★★
Татарин> Может быть, это нечестно по отношению к спору, но лучше пофикси. Текущее - нефункционально, и спор обессмысливается полностью.

Кстати, формально - обессмысливается, а по сути, может, как раз очень даже осмысливается. ;)
 
US Сергей-4030 #19.08.2008 22:00  @Татарин#19.08.2008 21:59
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> Кстати, а когда комиссия-то соберется? :) Ау, комиссия, кончайте политикой заниматься, сделайте перерывчик. ;)
Татарин> Я не могу сейчас. По-хорошему - нужно много времени. :\

OK, без вопросов. Приколы-приколами, а работа-работой.
 
US Сергей-4030 #19.08.2008 22:11  @Татарин#19.08.2008 21:49
+
-
edit
 

Сергей-4030

исключающий третье
★★
Татарин> Я сейчас дико занят подготовкой к одному дико важному для меня делу, но пока заваривается матэ,

Пока заваривается матэ? Это что за такое дико важно дело, к которому подготавливаются поздним ночером пока матэ заваривается? Подружку ожидаете? ;)
 
US Сергей-4030 #19.08.2008 22:13  @Татарин#19.08.2008 21:49
+
-
edit
 

Сергей-4030

исключающий третье
★★
Татарин> Тесты я делал максимально подлыми, когда "ловил" глюки Сергея,

Кстати, я забыл сказать - в последнем варианте есть автоматический зум когда точки находятся за границей экрана, как в спецификации указано.
 
+
-
edit
 

Kernel3

аксакал

Постараюсь завтра вечером (по Москве) расставить баллы, если не будет новых вариантов. А сегодня уже нет, извините :) У меня тут матэ нету, приходится пить арак, разбавленный кипячёной водой :F
Broken Windows® cures my ills and makes me feel alright... ©  
US Сергей-4030 #19.08.2008 23:54  @Kernel3#19.08.2008 23:50
+
-
edit
 

Сергей-4030

исключающий третье
★★
Kernel3> Постараюсь завтра вечером (по Москве) расставить баллы, если не будет новых вариантов. А сегодня уже нет, извините :) У меня тут матэ нету, приходится пить арак, разбавленный кипячёной водой :F

Тоже к дико важному делу готовитесь? ;)
 
RU Kernel3 #19.08.2008 23:56  @Сергей-4030#19.08.2008 23:54
+
-
edit
 

Kernel3

аксакал

Сергей-4030> Тоже к дико важному делу готовитесь? ;)
Нет. Просто уже не в состоянии ЖР Почти не шутю :)
Broken Windows® cures my ills and makes me feel alright... ©  
BG Реконструктор #20.08.2008 00:37
+
-
edit
 
1. Оператор "^-" у меня корень. Ничего умнее придумать не успел. Отрицательные константы надо ограждать скобками, иначе не работает.
2. Все после if и while должно ограждатся {}. Иначе не работает.
 
US Сергей-4030 #20.08.2008 00:46  @Реконструктор#20.08.2008 00:37
+
-
edit
 

Сергей-4030

исключающий третье
★★
Реконструктор> 1. Оператор "^-" у меня корень. Ничего умнее придумать не успел. Отрицательные константы надо ограждать скобками, иначе не работает.
Реконструктор> 2. Все после if и while должно ограждатся {}. Иначе не работает.

В спецификациях ничего подобного нет. А как goto вставлять?
 
BG Реконструктор #20.08.2008 00:47
+
-
edit
 
3. Оператор гото есть, он почти пустой. Нет ассоциативности, класс сделал, но нафиг заниматся.
 
BG Реконструктор #20.08.2008 00:59  @Татарин#19.08.2008 21:49
+
-
edit
 
Татарин> Григорий, я могу ошибаться, но программа в первую очередь должна работать (лишь затем - работать без багов, и лишь затем по приоритету - работать быстро без багов). То, что ты тут выложил, может прокатить как пререлиз бета-версии отмазки, но не как продукт. :\ Это никто не купит, как бы оно быстро ни работало. :\

Не спорю. Оно даже не бета, единственный код, который я тестировал, это то что в файле.
Но все-таки следует смотреть на топик: я-то могу все исправить, но джава быстрее не пойдет. Если программа шла только вдвое быстрее чем та на джаве, я бы задумался о преспективах современного программирования. А так не стоит вообще больше заниматся этим. Иначе как в анекдоте "а почему у вас негров бьют?".

Татарин> Может быть, это нечестно по отношению к спору, но лучше пофикси. Текущее - нефункционально, и спор обессмысливается полностью.

Ну, если найду время, позанимаюсь.
 
US Сергей-4030 #20.08.2008 01:29  @Реконструктор#20.08.2008 00:59
+
-
edit
 

Сергей-4030

исключающий третье
★★
Реконструктор> Но все-таки следует смотреть на топик: я-то могу все исправить,

:lol: Это пять. Ты можешь, но поскольку человечество к тому времени вымрет, это действительно не имеет особого смысла.

Реконструктор> но джава быстрее не пойдет.

Так ты исправь, чтоб точно знать, что у тебя быстрее пойдет когда все спецификации сделаны. Ты не понимаешь, что без поддержки goto можно сделать код быстрее, чем с поддержкой?

Реконструктор> Если программа шла только вдвое быстрее чем та на джаве, я бы задумался о преспективах современного программирования.

У тебя НЕТ программы, которая идет быстрее моей. Нет, понимаешь? Сложно для тебя? ;) У тебя есть ДРУГАЯ программа, которая делает другие вещи, твою отсебятину. Напечатать "hello, world" можно быстрее, чем отрендерить компьютерный мультик, но печатание "hello, world" не говорит о том, что его автор может и рендерер написать, который просчитает мультик в одну секунду.

Реконструктор> А так не стоит вообще больше заниматся этим. Иначе как в анекдоте "а почему у вас негров бьют?".

Ну еще бы. Ты фактически уже продул по ВСЕМ параметрам - включая скорость, ибо твоя программа не делает, что должна. Заметь, что у меня программа вполне рабочая и если я захочу, то перепишу критические секции хоть на ассемблере - Java позволяет это - и тогда мой вариант выдерет твой во все дыры, включая скорость, а твой все еще не будет готов. И в данном случае мои "если захочу, то перепишу" - не пустые слова, в отличие от твоих "я-то могу все исправить". Ибо я готов ответить за них - в т.ч. деньгами. Я готов поставить штуку баков, что я перепишу критические секции и мой вариант будет как минимум не медленнее твоего - а твой все еще не будет готов. Другое дело, что зы зассышь, извините.

Следующее. Говорилось, что-де, java-программисты нихрена не смыслят в собственно программировании и пари было, в общем, о умении программировать. Результат - налицо. Разница в твоем варианте, КОТОРОГО НЕТ, который будет неизбежно медленнее когда(если) ты вставишь всю функциональность, который можно считать только теоретически, с моим - в три раза. Если просто переписать мои алгоритмы на C++ или любой другой компилируемый язык - ты будешь иметь бледный вид, ибо твое "превосходство в скорости" (КОТОРОГО НЕТ) исчезнет вовсе - потому, что мои алгоритмы более эффективны, потому, что я умею их писать, а ты - нет.

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

Вот так вот, собственно, обстоят дела.


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

По-моему, тут дело не во времени. ;) Если Реконструктор найдет умения и опыт - тогда позанимается. И/или мозги. :( Извините.
 
US Сергей-4030 #20.08.2008 01:31
+
-
edit
 

Сергей-4030

исключающий третье
★★
Собственно, можно открыть голосование - кто считает, что пари выиграл Реконструктор (или я) - отпишитесь, pls. А комиссия свое мнение представит, вот и посмотрим, с кем народ.
 
US Сергей-4030 #20.08.2008 01:46
+
-
edit
 

Сергей-4030

исключающий третье
★★
И блин, главное - этот пшик рожался две недели. %( А я, как дурак, чего-то старался, разрабатывал. Перед кем?!
 
US Сергей-4030 #20.08.2008 02:03
+
-
edit
 

Сергей-4030

исключающий третье
★★
СОВСЕМ ЗАБЫЛ, БЛИИИН!!!!


Совсем забыл, сорри, господа. Кто скачал мой дистрибутив, отредактируйте свой interpretator.bat таким образом: добавьте -server сразу после java, примерно так:

%JAVA_BIN%\java -server -classpath contest.jar;..\contest.jar -ms200m -mx200m -XX:MaxPermSize=200m com.ssv.test.airbase.contest.Interpretator -f:%1 %2
 


и попробуйте запустить ишшо раз. Теперь, если запускать server jvm, наш timetest выполняется (на моей машине) за в среднем 1172 тика. Реконструкторов вариант работает примерно 900 тиков.
 
Это сообщение редактировалось 20.08.2008 в 02:26
US Сергей-4030 #20.08.2008 02:26  @Реконструктор#19.08.2008 17:55
+
-
edit
 

Сергей-4030

исключающий третье
★★
Реконструктор> Проект, для тех, кому интересно. Не все готово, есть недостатки, может есть и баги, но работать по нему я больше не буду, пока не увижу джава вариант у которого производительность сравнима с моей. Есть некоторые ньюансы синтаксиса языка.

Ну как, Реконструктор, увидели джава вариант, у которого производительность сравнима с вашей? ;) Каковы будут ваши дальнейшие действия?
 
BG Реконструктор #20.08.2008 02:28
+
-
edit
 
В коде Сергея немало веселых вещей. :) Однако, разглядывая проект, видно присуствие развития мышления, что обнадеживает (что только стоит комментарий в начале Execution.java). Кстати, пища для размышлений - Найдите разницы:

code text
  1.         public void run() throws ParserException {
  2.                 int PC=0;
  3.                 while(PC<steps.size()) {
  4.                         Step step = steps.get(PC);
  5.                         if(step.operator()!=null)
  6.                                 step.operator().run();
  7.                         int next = step.marker();
  8.                         if(next==-1)
  9.                                 PC++;
  10.                         else
  11.                                 PC=next;
  12.                 }



code text
  1. void COperatorsSet::Execute()
  2. {
  3.         long pc = 0;
  4.  
  5.         while(pc < m_nOperatorsCount)
  6.         {
  7.                 m_pOperators[pc]->Execute();
  8.                 pc += m_pOperators[pc]->NextOperator();
  9.         }
  10. }


Разумеется, у Сергея с временем будут еще прозрения и его код будет очищен и оптимизирован (будет выглядить как мой). Будем надеятся.
И еще - товарищеский совет: после получения задачи, не спеши. Подумай хорошенько, вспомни что ты делал до этого, поищи кое-что в гугле (это не грех). Кстати, сам ExpressionEvaluator в моем проекте - это не полностью мой код. Я нарыл его много лет назад от куда-то. Внес глубокие изменения в виде генерации байт-кода, так как оно должно было выполнятся на микроконтроллере (генерация произвольного аналогового сигнала). Когда я занялся задачей, то перенес ExpressionEvaluator, внес еще некоторые изменения, поискал и разучил аналогичные решения для парсера. И когда дело дошло до написания кода, то это случилось почти полностью "линейно", без переделок и патчей.
 
US Сергей-4030 #20.08.2008 02:29
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сорри что забыл опцию. :( Это, конечно, целиком моя вина и все такое, но будем надеяться, что коли Реконструктор собирается ишшо работать, коли увидит версию, "сравнимую по быстродействию" - что, надо полагать, значит новый апдейты, то и я имею право.
 
+
-
edit
 

tarasv

опытный

Я еще не смотрел что написал Сергей, но статическое выделение памяти под значения пременных в варианте Реконструктора сразило меня наповал ;)
 
US Сергей-4030 #20.08.2008 02:33  @Реконструктор#20.08.2008 02:28
+
-
edit
 

Сергей-4030

исключающий третье
★★
Реконструктор> В коде Сергея немало веселых вещей. :) Однако, разглядывая проект, видно присуствие развития мышления, что обнадеживает (что только стоит комментарий в начале Execution.java). Кстати, пища для размышлений - Найдите разницы:
Реконструктор> Разумеется, у Сергея с временем будут еще прозрения и его код будет очищен и оптимизирован (будет выглядить как мой). Будем надеятся.

Гы. :lol: Со временем код Реконструктора будет еще, может быть, наконец-то получен. И результат будет выглядеть как мой. Будем надеяться. :lol:

Реконструктор> И еще - товарищеский совет: после получения задачи, не спеши. Подумай хорошенько, вспомни что ты делал до этого, поищи кое-что в гугле (это не грех).

Ух ты, батюшки, какие советы. ;) А ты как, уже закончил со спецификациями, или недосуг - советы раздаешь?

Реконструктор> Кстати, сам ExpressionEvaluator в моем проекте - это не полностью мой код.

Да уж понятно. А вот весь код, включенный в мой проект - абсолютно и полностью мой код. Извини.

Реконструктор> И когда дело дошло до написания кода, то это случилось почти полностью "линейно", без переделок и патчей.

В смысле - почти полностью "линейно" тебе удалось написать неработающую программу? Прогресс! :lol:
 
+
-
edit
 

tarasv

опытный

С -server надо поострожней ЕМНИП он доступен только в JDK а паблик JRE обматюкает и не запустится
 
US Сергей-4030 #20.08.2008 02:35  @Реконструктор#20.08.2008 02:28
+
-
edit
 

Сергей-4030

исключающий третье
★★
Реконструктор> Разумеется, у Сергея с временем будут еще прозрения и его код будет очищен и оптимизирован (будет выглядить как мой). Будем надеятся.

В смысле - такой же неработающий? Не, будем надеяться, что до такого не дойдет, мне стока не выпить. :lol:
 
1 7 8 9 10 11 12 13

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