Змея / Говнокод #28913 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
import sys


def do_govno(govno: str) -> None:
    pass


def main() -> int:
    if len(sys.argv) != 2:
        print(f'Usage: {sys.argv[0]} <govno>')
        return EXIT_FAILURE
    
    govno = sys.argv[1]
    do_govno(govno)
    
    return EXIT_SUCCESS


if __name__ == '__main__':
    exit_code = main()
    sys.exit(exit_code)

Запостил: ISO ISO, (Updated )

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

    • Говно в том, что в Позиксе и в ДОС код разврата ноль хороший, а не ноль — плохой?
      Ответить
        • вот эту хуйню (которая кстати неправальная: писать ошибки надо в stderr) не нужно писать вручную
          if len(sys.argv) != 2:
                  print(f'Usage: {sys.argv[0]} <govno>')
                  return EXIT_FAILURE
          Ответить
  • а зачем так сложно, кстати?

    Зачем main и __main__?

    Скриптушня от слова "просто" же, а церемоний развели больше чем на жабе
    Ответить
    • Как я понял, __main__ для проверки того, что скрипт вызывается как самостоятельный, а не как библиотека. А в main() код убрали на всякий случай для возможности его использования как библиотечной функции.
      Ответить
      • >>__main__ для проверки того, что скрипт вызывается как самостоятельный, а не как библиотека. А

        а там есть библиотечные функции? кто-то типа захочет подключить его и заюзать do_govno?

        >А в main() код убрали на всякий случай для возможности его использования как библиотечной функции.

        и main заюзать?

        Ну тогда предлагаю не останавливаться, и сделать `lib/govno.py` и `main.py`, не?
        Ответить
          • Ну то-есть смотрите:

            Мы сначала берём скриптовый язык (скриптовый -- расчитанный изначально на простые, маленькие программы) а потом начинаем городить из него какую-то пафосную хуиту, где вот реально только `public static final void main` не хватает.

            Зачем?
            Ответить
            • Культ карго.

              Зачем туземцы вязали самолёты и диспетчерские будки из соломы?
              Ответить
              • Ну это в PHP так.

                Типа "раз в джаве есть 'new' -- то и нам надо"
                "Раз в джаве есть 'public' то и нам надо"
                "Раз в С++ есть стрелочка -- то и нам надо"

                Неужели и питон такой же?
                Ответить
  • А зачем вы пишете на змее так же, как на си?
    Ответить
    • Потому что на Си писать, как на змее, труднее.
      Ответить
      • почему не писать на си как на си?

        Блин, возьмите "Go": по вербозности будет не хуже вот этово вашего говна, а по удобству и перформансу лучше
        Ответить
        • // Гляди, питушок
          package main
          
          import (
          	"fmt"
          	"os"
          )
          
          func doAll(arg string) {
          	_, _ = fmt.Fprintf(os.Stdout, "Hoi %s", arg)
          }
          
          func main() {
          	if len(os.Args) < 2 {
          		_, _ = fmt.Fprintf(os.Stderr, "usage: %s [foo]\n", os.Args[0])
          		os.Exit(1)
          	}
          	doAll(os.Args[1])
          }


          Тоже самое, но намного чище, быстрее, и не требует рантайма
          Ответить
          • А что за морзянка «_, _»? fmt.Fprintf возвращает два значения, которые игнорируются?
            Ответить
            • Ага.
              https://pkg.go.dev/fmt#Fprint
              func Fprint(w io.Writer, a ...any) (n int, err error)


              Кол-во записанных байт, как можно догадаться, и ошибку.
              Ну мне похуй на ошибку (хотя конечно нормальный гофер бы так не сделал)

              Ну вот кстати обработка ошибок мне больше нравится в рустне.
              Ответить
              • Это так смешно: компилятор проверяет, что ты не игнорируешь ошибку, но он не может это сделать достоверно. Поэтому го-мартышки вынуждены писать if err ! = nil по всему коду.
                Ответить
                • Да, способ проверки пидорский.

                  Но с другой стороны он хотя-бы есть! В других языках нет и этого.
                  Ответить
                  • Я за рустнявый резалт. Это юнион из резалта и ошибки. его можно маттерн патчить!
                    Ответить
              • > хотя конечно нормальный гофер бы так не сделал
                > хотя конечно нормальный гофер
                > нормальный гофер

                что?
                Ответить
                • Послушайте,

                  "Go" был сделан, чтобы решить следующие задачи:

                  1. Любая макака должна уметь на нём писать
                  2. Любая макака не должна иметь возможность написать ОЧЕНЬ плохой код, который никто не поймет
                  3. Любая макака должна иметь возможность написать код, который использует все доступные ядра
                  4. Любая макака должна иметь возможность запустить приложение, которое написала другая макака
                  5. Желательно, чтобы всё это не очень сильно тормозило

                  Вроде как со своей задачей он справился, не?
                  Ответить
          • Программа импортирует `kernel32.dll`, а больше ничего. На прыще, соответственно, вообще not a dynamic executable.

            Зато весит она без малого 2 метра

            Хорошо-ли это?
            Ответить
  • Привет,

    Это ежедневное напоминание о том, что Brendan Eich и Ryan Dahl должны вечно вариться в кипящем масле у сатанаила под хвостом
    > 018 == '018'
    true
    > 017 == '017'
    false
    Ответить
    • Все, кто придумали ведущий ноль использовать как символ восьмеричной системы, должны гореть в аду.

      Почему в сишке шестнадцатеричные начинаются с 0x, в гцц двоичные с 0b, так что с десятичным никак не спутаешь, а восьмеричные записываются через жопу? Почему нельзя было сделать по аналогии 0o? Опять юниксобляди один символ экономили, как в creat?
      Ответить
    • > 017
      15
      > 018
      18
      > 019
      19
      > 020
      16
      
      > 019 > 020
      true


      Какой пиздец )))
      Ответить
      • Теперь Python:

        >> 020
        SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
        Ответить
        • PHP:

          php -r 'echo 019;'
          
          Parse error: Invalid numeric literal in Command line code on line 1
          Ответить
          • В Ruby сделали, как в PHP (ведущий ноль для записи восьмеричных, цифры 8 и 9 являются ошибкой).

            Lua:
            > 019
            19
            > 020
            20
            Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8