1. PHP / Говнокод #23555

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // nullable types
    // C#
    int?
    // TypeScript
    int?
    // Kotlin
    int?
    // PHP
    ?int

    нет мочи терпеть это дерьмо

    Запостил: Fike, 19 Ноября 2017

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

    • Не терпи. В чем проблема-то?
      Ответить
      • даже здесь, на самом ровном месте, с кучей примеров от предшественников, сделать всё по-пидорски
        Ответить
    • знак вопроса устал быть в последних рядах и в этот раз взял первенство
      Ответить
    • Хотя бы так сделали:
      ¿int?
      уже меньше вопросов возникало бы (pun intended)
      Ответить
      • Это в языке Che#, ¡сamarada!
        Ответить
        • usando Sistema;
               
              publico clase Prueba
              {
              	publico estatico vacio Principal()
              	{
              		ent n;
              		mientras ((n = ent.Analizar(Consola.LeerLinea()))!=42)
              			Consola.EscribirLinea(n);
              	}
              }
          Ответить
    • > PHP
      > types
      Ответить
      • Сорока тянет яркие вещи, а PHP тянет на себя кусочки чужого синтаксиcа.
        Немножко си, чуток джавы, и капельку статической типизации, которой все равно небось никто не пользуется.
        Ответить
        • > все равно небось никто не пользуется
          Fike пользуется и страдает
          Ответить
        • только сука дженерики так и не догадались подтянуть, поэтому вся эта система типов в половине случаев нахуй не нужна
          Ответить
    • // Java
      if (value != null) {
          /* ... */
      }
      Ответить
      • Не совсем. int никогда не null. Все ссылочные по сути имеют неявный ?. Integer наш кандидат
        Ответить
        • C чего ты взял что value это примитив, а не (указатель на) объект?

          зы: неявное нулабилити это говно. Хорошо что везде уже есть проверка: и в Kotlin, и в C#, и даже в ObjectiveC.

          Ну а в сами-знаете-каких языках надо было делать что-то типа паттернг матчинга чтобы явно проверить что тип не нул, так что тут у нас опять прогресс
          Ответить
          • > C чего ты взял что value это примитив
            В топике int.
            Ответить
          • >нулабилити это говно
            fixed за исключением низкоуровневых языков, где важен пирфоманс, но поскольку у ОПа разная вонючая gc-питушня, то...
            I call it my billion-dollar mistake…At that time, I was designing the first comprehensive type system for references in an object-oriented language. My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
            Ответить
            • > за исключением низкоуровневых языков, где важен пирфоманс
              Да и там она смотрелась бы лучше как опциональная фича, а не по-умолчанию. Большая часть проверок на NULL один хер бесполезны и снижают пирфоманс если компилятор их не выкинет.

              З.Ы. Те же джвусвязные кольцевые списки, которые так любят системщики, спокойно обходятся без NULL'ов и прочих специальных значений.
              Ответить
    • // nullable int в SQL
      INTEGER
      // обычный int в SQL
      INTEGER NOT NULL
      Ответить
    • Одна из причин, почему монадки — это хорошо. Добавил правильный сахар один раз, и вся эта питушиная возня становится не нужна.
      Ответить
    • >нет мочи терпеть это дерьмо
      Моча_съела_дерьмо.жпег
      Моча (PHP) съела чужое дерьмо (nullable types).
      Ответить
    • Бля здравомыслящий человек не станет писать на php, по опыту знаю и по людям!!
      Ну реально хуже сортира
      Ответить

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