1. C# / Говнокод #24790

    0

    1. 1
    2. 2
    //Breakpoint
    bool[] bp = new bool[1]; bp[1] = true;

    Чувак сказал, что так ему удобнее.

    Запостил: jdryand, 19 Сентября 2018

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

    • but why?
      Ответить
    • Если не составит труда...
      Ответить
      • Непереводимо. В "PHP" все массивы динамические, а тут чувак создал массив размером в один элемент и пытается записать значение в несуществующий индекс.
        Ответить
        • Хотя... в "PHP" можно попытаться прочитать несуществующий элемент:
          <?php $bp = Array(0 => true); echo $bp[1];

          Появляется Notice: https://ideone.com/6bH6i9
          Ответить
        • Вся говнистость заключается в комментарии. Каким образом бросается исключение - не важно.
          //Breakpoint
          hui123321();
          Ответить
    • Я так понимаю лишь бы компилятор обмануть. Компилятор здесь ошибки, понятное дело, не видит и преспокойно себе компилирует, а доходя до этого места вылетает, после чего человек смотрит значения переменных.
      Ответить
      • щито
        Ответить
        • а, это не компилятор вылетает, а программа. Ок.
          Ответить
          • То ли дело "Паскаль":
            https://ideone.com/YCbkVh

            Проверку можно отрубить с помощью {$R-}, но это считается дурным тоном.
            Ответить
            • Можно обмануть компилятор, если подсунуть в качестве индекса не константу, а переменную. Тогда проверка границ сработает не на этапе компиляции, а на этапе выполнения:
              https://ideone.com/c59sUj
              Ответить
      • схуя бы он вылетает?

        тут создали массив из двух элементов, в первом false, во втором true, что не так?
        Ответить
        • >>> new bool[1]
          Ответить
        • С конского!

          Необработанное исключение: System.IndexOutOfRangeException: Индекс находился вне границ массива.
             в SomeProgram.Main(String[] args)


          https://ideone.com/GmAtF6
          Ответить
          • Надо же, в сях# индекс отсчитывается от нуля... Совсем как в делфи.
            Ответить
            • Зелёный к месту, потому что в Делфи с нуля отсчитываются только open arrays. У остальных указываются явно обе границы:
              var pituh: array[-265..666] of byte;
              Ответить
              • В Делфи индекс может быть вообще енумом:
                type pituhi = (pituh, unskilled, pidor, ggurda, xyu);
                var massiv: array[pituhi] of byte;
                Ответить
    • программист с делфи просто пересел
      Ответить
      • В Делфях тупо не скомпилируется, если включена проверка границ. Там придётся делать хитрее, чтобы компилятор сразу не догадался, что выходим за границу диапазона.
        Ответить
    • Долго думал, как сформулировать сие безобразие. "-Блядство" - неудачная реализация, "-ёбство" - неправильное использование.
      Получается, мы тут имеем арраеблядство? так, что ли?
      Ответить
      • А как будет называться это?
        //Breakpoint
        int bp = 1/0;
        Ответить
        • Ошибка времени компиляции.

          А то, что у автора - это программный брекпойнт.

          Можно, конечно, сделать что-то типа того:
          int bp = 0;
          ... // Some code that does not change bp
          int bpp = 1 / bp;
          Но тут тоже может получиться оказия, если включены оптимизации. Скажем, у меня в подобной ситуации компилятор падал с Internal error, и я долго не мог понять, почему.
          Ответить
          • ((void(*)())0)();
            Ответить
            • <?php
              $GLOBALS['']();
              Ответить
            • А вдруг вызоветься! Прикинь, что ТАМ может быть. Кровь, кишки и расчленёнка могут оказаться цветочками...
              Ответить
              • Никогда не знаешь, чем обернётся UB. Стандарт не гарантирует, что это не вызовет пинхеда.
                Возможно, C++ и есть та мистическая древняя шкатулка-головоломка.
                Ответить
                • Зато ОС гарантирует, что не будет пиздеца, если программа запущена не из-под админа.
                  Ответить
                  • А кто сказал, что пинхеда только из-под рута вызвать можно?
                    Ответить
                    • Смотря какой масштаб ты имеешь в виду.
                      Ответить
                    • А в какой ОС без админских прав можно случайно (UBой) убить систему? В MS DOS?
                      Ответить
                      • > А в какой ОС без админских прав можно случайно (UBой) убить систему? В MS DOS?

                        Ты же понимаешь, что ядра самых популярных ОС написаны таки на сишке? Или мн продолжить мысль?
                        Ответить
                        • И что?

                          UB юзерского режима не сможет поломать структуры ядра ибо у них в странице написано что треба быть Supervisor, а у сегмента выполняемого кода написано что он юзер
                          Ответить
                          • Видимо ты не понял. ОС не может тебе помешать, если ты и есть ОС.

                            Впрочем, даже это не отменяет существование багов (помним же Meltdown со Spectre?)
                            Ответить
                            • >>ОС не может тебе помешать, если ты и есть ОС.
                              А, окей. Ошибка в ОС приводит к ошибке в ОС

                              >>(помним же Meltdown со Spectre?)
                              Это бага процов Интела а не ОСей
                              Ответить
                              • > Это бага процов Интела а не ОСей
                                Именно. Вот такие баги и есть самый прямой способ на действительно Undefined Behavior.
                                Ответить
                                • На самом деле эта бага была не UB а неожиданный side effect.

                                  Забавно что ISA самого x86 чиста как слеза, а проблема в реализации. Это как если бы у тебя был алгоритм без бага, а компилятор сгенерировал бы код с сайд-эффектом который используют хакеры
                                  Ответить
                              • Не только интела, а вообще большинства современных процев, даже арм.
                                Ответить
                      • Гуглится же (простите за ссылку на "х-р"):
                        https://habr.com/post/179543/
                        Ответить
                        • Ну что, обсудим падение "Windows" из-за целочисленного переполнения в ядре при выполнении ScaleWindowExtEx (dc, INT_MIN, -1, 1, 1, NULL) без прав админа?
                          Ответить
                        • пофикшено уже
                          Ответить
                        • > В ядре Windows принято не использовать переменные с плавающей точкой. Прямо вообще-вообще не использовать. Поэтому когда приходится работать с чем-то нецелым, используют две целочисленные переменные: числитель и знаменатель.

                          - це зрада чи перемога?
                          Ответить
                          • В линупсе тоже плавучку практически не используют, да и не особо нужна она в ведре. Не понятно, зачем нужен числитель и знаменатель, почему просто не юзать фиксированную точку?
                            Ответить
                            • Есть негласное правило в программировании: если задачу можно решить в целых числах, лучше решить её в целых числах.
                              Ответить
                              • > если задачу можно решить в целых числах, лучше решить её в целых числах.

                                >> да и не особо нужна она в ведре

                                fixed point это и есть в целых числах. Когда ты хранишь цену в тысячных рубля/доллара/тугрика, ты неявно используешь fixed point.
                                Ответить
                                • С любым знаменателем? Или только десятичные/двоичные числа?
                                  Ответить
                                  • > Или только десятичные/двоичные числа?

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

                                    Степени десятки нам понятнее, степени двойки имеют естественное машинное представление.
                                    Ответить
                                    • Ничего не понимаю. Можно пример кода на "PHP"?
                                      Ответить
                                      • Легко
                                        <?php
                                        // twoja zarplata v sotyh pachki doshiraka
                                        $zp = 5432;
                                        // Bonus 10% za 10 let vyslugi
                                        $zp += intval($zp / 10);
                                        $do_zap = intval($zp / 100);
                                        $posle_zap = $zp % 100;
                                        echo "Vsego: $do_zap.$posle_zap pachek";
                                        Ответить
                                        • Ну это всё-таки не числитель и знаменатель а частное и остаток...
                                          Ответить
                                          • > Ну это всё-таки не числитель и знаменатель а частное и остаток...

                                            Да я уже понял, что накосячил, и поправил имена.
                                            Ответить
                                        • > Есть негласное правило в программировании: если задачу можно решить в целых числах, лучше решить её в целых числах

                                          Это я и имел в виду, да.
                                          Ответить
                            • Ну в сишке нет типа для fixed point, может, это причина? Чтоб не было оверхеда на эмуляции. Хотя возможно я щас хрень сморозил.

                              В Расте же вроде есть fixed, но это не точно
                              Ответить
                              • > Ну в сишке нет типа для fixed point

                                Конечно же есть. fixed point можно сделать из любого инта, нужно только решить, где точку поставить, и пару функций написать
                                В крестах можно как-нибудь красиво извернуться
                                temlate <int Precision, typename Rep = int64>
                                class fixed;
                                Но по сути fixed point это просто целое число.
                                Ответить
                                • Одно дело можно сделать, а другое дело — есть.

                                  Есть языки с типом currency специально для валют: целая часть и несколько знаков после запятой (обычно четыре, т. е. копейки и ещё два знака на всякий случай).

                                  В крестах можно перегрузить операторы ради fixed point или ради комплексных чисел или ради чего-нибудь ещё, а в сишке вместо a+b придётся писа́ть что нибудь некрасивое вроде sum(a, b).
                                  Ответить
                                  • Сложение и так сойдёт. А вот умножение с делением надо корректировать, да.
                                    Ответить
                                  • > Одно дело можно сделать, а другое дело — есть.

                                    Для ведра стандартная библиотека языка невероятно важна, ага.
                                    Ответить
                            • В ядрах плавучку почти не юзают совсем по другой причине - слишком дорого сохранять все эти fpu/sse/avx регистры. Если ядро их не трогает, то на переключениях контекста можно прилично считерить.
                              Ответить
                              • "Интел" подложил свинью, когда сделал "MMX" в тех же регистрах, что и "FPU", но данные в несовместимых друг с другом форматах, так что чтобы пользоваться тем и тем, нужно сохранять слишком много питушни при переключении.
                                Ответить
                  • > гарантирует
                    Помнится, в линупсе джва бага удачно совпали - один позволял замапать страничку на нулевой адрес, а второй был банальным косяком с пропущенной проверкой на null в каком-то драйвере. Пиздец приходил даже не из-под админа.
                    Ответить
                    • Ну так "обещать" не означает "жениться". Можно гарантировать, а потом приказать держаться и пожелать хорошего настроения.
                      Ответить
                      • >>>"так "обещать" не означает "жениться""

                        Что, тот кусок говна выебал тебя и исчез, не прислав даже открытку на Восьмое Марта?

                        А ведь ещё с восьмидесятых годов ходит народная истина, что если негр говорит, что страсть как обожает и хочет увезти, - верить нельзя. Сольёт пару литров и съебёт обратно в Мозамбик или Камерун.
                        Ответить
              • А вдруг мы программируем под контроллер, в котором по адресу 0 хранится вектор какого-нибудь безобидного прерывания, причем его обработчик по умолчанию ничего не делает... И мы будем такие: - НУ ПОЧЕМУ НЕ ПАДАЕТ??777

                Хотя стоп. Как вообще в такой архитектуре отличать 0 от 0? (void *)0 и (void *)(int)0 ?
                Ответить
                • Я даже знаю такую архитектуру: реальный режим 8086.
                  Ответить
                  • А нет, INT 0 — это же деление на ноль. В DOS оно завершало программу с сообщением, что произошло деление на ноль. В BIOS просто вешало всё нахрен.
                    Ответить
                    • Почему бы в ёбнутых язычках программирования просто не задать, что при делении на ноль делимое должно становиться нулём?... Всё проще пареного хуя, а проблему не решают уже которое десятилетие.
                      Ответить
                      • Потому что нахуя лишняя проверка?
                        "PHP", "Java"-е, "JavaScript"-у не привыкать, а вот для "C" и "C++" - критично.
                        Ответить
                      • Потому что это нематематично. Результат деления на ноль — бесконечность, а не ноль.
                        Ответить
                        • > Результат деления на ноль — бесконечность, а не ноль.

                          Если ты делишь нуль на нуль, то ответом должна быть единица, не так ли?
                          Ответить
                          • Неопределенность.

                            А еще есть +0 и -0.
                            Ответить
                          • Предыдущий гуест прав — неопределённость.

                            a×b=c => b=c/a

                            0×265=0 => 265=0/0
                            0×666=0 => 666=0/0
                            0×1488=0 => 1488=0/0
                            0×9000=0 => 9000=0/0
                            0×100500=0 => 100500=0/0
                            Ответить
                            • Таким образом, для целых чисел остро не хватает inf и NaN.
                              Ответить
                            • Ещё:
                              x^0 = 1
                              0^0 = 1 и 1^0 = 1 => 0 = 1
                              Ноль раввин идинитсэ!
                              Но:
                              0^n = 0 => 0^0 = 0
                              :(

                              Вы не понимаете, все эти неопределённости и нестыковки являются доказательством того, что нуля не существует! Вся математическая модель является неверной!
                              Ответить
                              • У Вас ошибка на первом шаге доказательства.
                                Ответить
                                • Само предположение о существовании нуля ошибка! Поэтому все вычисления с ним тоже будут ошибочными!
                                  Ответить
                                  • > Само предположение о существовании нуля ошибка!
                                    Это утверждение ошибочно.

                                    > Поэтому все вычисления с ним тоже будут ошибочными!
                                    Это утверждение также ошибочно.
                                    Ответить
                                • А, ну да, это меня уже понесло :D
                                  Если f(x) = f(y), то это совсем не значит, что x = y :)

                                  НО ЭТО ВСЁ ИЗ-ЗА НУЛЯ!!!
                                  Ответить
                                  • Нет, у Вас ошибка ещё раньше, в утверждении «x^0 = 1».
                                    Оно истинно только тогда, когда x не равен 0. Так что это действительно из-за нуля.
                                    Ответить
                              • Именно поэтому в древности числа "ноль" не было и век ведёт отсчёт с первого года, а не с нулевого.
                                Ответить
                                • Древние люди были гораздо умнее современных – они строили пирамиды и летали на них верхом в другие голактики, но вражеские цивилизации слали на Землю разных пророков, с целью промыть мозги землянам и замкнуть их на своей планетке, чтобы спокойна зохватывать новые голактики, и люди постепенно деградировали...
                                  Ответить
                                  • И главный удар по человеческому разуму нанесли псевдоматематики, придумавшие ноль, из-за которого всё пошло по пизде!
                                    Ответить
                                  • Это всё план владыки Сидиуса, угрозу он в вас чувствовал.
                                    Ответить
                                • ноль не нужен
                                  Ответить
                            • > Предыдущий гуест прав — неопределённость.

                              Ну это и ежу понятно.

                              Просто если таки расширить деление на нуль для машинных интов, нарушив законы, то 0/0 = 1 кажется мне более логичным, чем любой другой ответ. «APL» думает так же:
                                    0÷0
                              
                              1
                              Ответить
                              • NB. а J "думает" по-другому:
                                NB. для отсталых: "_" - это бесконечность
                                   42%0
                                _
                                   0%42
                                0
                                   0%0
                                0
                                   42^0
                                1
                                   0^42
                                0
                                   0^0
                                1
                                   _*_
                                _
                                   _%_
                                |NaN error
                                |   _    %_
                                   _*42
                                _
                                   _*0
                                0
                                   _%42
                                _
                                   _%0
                                _
                                Ответить
                                • >> _*0
                                  >> 0

                                  Странный выбор. ∞×0 — это то же самое, что 0/0. В обоих случаях нужно предупреждать, что результат не определён.
                                  Ответить
                              • Тут может быть такое соображение: правильного результата 0/0 быть не может. Но неправильный результат получается также и при переполнени - скажем, сколько будет 100000 * 100000? Поэтому можно считать логичным, что исключение будет возникать либо в обоих случаях, либо ни в одном.
                                Единственно, что переполнение редко возникает при работе с бытовыми числами, обозначающими количество каких-нибудь реальных предметов или объектов в памяти. А вот деление на ноль - может! Поэтому так исторически и сложилось, что /0 везде контролируется аппаратно, а переполнению такого значения не придали.
                                Ответить
                                • Переполнение при делении на x86 тоже ловится, кстати.
                                  Ответить
                                  • Особенно весело, что есть инструкции, у которых в частном в два раза меньше знаков, чем в делимом (потому что нужно зарезервировать знаки для остатка).

                                    Например, делимое в DX и AX (итого 32 бита), делитель 16-битный, частное в AX (16 бит), остаток в DX (16 бит). Или делимое в EDX и EAX (итого 64 бита), делитель 32-битный, частное в EAX (32 бита), остаток в EDX (32 бита). Или делимое в RDX и RAX (итого 128 бит!), делитель 64-битный, частное в RAX (64 бита), остаток в RDX (64 бита).

                                    Т. е. посчитать частное они могут не для любой пары. Крутись как хочешь, но частное должно влезть во вдвое меньшее количество двоичных разрядов, чем делитель. Из-за этого и была ошибка 200 в модуле CRT.
                                    Ответить
                                    • Именно поэтому я за "PHP". Там не бывает переполнения при делении.
                                      Ответить
                                      • Бывает бесконечность в плавающем питухе при делении на маленькое число:
                                        https://ideone.com/QhN8Ac
                                        Ответить
                                • Это смотря что считать «правильным» результатом. Беззнаковые целые числа в компьютере — это элементы кольца вычетов по модулю 2^N. Поэтому при работе с ними, 100000 * 100000 == 1410065408, и это правильный результат. Реальные компьютеры никак не могут полноценно эмулировать множество ℕ∪{0} — для этого нужна бесконечная память. Именно из-за этого считать результат с переполнением неправильным — неправильно. Ну а в случае деления на ноль всё однозначно — с точки зрения математики правильного результата этой операции действительно не существует.
                                  Ответить
                                  • > кольца вычетов
                                    Это да. (прямо ностальгия по первому курсу пробила...)
                                    Ответить
                                    • Я так и знал, что русня математиков вместо проггеров готовит.
                                      Ответить
                                      • Ну да, программист не должен знать математику. Математику должен знать алгоритмист, который составляет алгоритм и записывает его в виде блок-схем или псевдокода. Программист над алгоритмом не должен думать, он должен взять алгоритм, составленный алгоритмистом, и перевести его с языка блок-схем на язык программирования.

                                        Так?
                                        Ответить
                                        • Не, проггер должен уметь брать на слабо посетителей местечковых форумов, чтобы ему написали консольную качалку.
                                          Ответить
                                          • Написал консольную кончалку, проверь:
                                            Program Party;
                                            Uses Vine, Zakus, Condoms;
                                            
                                            {$I Variable.Pas}
                                            
                                            Procedure Prepare;
                                            Begin
                                              Find(House);
                                              Buy(Bottles);
                                              Buy(Zakus);
                                              Buy(Drugs);
                                              Call(Friends);
                                              Call(Girls);
                                            End;
                                            
                                            Procedure Drinks;
                                            Begin
                                              Open(Bottles);
                                              Repeat
                                                Drink(Next(Gramms100));
                                                Zakus:=Eat(Next(Foods));
                                              Until TwoViewInEyes;
                                            End;
                                            
                                            Procedure Dances;
                                            Begin
                                              Music:=True;
                                              Call(OneGirl);
                                              Go(DancingRoom);
                                              With Music.Jump Do Begin
                                                If Girl(Drink)>Normal(Drink) Then Begin
                                                  Touch(AssOfGirl);
                                                  Touch(BrestOfGirl);
                                                End
                                                Else Begin
                                                  Go(DrinkingRoom);
                                                  Let`s(Girl):=Drinks(More);
                                                  Return(DancingRoom);
                                                End;
                                              End;
                                            End;
                                            
                                            Procedure Drug;
                                            Var
                                              Good, VeryGood: Virtual, Abstract;
                                            Begin
                                              If Drugs=False Then Goto NoDrugsNow;
                                              Case Drug Of
                                                Plan: Repeat Smoke(Plan) Until Good;
                                                Cocain: Repeat Inspire(Gramms0.5); Wait(Seconds30) Until Good;
                                                Wheels: While Not(VeryGood) Do
                                                  Begin
                                                    Swallow(Wheel6);
                                                    Wait(Minutes30);
                                                  End;
                                              End;
                                            End;
                                            
                                            
                                            Procedure Fuck( Who : Sex );
                                            Var
                                              HowMany: LongInt;
                                            Begin
                                              If Who<>Girl Then Write('Are yor sodomite ??!');
                                              Find(DarkRoom);
                                              Close(Door);
                                              Close(Windows);
                                              If Not Find(BedInRoom) Then BedInRoom:=AnyPlace;
                                              HowMany:=0;
                                              Repeat
                                                Call(Next(Who));
                                                Delete(DressOf(Who));
                                                Kiss(Lips,Brest,OtherPartsOfBody);
                                                Repeat
                                                  Asm
                                                    PUSH YourPenis
                                                    POP YourPenis
                                                  End;
                                                Until YouHaveOrgasm;
                                                If (HowMany mod 15 = 0) then Write('You are BIG man !!!');
                                              Until YourPenisStay;
                                            End;
                                            
                                            
                                            Begin
                                              Prepare;
                                              Drinks;
                                              If Who(Drink)>Normal(Drink) Then Who:=FaceDown;
                                              Dances;
                                              Drug(All);
                                              Fuck(Girls);
                                              Go(AtHomes);
                                            End.
                                            Ответить
                                            • https://media.istockphoto.com/photos/crouched-man-waiting-for-the-train-picture-id915764666
                                              Ответить
                                              • <?php
                                                namespace Party;
                                                
                                                require 'Vine.php';
                                                require 'Zakus.php'
                                                require 'Condoms.php';
                                                
                                                require 'Variable.php';
                                                
                                                function Prepare() {
                                                  Find($House);
                                                  Buy($Bottles);
                                                  Buy($Zakus);
                                                  Buy($Drugs);
                                                  Call($Friends);
                                                  Call($Girls);
                                                }
                                                
                                                function Drinks() {
                                                  Open($Bottles);
                                                  do {
                                                    Drink(Next($Gramms100));
                                                    $Zakus=Eat(Next($Foods));
                                                  while (!TwoViewInEyes());
                                                }
                                                
                                                function Dances() {
                                                  $Music=True;
                                                  Call($OneGirl);
                                                  Go($DancingRoom);
                                                  with ($Music.Jump) {
                                                    if (Girl($Drink)>Normal($Drink)) {
                                                      Touch($AssOfGirl);
                                                      Touch($BrestOfGirl);
                                                    } else {
                                                      Go($DrinkingRoom);
                                                      Lets($Girl)=Drinks($More);
                                                      return $DancingRoom;
                                                    }
                                                  }
                                                }
                                                
                                                function Drug() {
                                                  if (Drugs==False) goto NoDrugsNow;
                                                  switch($Drug) {
                                                    case Plan: do Smoke(Plan) while (!Good()); break;
                                                    case Cocain: do Inspire(Gramms0_5); Wait(Seconds30) while (!Good()); break;
                                                    case Wheels: While (!VeryGood()) {
                                                        Swallow(Wheel6);
                                                        Wait(Minutes30);
                                                    }
                                                  }
                                                }
                                                
                                                
                                                function Fuck($Who) {
                                                  if ($Who!=$Girl) echo 'Are yor sodomite ??!';
                                                  Find($DarkRoom);
                                                  Close($Door);
                                                  Close($Windows);
                                                  If (!Find($BedInRoom)) $BedInRoom=$AnyPlace;
                                                  $HowMany=0;
                                                  do {
                                                    Call(Next($Who));
                                                    Delete(DressOf($Who));
                                                    Kiss($Lips,$Brest,$OtherPartsOfBody);
                                                    do {
                                                      array_push($YourPenis);
                                                      array_pop($YourPenis);
                                                    } while(!YouHaveOrgasm());
                                                    if ($HowMany % 15 = 0) echo 'You are BIG man !!!';
                                                  } while (YourPenisStay());
                                                }
                                                
                                                
                                                
                                                Prepare();
                                                Drinks();
                                                If (Who($Drink)>Normal($Drink)) $Who=$FaceDown;
                                                Dances();
                                                Drug($All);
                                                Fuck($Girls);
                                                Go($AtHomes);
                                                Ответить
                                                • Почему для снискания истошного вопля "Да ты ГИГАНТ !!!" размер отростка непременно должен быть кратен пятнадцати сантиметрам? С моими шестнадцатью или "CTEPTOP"-иными двумя будет уже не так весело?
                                                  Ответить
                                                  • Это не размер, это количество раз. Тут где-то в цикле пропущен инкремент счётчика.

                                                    Кратность пятнадцати проверяется, чтобы кричать не каждый раз, а хотя бы в 15 раз пореже.
                                                    Ответить
                                            • Ёп твою... Непасцалист сел за делфи и развёл функциональную грязь.

                                              Твой код попахивает говном немытыми носками, табачным дымом, кондомами и перегаром.
                                              Ответить
                                              • Мопед не мой, я просто разместил объяву. PARTY.PAS я видел на каком-то компакт-диске лет двадцать тому назад.

                                                А как бы Вы написали?
                                                Ответить
                                          • Где я ее просил мне писать, хрюква?
                                            Ответить
                                            • Простите, молодой человек. У Вас в рецепте хлористый кальций написан, а я Вам по ошибке цианистого отпустила. Добейте три копейки.
                                              Ответить
                                        • Хрюква, а какое отношение математика имеет к алгоритмам, реально используемых обычными проггерами и уже не реализованным где-то в стандартной библиотеке? Кто из вас сталкивался в работе с математикой за пределами арифметики и как часто?

                                          Лучше не позорься и сразу напиши - как не умели готовитьпрограммистов в 90-х, так и не умеем.
                                          Ответить
                                          • Мне не надо учить высшую математику, чтобы вести разработку на применяемых мною технологиях - лохи из "C++" уже давно всё сделали за меня бесплатно. Мне остаётся лишь использовать "mysql_real_escape_string" и течь.
                                            Ответить
                                            • Что-то мне подсказывает, что ты - долбоёб.
                                              Ответить
                                              • Если это самокритика, то может быть объяснишь почему ты так думаешь?
                                                Ответить
                                          • Мне, например, стыдно за коллег, которые не знают элементарные вещи из высшей (или даже школьной) математики, теории множеств, дискретной математики и теории вероятности. И похуй, что эти знания не используются при программировании на "PHP".
                                            Ответить
                                          • Пидар, а ты тут единственный умеешь программировать? Куча юзеров ГК знают математику и работают программистами, но с твоей точки зрения они ненастоящие программисты. Ты не знаешь математику и гордишься этим, никогда не работал программистом, однако, считаешь что лучше всех знаешь, каким должен быть программист.

                                            У тебя пердак горит из-за того, что кто-то обладает знаниями и навыками, которых нет у тебя?
                                            Ответить
                                            • Угу, хрюква, ты знаешь где и кем я работал. Телепат?

                                              Поступить на факультет прикладной математики, учить нахуй не нужные в работе вещи, потом самостоятельно учить нужные и при этом гордиться образованием. Всё как в 90-е.
                                              Ответить
                                              • Хуле опять не приходят письма с регистрации? Такой ник проебал.
                                                Ответить
                                                • Поэтому теперь я сначала регистрирую ник-пустышку, и лишь затем, в случае удачи, обычный.
                                                  Ответить
                                              • Какой багор )))

                                                Продолжай списывать свои неудачи на то, что тебя обучили навыкам, которыми ты не смог воспользоваться.
                                                Ответить
                                                • Где багор? У тебя?
                                                  Хуйне обучают в странах бывшего совка, хрюква. Или аргументированно опровергни, или иди нахуй.
                                                  Ответить
                                                  • Уже опроверг. Все работают, а ты ноешь.
                                                    Ответить
                                                    • А ты смишной :) Нет, ноете вы. Что приходят закончившие ВУЗ и нихуя не умеют. Ноете не затыкаясь, а потом рассказываете, что ною я.
                                                      Ответить
                                                      • Я думаю нихуя не уметь после вуза - это норм?
                                                        Ответить
                                                        • > нихуя не уметь после вуза - это норм
                                                          Если учился для галочки - да, конечно. И уклон в программирование, который Сёма пропагандирует, помог бы этим людям хотя бы на уровне технаря выйти, а не с полным нулём (хотя лучше бы они в технаре и учились, чтобы ресурсы не переводить впустую).

                                                          А остальные уже как-то умудряются работать, фрилансить, что-то своё пилить и т.п.
                                                          Ответить
                                                          • Под "Нихуя не уметь" я имел в виду не матан и тервер, а то, что понадобится в реальной работе: "Git", "PHP", "JavaScript", "design patterns", итд.
                                                            Ответить
                                                            • А я именно про эти "практические навыки" и писал выше.
                                                              Ответить
                                                            • VCS осваиваются самостоятельно. Для "рнр" вообще нахуй не нужна вышка, да и вообще она для программиста не обязательна должна быть, а не как в рашке. Для "как-то умудряются работать, фрилансить, что-то своё пилить" так точно. Правда, у вас и школа на год-два меньше, чем у нас.
                                                              Но у нас диплом означает хоть что-то, а у вас, судя по нытью в инете, она не означает вообще ничего.
                                                              Ответить
                                                              • >>VCS осваиваются самостоятельно
                                                                Тем не менее, упомянуть о существовании оных всё таки стоит. Достаточно рассказать про один любой VCS (да хоть RCS) а дальше уже сами.

                                                                >>да и вообще она для программиста не обязательна должна быть, а не как в рашке

                                                                В России она тоже не обязательна. 60% "программистов" это писатели бойлерплейта или копипастеры готовых сниппетов со стековерфлоу. Им вышка действительно не нужна.

                                                                Очередная, блядь, документооборотина для молокозавода. Добавь там поле в отчет или аутентификацию через OpenID. Зачем вышка то?
                                                                Ответить
                                                            • >>реальной работе: "Git", "PHP", "JavaScript",

                                                              Доктор PHPшных наук
                                                              Ответить
                                                              • Так скоро договоримся до того, что дворников тоже нужно готовить в вузе...
                                                                Ответить
                                                                • Вообще в странах бСССР часто встречается уверенность в необходимости высшего образования.

                                                                  Вероятно дело в том, что оно было (а часто и остается) бесплатным, и потому получить его относительно легко (я говорю конечно не про крутые ВУЗы а обычные, которых сейчас в каждом городе завались)

                                                                  Отсюда у нас с одной стороны те, кто идет в ВУЗ "ради корочки" (или потому что мама сказала, или потому что закончил школу и надо же что-то делать!).

                                                                  А с другой у нас совершенно трогательные вакансии типа
                                                                  https://hh.ru/vacancy/27840664
                                                                  * Поддержка оргтехники (МФУ, принтеры, плоттеры).
                                                                  * Требования: Высшее образование

                                                                  Мне кажется что в некоторых других странах вышка стоит так много, что ее рассматривают как инвестиции, и никто не будет учиться в ВУЗе чтобы потом обслуживать принтеры.

                                                                  Возможно и в России следовало бы выгнать на мороз распиздяев чтобы остались те немногие (а их действительно немного!) кто хочет серьезно заниматься программированием.

                                                                  Для остальных можно открыть трехмесячные курсы по обслуживанию МФУ.
                                                                  Ответить
                                                                  • Особенно любят получать вышку "шоб було" и потом работать не по специальности. НАХУЯ?
                                                                    Ещё про армию забыл. У вас для обычного городского это почти как смертный приговор, да и для Украины - 1,5 года жизни нахуй просто (пи, ты где?). Хоть возраст призыва до 20 лет подняли.

                                                                    Даже в странах, где вышка особо ничего не стоит, туда не валят так массово, ПТУ и рабочие профессии там далеко не так маргинализированы.
                                                                    Ответить
                                                                  • Ты хуёво цитируешь, гость. Там много чего помимо МФУ. Вот у нас есть фирмы, сдающие в аренду офисные ксероксы и обслуживающие их. Вот там вышка уже будет лишней.
                                                                    Ответить
                                                                    • >> Там много чего помимо МФУ.
                                                                      Ага:
                                                                      * Прием и регистрация обращений от пользователей.
                                                                      * Установка и настройка ОС, стандартного ПО.

                                                                      Тоессь ты считаешь впринципе нормальным что чувак там с численными методами разбирался чтобы потом "настройка ПО"?
                                                                      Ответить
                                                                      • Ну я не с рашки. Это же у вас эникей называется? В требованиях есть и администрация того-сего, а что из этого как часто встречается - я хз. У нас в вузах наверно есть отдельные эникеи, которые картриджи в принтерах меняют. Оси ставили исключительно методом записи образа, а вот этот образ уже пилил виндовый админ.
                                                                        Правда у нас вышка для админа тоже не нужна. Говнокурсы, а дальше опыт. Ещё один СНГшкаотсос.
                                                                        Ответить
                                                                • А их еще не готовят? И кстати у нас дворников как таковых нету. Подметают карманные машинки.
                                                                  Ответить
                                                                  • >>И кстати у нас дворников как таковых нету.

                                                                    Потому ты и без работы, да?
                                                                    Ответить
                                                                    • Не понял связи. Он что, охотник на дворников?
                                                                      Ответить
                                                                      • нет, он мог бы делать им кофе по утрам и они платили бы ему денюжку, но увы
                                                                        Ответить
                                                                        • Иди боярки накати, объебос. Будет он про страну золотого миллиарда пиздеть ртом, который недавно хуи принимал.
                                                                          Ответить
                                                          • Я вообще не понимаю почему одно надо противопостовлять другому.

                                                            Пять лет в ВУЗе вполне достаточно чтобы узнать что-то про теорвер и про компиляторы и про обедающих философов.

                                                            А вот сидеть в ВУЗе пять лет чтобы потом на "JavaScript" писать выпадающие меню всю жизнь это примерно как купить немецкий микроавтобус чтобы на нем в одиночку ездить. Дорого и глупо
                                                            Ответить
                                                            • > А вот сидеть в ВУЗе пять лет чтобы потом на "JavaScript" писать выпадающие меню всю жизнь это примерно как купить немецкий микроавтобус чтобы на нем в одиночку ездить. Дорого и глупо

                                                              Сегодня ты пишешь на "PHP" или "JavaScript", завтра ты найдешь другую работу, где нужны знания компиляторов и грамматик. Никогда не знаешь что пригодится. Базу нужно иметь всегда, ИМХО.
                                                              Ответить
                                                              • Но что мешает пойти в вуз, на курсы или еще куда когда ты упрешься в незнание? Я уже рассказывал про однокурсника, зарабатывавшего GWT до поступления. Правда, такие персонажи всё же редкость.
                                                                Ответить
                                                                • >Я уже рассказывал про однокурсника, зарабатывавшего GWT до поступления

                                                                  Я дохуя знаю зарабатывающих на всяких сайтах, SEO и иже с ними. Понятное дело что к CS это отношения не имеет
                                                                  Ответить
                                                                  • Зато это имеет отношение к зарабатыванию бабок. Чё сказать-то хотел?
                                                                    Ответить
                                                                    • А, мы тут говорим о том как по быстрее заработать сколько то бабок ничего особо не умея?

                                                                      Я не знал просто
                                                                      Ответить
                                                                      • Мы тут говорим о том нахуя получать вышку шоб було.
                                                                        Ответить
                                                                        • >>Мы тут говорим о том нахуя получать вышку шоб було.


                                                                          Это полный идиотизм, я согласен
                                                                          Ответить
                                                                          • Но это реальная практика была в начале 2000х и, судя по всему и сейчас...
                                                                            Ответить
                                                              • "Знания лишними не бывают", угу. Слышал эту мантру. Скорее, это даже не мантра, а палочка-погонялочка, которой детей накручивают, чтобы учились. То что эти знания стоят времени и усилий как-то забывают упомянуть.
                                                                Ответить
                                                                • Прекрати дышать. Дыхание тоже сто́ит усилий.
                                                                  Ответить
                                                                  • Хрюкни. Ебать как русне больно, когда ей говорят, что она не нужна.
                                                                    Ответить
                                                                • Знания действительно не бывают лишними, особенно если они профильные.

                                                                  Но тот, кто пришел "ради корочки" -- у того знаний не будет.
                                                                  Ответить
                                                                  • Что такое "профильные"?
                                                                    Ответить
                                                                    • >>Что такое "профильные"?
                                                                      Имеющие отношение к твоей профессии
                                                                      Ответить
                                                                      • Гость, ты заебал. Я уже какой раз спрашиваю- у вас появилось айтишное высшее образование? Можно увидеть учебный план?
                                                                        Ответить
                                                        • Ээээ нет. У нас было 3 семестра программирования, из них 1 с нихуёвым таким проектом, 2 проекта на семестр каждый, базы данных, алгоритмы и структуры данных, само собой. После этого выйти нулём - это не норм.

                                                          Я уже предлагал сравнить учебные планы у нас и в б. СНГ. Все только отмораживались.
                                                          Ответить
                                                          • Кстати, а как ты учился "у вас" не зная языков? Или немецкий всё-таки заранее знал на достаточном уровне?
                                                            Ответить
                                                            • С приезда до поступления прошло достаточно времени, у меня и абирур был немецкий.
                                                              Ответить
                                                          • > У нас было 3 семестра программирования, из них 1 с нихуёвым таким проектом, 2 проекта на семестр каждый, базы данных, алгоритмы и структуры данных, само собой. После этого выйти нулём - это не норм.

                                                            Это где? В рашке тоже примерно также.
                                                            Ответить
                                                            • Это в гермашке. Сказал же - выкладывайте учебные планы, сравним.
                                                              Ответить
                                              • >>Угу, хрюква, ты знаешь где и кем я работал.

                                                Ах, тоже мне секрет Полишинеля!
                                                Соль солёная, сахар сладкий, Сёма ничего не умеет и никогда никем нигде не работал.
                                                Ответить
                                          • >> какое отношение математика имеет к алгоритмам, реально используемых обычными проггерами


                                            никакое, сём
                                            Делай дальше сайтики на джанге или что ты там делаешь
                                            Ответить
                                            • Охблядь, а ты что делаешь? Хуяришь сайтики на рнр или на 1с хуяришь, а на говнокоде из себя эстета сраного строишь?
                                              Ответить
    • Ну, 0^0 иногда принимают равным единице, чтобы можно было записывать, скажем, многочлены: a_n x^n + a_{n-1} x^{n-1} + ... + a_1 x + a_0 = \sum_{i=0}^n a_i x^i , и не возникало проблем при x = 0.
      Ну и формально: композит пустого семейства равен нейтральному элементу, т.е. сумма 0 членов - это 0, а произведение 0 членов (в частности, нулевая степень) - это 1.

      Хотя тут можно сказать, что это просто разные возведения в степень. Скажем, функция f(x) = x^3 определена при всех x, а g(x) = x^x - только при положительных (а то область определения на отрицательной полуоси была бы совсем уродской - только те рациональные значения, у которых знаменатель нечетный?). Но можно сказать, что это перегрузка операций, определяемая типом аргумента: в первом случае - операция возведения в целое число, а во втором - в действительное, и у каждой операции своя область определения.
      Ответить

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