1. C++ / Говнокод #8549

    +996

    1. 1
    abstractObject=abstractObject;

    Когда я это обнаружила в коде, то упала со стула.

    Запостил: Говногость, 17 Ноября 2011

    Комментарии (137) RSS

    • небось еще и объявлено было как
      AbstractObject & abstractObject;
      Ответить
    • показать все, что скрытовсе абстрактные объекты равны по определению
      Ответить
      • /\
        |
        Не выдержав анальной боли, прокукарекал школьник.
        Ответить
      • Абстрактных объектов не бывает по определению. Тк абстрактный объект не возможно инстанцировать. Бывают только абстрактные классы.
        Ответить
        • выебнулся? нету вообще такого понятия в природе как абстракция, это все люди придумали, или бог это абстракция, хоть я и атеист
          Ответить
      • >все абстрактные объекты равны по определению
        Этот код доказывает опровергает это высказывание:
        http://ideone.com/4tnpn
        Ответить
        • нужное подчеркнуть
          *Этот код опровергает это высказывание
          Ответить
        • показать все, что скрытоlucidfoxGovno опять решило поумничать?
          Да, неудачная петросянская шутка. Она относилась не к объектам в смысле участков памяти с инвариантами и методами, а к объектам в mathematical sense.
          Ответить
          • >Она относилась к объектам в mathematical sense.

            Ссылку на указание нижепредставленного факта в mathematical sense?
            >абстрактные объекты равны по определению

            Слив защитан. В математике точно также, как в программировании. Программирование вышло целиком и полостью из математики.
            Ответить
            • показать все, что скрытоТебе не надоело кидать в меня говном, а потом самому от него отмываться?
              > abstractObject=abstractObject;
              Я интерпретировал эту строку как определение в математическом смысле: абстрактый объект равен абстрактному объекту. Вот такая вот неудачная шутка. Если ты считаешь, что троллить по этому поводу очень весело, то ты ещё больший придурок, чем я думал. Впредь пояснять мысли тебе будет alexoy.
              Ответить
    • показать все, что скрытоНиче не понял, пощу кота.
      [img]http://www.murlyki.ru/breed/persian2.jpg[/img]
      <img src="http://www.murlyki.ru/breed/persian2.jpg" alt="" />
      Ответить
    • помню еще в 6-м дельфи, когда надо было поставить бряк с условием на часто выполняющемся фрагменте кода делал:
      if (условие) then
      i := i; // на отдельной строке, бряк ставить сюда.
      может, рога остались от подобного кода?
      еще версия: переопределен оператор=
      Ответить
    • >обнаружила
      >упала
      Новая мода говнокода - использовать глаголы первого лица в женском роде.
      Ответить
    • ОП провоцирует СПВПФ у обитателей ГК?
      Ответить
    • показать все, что скрытокод говно, автар мадак
      Ответить
    • .
                         _y+*f`   yL yGML               
                      WMff````f*==WMAB_  lW             
                    gF          gg_M       *.           
                   A`           fBgL        \y          
               __yf            gfmgk  MB*w   gW         
             M**MMB+__         hMMf  W`   lL dOE        
              _B    `MEZ+     gyM  yf    L `w \ L       
            jyf       `L      l_E z      L_ yA *A       
            B      .M**Wa.     BA F       ``  \ ly      
           gj    +f      iL       L            W fL     
          rf|   j__       WdL      L           |  ML    
          Ld    `  k       g       `W          f  j*.   
          Lf    W**        k  _=++w+__MG_____Wf    Lj   
          H     i        yf yfW   L   *L_          l_   
          H     d       y  y   W_ L`*   `*WCjW      g   
          H      lL___yf  y W  l `          ` \     g   
          M               f`j*=f               t    dL  
          M               h=`          _.       t    L  
          M.             g           yf `W       L   r  
          kj             j       Wf*=f    j_jf*_ L   L  
          ji             |      y        f `f    k   L  
          d k           _      q    g*f\/  _L__.A    m  
           Ll           j           f   _Wf          m  
           `LI         g       Wf`A L _M`           _j  
            la         f  .a  /    *Gf              g   
             f\       j _f  *g   _+f               Ak   
             i i       *==a____*`                  f    
              L `=L                               A     
              l    `*                             r
      Ответить
      • слегка эпичненько. таки да.
        Ответить
      • да, bb-коды слишком ограничены :(
        Ответить
        • Я тестирую свой собственный аскификатор, заточенный под контрастные чб изображения.
          В отличие от отстоя с http://www.text-image.com/ мой аскификатор учитывает форму символов, что значительно повышает качество результата.

          Я хочу выставить в своём посте минимальный размер и моноширинный шрифт. Как тут это делается?
          Аскизить через тэг code слишком жирно и грубо.
          Аскизить немоноширинным шрифтом я пока не умею, мне кажется, это сильно усложнит аскификатор.
          Ответить
          • Принцип работы? Разбиваем изображение на квадратики одинакового размера и подбираем наиболее подходящие ASCII символы основываясь на начертании с помощью обученных нейронных сетей?
            Ответить
            • Разбиваем на квадратики и ищем наиболее подходящий символ на основе минимизации суммы разностей яркостей пикселей (то есть тупо перебираем). Буфер, с которым сравниваем, в который заранее рисуются все символы нужным шрифтом, тоже есть.
              Работает, как ни странно, быстро, около секунды на картинку. Главное - не делать через Canvas.Pixels, а то это на полчаса затянется.
              Помогает только прямое обращение к памяти буфера, арифметика указателей и прочее говно, увы.
              Ответить
              • А, оптимизация по наименьшему абсолютному отклонению. Здорово.
                Ответить
              • На символы в буфере, с которыми сравниваются фрагменты изображения, можно наложить небольшой blur. Тогда можно перейти от полутоновых или контрастных изображений к просто монохромным.
                Ответить
                • Размытие попробовал, только замедлило, картинка не стала сильно лучше.
                  Ответить
              • для фрагмента картинки
                01100
                01100
                01100
                если суммы разностей:
                01100 00011
                01000 00011
                01100 00011
                правый символ будет подходить лучше.
                если суммы модулей/квадратов разностей:
                00110 00000
                00110 00100
                00110 00000
                правый символ будет подходить лучше.
                попробуйте min((сумму модулей разностей + A) * (модуль разности сумм + B))
                A, B - доп. коэффициенты, регулирующие влияние множителей на оценку, можно попробовать 1.
                Ответить
                • А какой физический смысл?
                  Ответить
                  • предлагаю минимизировать по 2-м параметрам:
                    1. общая яркость должна быть примерно одинакова.
                    2. фрагменты рисунка должны быть близки
                    если к примеру на картинке вертикальная линия толщиной 3 пикселя, а на символе та же картинка, но сдвинута на 2 пикселя в сторону, то разность модулей/квадратов между ними будет хуже, чем у картинки и пробела, а визуально это не так.
                    если использовать сумму просто разностей, то это сравнение общей яркости. а недостатки такого подхода вам лучше известны:)
                    если минимизировать их оба, то непонятно, какой важнее. вот и предлагаю оценочную функцию с весами критериев.
                    Ответить
                    • Короче, я взял x+y, стало лучше.
                      Если умножать, то там надо с переполнением бороться, а это либо к инт64 приводить, либо на асме умножать.
                      Ну нету в паскале инструкции для того, чтобы быстро найти x*y div 2**16 даже когда результат вылезает в edx. В Форте вот есть в явном виде. В Аде нету, но тоже можно обойтись без асма - побайтово кастануть в фиксированной точке, для которой умножения делаются оптимально.
                      Ответить
                    • Напиши свой аскификатор, а потом сравним, у кого лучше. А то страна советом прям какая-то.
                      Ответить
                      • нет желания соревноваться.
                        я давненько не пишу код для удовольствия - наверно, старый стал:(
                        совет-совет - а вдруг поможет...
                        Ответить
                    • Мда, для разных картинок разные веса надо брать. Видимо, придётся это в интерфейс добавить.
                      Например, для этой учёт яркости всё портит:
                      .
                                                            "W,,,,g#Mw~,,_                   
                                                   ,wwM"""MMw&, ,, "*w,,.              
                                               _wM*MM**"***MM%"*' mMM""W_              
                                             w#"    `"******"     "$"*WwML             
                                           gM`         ,,,,,,,,,_  `"Mw&@@M            
                                         _#'       M"""     ,,,,_"*Mw_    3k           
                                         M                    ``"*Mw`*&    $           
                                        3[                            "M_  $           
                                        3k                                 $           
                                         9L                               ]L           
                                          %k                              M            
                                           `M,                           #'            
                                             "W,                        W'             
                                               "%w, ,,wmMk           ,wM`              
                                              ,,wMM"MMwwwMy,,,,,,,wMM`                 
                                       ,,wwM*"'          $$,                           
                                     gM'                 $ %k                          
                         ,wwww  w, ,@k  ,www  +w  ww-    #W )$w +wwwww  ,ww            
                         {Mk~, ]M}gMM$ #M` "" {MWMM'     `@MMP*W#ML~~, ,MMWM           
                         {MF`` `MwM,MF $M,_ww {M@"Ww      ]MM   WML``  &MMMMk ,,       
                         `"     ]P""`   """"  `"'  "'     `M"   '"*WQ"`"'  "" ""       
                               w'                          ]L       "*wa,              
                              #[                            M           ""Mw,,         
                            mM9k`"Ww                        dk                "*Mw,    
                           #9[ #L  `'                        $,                 /PWk   
                           M 9k "W                            $                 M @$L  
                           "                                  d$                    '
                      Ответить
                      • подразумевается a*x + b*y, где a, b задаются в интерфейсе?
                        наверно будет клево.
                        а можете логотип этого сайта аскифицировать и показать результат?
                        Ответить
                        • Нет, a всегда равно 1, b равно 1 или ноль в зависимости от одной галочки.
                          Пока что так, не думаю, что усложнение нужно.
                          Ответить
                • Чувак, перестань разбивать мое самовнушение что знать математику для программирования не обязательно.
                  Я же не зря собираюсь бросать физмат на первом курсе, правда?
                  Ответить
                  • показать все, что скрытостудентота детектед.
                    Знать математику для программирования НЕОБХОДИМО!!!111
                    Ответить
                    • иногда так бывает, что на физматах готовят отвратительных программистов
                      что они просто неспособны воспользоваться своими математическими знаниями в любом языке программирования
                      Ответить
                      • показать все, что скрытоЗнание математики, разумеется, лишь помогает лучше понимать и писать код. Работа с кодом - искусство, ему нужно учиться годами. Это как знание гармонии для музыканта. Знание лишь гармонии не сделает тебя хорошим пианистом, но и хорошему пианисту без гармонии никуда.
                        Ответить
                      • Любой факультет может готовить отвратительных программистов. Даже факультеты вычислительной техники таким грешат. Толку от того, что студентам дают 10 лаб по ассемблеру в семестр, если при этом им не преподают даже азы проектирования, тестирования и др. Единственное, что технические факи делают клево — это прокачивают мозг и учат крутиться. А дальше — хочешь программером, хочешь аналитиком, сам уже выбираешь и самостоятельно осваиваешь соответствующую матчасть.
                        Ответить
                  • так что ты чувак физмат не бросай, но не надейся, что в институте тебя научат чему то действительно пригодному в дальнейшей профессиональной деятельности
                    тебе дадут лишь толчок, немного познакомят с чем нибудь
                    твой профессиональный рост зависит только от тебя
                    читай книжки, ставь перед собой задачи, показывай свои работы другим, исправляй свои ошибки
                    к курсу 4-5 найди уже работу, где тебя будут готовы направлять и платить за это бабло
                    Ответить
                    • Это да, но толчок длиной в 5 лет - это какой-то затянувшийся толчок.
                      А так задачи я ставлю и подработки нахожу :)
                      Ответить
                      • показать все, что скрытоДискретная математика, Линейная алгебра, Абстрактная алгебра, Математический анализ и Вычислительные методы must have.
                        Ответить
                        • А можно дискретку по разделам перечислить? Самые важные.
                          Ответить
                        • Не надо меня этими словами пугать, меня и так названия пар пугают. Что я на них не хожу.
                          Ответить
                      • вуз?
                        Ответить
                        • ПсковГУ
                          Ответить
                          • по баллам на информатику же проходил, я подозреваю?
                            чего на физмат пошёл, раз уже на 1 курсе не уверен в правильности выбора?
                            Ответить
                            • Если бы.
                              У нас в городе вообще нигде не нужны баллы по информатике. А у меня 90.
                              Набор был по физике, но у нас даже недобор случился, таки дела.
                              Пошел потому что на информатику, а высшая математика - это не очень информатика.
                              Ответить
                    • Стоит идти работать уже на втором-третьем (неполный раб. день, естественно), джуниором возьмут. У нас так пара-тройка человек в люди пробились.
                      Ответить
                      • я начал работать с середины 3го
                        тяжеловато совмещать
                        но правда сразу 40 часов в неделю (нужны были деньги, брал несколько ночных дежурств в саппорте)
                        на 2ом бы так не вышло
                        Ответить
                  • по большому счету не так уж и важна специальность, которой студент обучается, т.к. основная задача вуза и 5 лет обучения - дать основы (тут пойдет любая техническая) и научить усваивать и систематизировать знания самостоятельно.
                    Ответить
                  • Ну как, бросил?
                    Ответить
                    • Да, о чём не жалею.
                      Ответить
                    • Ебать ты некромант! Уже двоих пробудил за сегодня.
                      Ответить
                      • Надо бы составить список слов, с которыми обычно употребляется будущее время на «Говнокоде». Уже сделал прогон по словам «собираюсь» и «планирую». Надеюсь найти другие слова, с которых начинаются обещания или желания.
                        Ответить
          • к 8888 гету?
            Ответить
          • выложи потом прогу своё
            Ответить
            • Хорошо, когда допилю, то выложу исходники сюда.
              Ответить
            • Хотя не, подожди.
              Ты случайно, не собираешься аскиниграми вайпать?
              Ответить
              • У меня есть http://www.text-image.com/ и гугл, который для этого прекрасно подходит.
                Ответить
          • для немоноширинных:
            для каждого символа есть своя ширина (т.е. разбиваем заранее только на строки), в качестве оценки можно считать относительное, а не абсолютное отклонение от эталона.
            Ответить
          • А можно сделать так, чтобы компилировалось как С-код?
            Ответить
      • Неделя арта на говнокодике?
        Ответить
    • Где здесь С++?
      Ответить
      • В контексте
        Ответить
        • Ты не знал, что в Си тоже так можно?
          Ответить
          • т.е. abstractObject это для тебя обычный идентификатор и смысла никакого не несет?
            Ответить
            • Для меня вообще инстанцирование абстрактного объекта смысла никакого не несёт.

              Ты не знал, что в Си можно писать в семантически объектно ориентированном стиле?
              Ответить
              • а кто здесь говорил об инстанцировании? может быть это указатель на базовый класс.
                Ответить
    • >abstractObject=abstractObject;
      Зачем могла понадобится такая конструкция? Правый abstractObject ведь не мог быть из другой области видимости? Или это хак для класса умного указателя?
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий