1. Куча / Говнокод #24608

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Сравнение строк в "Java":
    
    if(striker.equals(govno)){
    
    Сравнение строк в "PHP":
    
    if(striker==govno){

    Запостил: 20_BLACK_CENTIMETERS, 10 Августа 2018

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

    • показать все, что скрытоvanished
      Ответить
      • Я хотел ещё придраться к тому, что он сраанивает констагты, но потом вспомнил, что это "PHP".
        Ответить
    • Кто-то убрал из жааы оператор "=="?
      Ответить
      • В Java оператор "==" не перегружаемый (чтоб не усложнять жизнь). Так вот, поскольку в Java все есть ссылкой (ну кроме примитивов), то == сравнивает ссылки:
        Foo foo1 = new Foo();
        Foo foo2 = foo1;
        Foo foo3 = new Foo();
        
        foo1 == foo2; // true
        foo1 == foo3; // false
        Ответить
        • Так в жопе всё гораздо пиздопротивнее чем я себе представлял! Не foo, а fffffffffffffffffffuuuuuuuuuuuuuuuuuuuuu !!!!!!!!!
          Ответить
          • Что тебе не нравица то?
            Что == не перегрузили?

            Кстати, в жопе есть один апиратор который на самом деле перегружен, кто угадает -- какой?
            Ответить
            • operator new?
              Ответить
              • ну, у new все таки один смысл всегда

                А вот есть оператор который, ваще говоря, к объекта не применим. Но для одного класса сделали исключение
                Ответить
                • Ты про сложение строк? Так себе перегрузочка, самому-то перегружать нельзя.
                  Ответить
                  • да, оно и есть:)

                    Кстати, что ты думаешь про перегрузку?

                    Обычно на вопрос "почему нельзя перегружать оператор" все жависты как под копирку отвечают: "потому что я перегружу оператор минус и класса User, и буду по нему посылать email, и будет тупо".

                    Мне кажется это какая-то тупая отмазка. Я могу написать хуёвый код и без перегрузки операторов тоже.

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

                      У меня, разумеется, необъективное мнение. Я люблю не только использовать существующие операторы, но и иметь возможность вводить новые.

                      Джависты безосновательно утверждают, что перегрузка операторов делает код менее читабельным, но на самом деле жабокод не смогут испортить никакие операторы: он уже нечитабелен из-за унылых стен однотипного текста, неуместного ООП и XML-конфигураций.

                      Серьёзно, мне не хватает терпения дочитать до конца типичное название жабокласса.

                      Любому трезвомыслящему человеку, который видел более-менее нетривиальный код с использованием BigInteger, должно быть очевидно, что умело использованная перегрузка операторов может сделать код гораздо более читабельным.
                      Ответить
                      • Ну, от XML конфигурации они стараются уходить в сторону JSON/YAML/TOML или каких-то DSLей на груви.

                        Если ты видел gradle, то понимаешь о чем я.

                        С остальным согласен: вербозность, многобуквенность, бойлерплейт и обертки вокруг оберток.

                        Авторов котлин это тоже заебало, и потому котлин с дата классами, пропертями, перегрузкой и топ левел функциями:)
                        Ответить
                        • Хуядле.
                          Ответить
                        • > и потому котлин с дата классами, пропертями, перегрузкой и топ левел функциями:)

                          Ты можешь не лечить меня своим котлином. Я лет пять назад угарал по Scala, так вот твой котлин — это упрощённая версия Scala, в которой меньше неявностей и для которой удобнее IDE писать.
                          Ответить
                          • И который быстрее компилируется, и который понимает макак менее требователен к программисту

                            Чой-то "моим"? Это ваш гугл сделал его основным япом для прикладной разработки под Android
                            Ответить
                            • > Чой-то "моим"?

                              Потому что кроме тебя им никто здесь не лечит.
                              Ответить
                              • Ничего, скоро джава под JVM станет нинужна и везде будет kotlin, вот увидите
                                Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • Почему ненужное? Просто в фунциональщину не все умеют.

                              Я в скалу не углублялся, но если сравнивать жаву и котлин то я точно могу сказать: смысла писать на джаве нет. Котлин лучше примерно по всем параметрам
                              Ответить
                            • > Скала - нинужное говно

                              Я абсолютно согласен с этим тезисом. Когда хочется сделать на скалке что-нибудь нетривиальное, она превращается в изящный «C++», и в плане читаемости, и в плане времени компиляции (возможно, тут есть положительные сдвиги, давно не проверял).

                              Просто вот эти вот "А в «К» можно просто X" подзадолбали: в Скалке всё тоже самое можно было уже лет 8 назад, язык в принципе гораздо более мощный и выразительный.

                              К слову, мне стабильно примерно раз в пару недель приходит письма со скала-вакансиями от случайных компаний по всему миру, но мне это уже совершенно не интересно. Сдаётся мне, Скалку в основном используют как чуть менее вербозную жаву с автовыводом типов.
                              Ответить
                • PHP govno, application halted by exception
                  Ответить
    • Говорят, на похоронах артистов принято аплодировать.
      Ответить
    • Литералы-литералы

      String konrado = "pidaraz";
      if (konrado=="pidaraz") {
      // ...
      }

      Отлично работает, точно так же как в PHP.

      Кстати,в Kotlin оператор == перегружен и вызывает equals у строк
      Ответить

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