1. Лучший говнокод

    В номинации:
    За время:
  2. Си / Говнокод #27812

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    // http://cmustdie.com/ - баттхерт анскильных лалок, неосиливших сишку
    
    // Возьмём следующий фрагмент кода на языке Си:
    
    int x = 1;
    x = x << sizeof(int) * 8;
    
    // Попробуем предположить, какой результат у нас получится. Допустим, мы скомпилировали этот
    // код для процессоров архитектуры ARM. Инструкция битового сдвига в рамках этой аппаратной
    // платформы определена так, что итоговым значением переменной "x" должен быть "0". С другой
    // стороны, мы можем транслировать нашу программу в машинный код архитектуры x86. И уже там 
    // битовый сдвиг реализован таким образом, что значение "x" не изменится и останется равным
    // "1". Мы могли бы сделать вывод, что результат работы данного фрагмента кода зависит от
    // того, для какой аппаратной платформы мы его скомпилировали. Но на самом деле это не так.
    
    // В действительности данный фрагмент кода может быть обработан компилятором любым возможным 
    // и невозможным образом. Причина в следующем: согласно тексту стандарта языка Си битовый 
    // сдвиг на величину, большую или равную размеру выражения в битах, является неопределённым
    // поведением. Получается, нет никакой гарантии, что этот кусок кода вообще будет работать.

    Охуеть конечно

    j123123, 12 Ноября 2021

    Комментарии (40)
  3. JavaScript / Говнокод #27809

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function s(v: any): v is string
    {
    	return typeof v === "string";
    }
    
    function main()
    {
    	print(s("sss"));
    }

    А ты так можешь на С/C++ .. а я могу....

    ASD_77, 10 Ноября 2021

    Комментарии (40)
  4. Куча / Говнокод #27570

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    C	5.2s 	gcc test.c
    C++	1m 25s 	g++ test.cpp
    Zig	10.1s 	zig build-exe test.zig
    Nim	45s 	nim c test.nim
    Rust	Stopped after 30 minutes	rustc test.rs
    Swift	Stopped after 30 minutes 	swiftc test.swift
    D	Segfault after 6 minutes 	dmd test.d
    
    Rust and Swift took too long to compile 400k lines, so I tried smaller numbers: 
    
    # lines	Rust	Swift 	D
    2k	3.4s 	0.8s
    4k	9.0s 	1.0s
    8k	30.8s 	2.3s
    20k	3m 52s 	11.8s 	4.7s
    100k	- 	5m 57s 	segfault

    https://vlang.io/compilation_speed

    3.14159265, 15 Августа 2021

    Комментарии (40)
  5. Pascal / Говнокод #27528

    +4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    #!/usr/bin/env instantfpc
    
    program PrintCharTable;
    
    const
    	space = ' '; { }
    	point = '.'; {.}
    	caret = '^'; {^}
    	vline = '|'; {│}
    	hline = '-'; {─}
    	cross = '+'; {┼}
    	hex_0 = ord('0');
    	hex_a = ord('A')-10;
    
    function tohex(d: integer): char;
    begin
    	if d < 10 then
    		tohex := chr(d+hex_0)
    	else
    		tohex := chr(d+hex_a)
    end;
    
    var
    	i, j: integer;
    	code: integer;
    
    begin
    	write(space, space, vline);
    	for i := 0 to 15 do
    		write(space, point, tohex(i));
    	writeln;
    
    	write(hline, hline, cross);
    	for i := 0 to 15 do
    		write(hline, hline, hline);
    	writeln;
    	
    	for i := 0 to 15 do begin
    		write(tohex(i), point, vline);
    		for j := 0 to 15 do begin
    			code := i * 16 + j;
    			if code < 32 then
    				write(space, caret, chr(code+64))
    			else if code = 127 then
    				write(space, caret, chr(code-64))
    			else
    				write(space, space, chr(code))
    		end;
    		writeln
    	end
    end.
    
    {
    $ ./print_ascii.pas | iconv -f koi8-r
      | .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
    --+------------------------------------------------
    0.| ^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O
    1.| ^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_
    2.|     !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /
    3.|  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?
    4.|  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
    5.|  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _
    6.|  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
    7.|  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~ ^?
    8.|  ─  │  ┌  ┐  └  ┘  ├  ┤  ┬  ┴  ┼  ▀  ▄  █  ▌  ▐
    9.|  ░  ▒  ▓  ⌠  ■  ∙  √  ≈  ≤  ≥     ⌡  °  ²  ·  ÷
    A.|  ═  ║  ╒  ё  ╓  ╔  ╕  ╖  ╗  ╘  ╙  ╚  ╛  ╜  ╝  ╞
    B.|  ╟  ╠  ╡  Ё  ╢  ╣  ╤  ╥  ╦  ╧  ╨  ╩  ╪  ╫  ╬  ©
    C.|  ю  а  б  ц  д  е  ф  г  х  и  й  к  л  м  н  о
    D.|  п  я  р  с  т  у  ж  в  ь  ы  з  ш  э  щ  ч  ъ
    E.|  Ю  А  Б  Ц  Д  Е  Ф  Г  Х  И  Й  К  Л  М  Н  О
    F.|  П  Я  Р  С  Т  У  Ж  В  Ь  Ы  З  Ш  Э  Щ  Ч  Ъ
    }

    Печатает таблицу нужной кодировки. Пример использования в комменте после end.

    Threadwalker, 20 Июля 2021

    Комментарии (40)
  6. Куча / Говнокод #27362

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    Три девицы вечерком
    Чатились за коньячком…
    Мысль у всех была ловка:
    Схантить бы холостяка.
    Чтобы в теле мускулистом
    Был крутым специалистом,
    Чтобы с опытом в айти
    Лет так более пяти.
    В корпорации, стартапе
    Чтоб прошёл он все этапы,
    Да на англицком на слоге
    Пел на Хабре в своём блоге.
    И в сообществе средь профи
    Был желан, как кружка кофе.
    Ну, короче, чтоб матёр
    Был как истинный Senior.
    
    ...

    https://m.habr.com/ru/post/552828/

    Какое поэтство )))

    JloJle4Ka, 17 Апреля 2021

    Комментарии (40)
  7. Java / Говнокод #26970

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public void startLoginService(User paramUser) {
        if (paramUser != null) {
            Intent intent = new Intent((Context)this, LoginService.class);
            intent.putExtra("LOGIN_KEY", paramUser.getLogin());
            intent.putExtra("PASSWORD_KEY", String.valueOf(paramUser.getId()));
            startService(intent);
        }
    }

    GDMaster, 22 Сентября 2020

    Комментарии (40)
  8. Python / Говнокод #26708

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    def get_build_version():
        """Return the version of MSVC that was used to build Python.
    
        For Python 2.3 and up, the version number is included in
        sys.version.  For earlier versions, assume the compiler is MSVC 6.
        """
        prefix = "MSC v."
        i = sys.version.find(prefix)
        if i == -1:
            return 6
        i = i + len(prefix)
        s, rest = sys.version[i:].split(" ", 1)
        majorVersion = int(s[:-2]) - 6
        if majorVersion >= 13:
            # v13 was skipped and should be v14
            majorVersion += 1
        minorVersion = int(s[2:3]) / 10.0
        # I don't think paths are affected by minor version in version 6
        if majorVersion == 6:
            minorVersion = 0
        if majorVersion >= 6:
            return majorVersion + minorVersion
        # else we don't know what version of the compiler this is
        return None

    Определение версии конпелятора, которой был собран «CPython».

    TEH3OPHblu_nemyx, 30 Мая 2020

    Комментарии (40)
  9. Куча / Говнокод #26044

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    https://stackoverflow.com/questions/33569457/pymysql-returning-old-snapshot-values-not-rerunning-query
    
    
    > Thanks. This saved my day.
    > You are a hero to me, my country and the world in general. This saved my whole week. Also I did not found any other way to prevent this bug.
    > Thanks a lot, this saved my day

    Столкнулся с ровно такой же хуетой, как у стековерфлововца, но я делаю commit, и вижу изменения.
    Кто-то скажет, что не надо было ставить "MySQL".

    BJlADuMuPCKuu_nemyx, 25 Ноября 2019

    Комментарии (40)
  10. Куча / Говнокод #25448

    +2

    1. 1
    2. 2
    error_logger:format("Cannot force master when other "
                                  "node is up and is not a forced slave",[]),

    Overriding leader election в случае disaster recovery это тот ещё BDSM.

    CHayT, 13 Марта 2019

    Комментарии (40)
  11. PHP / Говнокод #25400

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    	$i = -1;
    	while ($i == $i)
    	{
    		$i = $i + (1);
    		echo($i + "," + " ");
    	}
    ?>

    KEK

    GenkaFF, 23 Февраля 2019

    Комментарии (40)