1. Комментарий к говнокоду #7946

    • >>Ок, перехожу полностью на APL/J/K
      Ты прочитал что я написал?

      "Чем меньше текста -- тем легче его писать и читать, при условии конечно что понимание кода не падает. "

      >>Ещё скажи брейнфа
      Васик не изотерический же.

      Еще раз: я не говорю что питон плох, я всего лишь сказал что мне не хватает в нем некоторых вещей из руби, и что на питоне иногда приходится писать более вербозно. А ты завелся так, словно бы я обозвал питон говном.

      Он не говно, но в нем иногда надо писать более разжеванно и вербозно чем в руби. Это не очень приятно а кроме того не позволяет выебываться, а что за программист без выебонов?
      Ответить
    Показать код ▼

    PHP / Говнокод #7946

    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
    PHP язык несомненно порочный. 
    1. Взять, например, правило именования переменных - перед именем оных обязательно ставить знак доллара. 
    Т.е. в PHP закреплен (подсознательно или сознательно) посыл к тому что во главе любой вещи стоит доллар, 
    деньги, американские деньги, раздутая финансовая
    пирамида современности как нечто обязательное к употреблению,
    первостепенное, стоящее во главе всех вещей. 
    2. Заметим так же, что перед названиями функций, т.е. участков кода занимающихся программной работой, 
    подобного требования в PHP не существует. 
    Тем самым PHP внедряет в подсознание идеи обесценивания работы и труда. 
    3. Нетрудно связать второе с первым и понять что PH
    психо-идеологически стимулирует склонность к рабству перед
    вещественным, отрицает справедливого вознаграждения за труд, но превозносит власть денег, золота, роскоши и
    вообще всего материального. Инспирирует рабовладельчество вещи над человеком, а не человека над вещью.

    http://www.gamedev.ru/flame/forum/?id=152692#m10

    Запостил: C_Plus_Plus_Govno, 23 Сентября 2011

    Все комментарии (64)
  2. Комментарий к говнокоду #24386

    Показать код ▼

    Assembler / Говнокод #24386

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    global _start
    _start:
     mov ebx,0
     mov eax,1
     int 0x80

    https://habr.com/company/flant/blog/413959/

    Объясните для тупых, как программа в 3 команды может занимать аж 352 байта?
    Помню были приколы, когда в блокноте или пейнте писали бинарники.

    Запостил: guestinxo, 15 Июня 2018

    Все комментарии (115)
  3. Комментарий к говнокоду #24394

    Показать код ▼

    Куча / Говнокод #24394

    1. 1
    Анальные размышления...

    WEB-разработка в 2012-м году:

    HTML, JavaScript, CSS, PHP/Java/ASP, MySQL/PostgreSQL.

    WEB-разработка в 2018-м году:

    Composer, Gulp, NPM, React.js, Yarn, Angular, SASS, Vue.js, TypeScript, Bower, WebPack, GraphQL и где-то там немного каких-то непонятных HTML, JavaScript, CSS, PHP/Java/ASP, MySQL/PostgreSQL...

    Итог - за шесть лет некие одиозные уёбки всю индустрию WEB-разработки захламили откровенным мусором.
    К примеру, сегодня решил на одном из проектов обновить "jQuery" путём скачивания его последней версии с официального сайта, и мимоходом заприметил весьма прелюбопытное изменение, обошедшее мою осведомлённость стороною, а именно - эти бляди уже не подсказывают, как это было раньше везде, как можно включить скрипт в HTML-код (путём вставки в "<head>...</head>" тега вида "<script src="джикюери.жээс"></script>"); теперь они сходу, на полном серьёзе, без песды, сразу предлагают выполнить команды установки в "NPM" или в "Yarn", тем самым демонстрируя, что это поеботня теперь первична.
    "React.js", по которому ныне течёт половина косящих под илиту псевдопрограммистов в очочках и с мерзкими бородками, тоже ебанут, но по-своему - предлагает плюнуть на чистые и предельно очевидные "HTML" и "JavaScript" и перейти на его мыльнопузырное API с ёбнутым синтаксисом.
    Не кажется ли вам, что индустрия пресыщена наслоениями? Или же некоторые из них вы по некоей причине находите для себя полезными?

    Запостил: baobab, 18 Июня 2018

    Все комментарии (51)
  4. Комментарий к говнокоду #24087

    • Проверил: http://isitblockedinrussia.com/?host=tio.run

      Decision 27-31-2018/Ид2971-18 made on 2018-04-16 by Генпрокуратура.

      This block affects IP 165.227.0.0/16.


      Какой багор )))
      Ответить
    Показать код ▼

    Lua / Говнокод #24087

    1. 1
    return{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

    Запостил: u3yMpyDHblu_xyu, 07 Апреля 2018

    Все комментарии (15)
  5. Комментарий к говнокоду #178

    Показать код ▼

    C# / Говнокод #178

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int a=0;
    if (a != 0)
    {
     a=0;
    }
    else a=0;

    Запостил: guest, 15 Декабря 2008

    Все комментарии (18)
  6. Комментарий к говнокоду #24383

    • Страшная сишная арифметика указателей. И ведь работает, хотя мозг отказывается это понимать.
      Ответить
    Показать код ▼

    Си / Говнокод #24383

    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
    void trampoline(void (*func)(void), bool flag)
    {
        if (flag)
            func();
        else
            trampoline(func, true);
    }
     
    int 
    main(int argc, char *argv[])
    {
        /*... */
        trampoline(set_aes_keys, false);
    }

    Зачем так? ЯННП.

    Запостил: codemonkey, 14 Июня 2018

    Все комментарии (74)
  7. Комментарий к говнокоду #24380

    Показать код ▼

    Куча / Говнокод #24380

    1. 1
    2. 2
    Рак
    https://twitter.com/thelarkinn/status/1006746626617008128

    С этим миром явно что-то не так.

    Запостил: roskomgovno, 13 Июня 2018

    Все комментарии (211)
  8. Комментарий к говнокоду #24010

    Показать код ▼

    Lua / Говнокод #24010

    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
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    if(SERVER)then 
    util.AddNetworkString("gay_seks")
     util.AddNetworkString("natural_seks") 
    util.AddNetworkString("daite_exp")
    AddCSLuaFile("")
     local autismo_rangs = { "Рядовой",
     "Ефрейтор",
     "Сержант",
     "Старшина",
     "Прапорщик",
     "Лейтенант",
     "Капитан",
     "Майор",
     "Подполковник",
     "Полковник",
     "Генерал",
     "Маршал",
     
      "nope" } 
    local function ebat( ply )
     ply:SetNWString("xp_nado",tostring(ply:GetPData("xp_nado",50))) 
     ply:SetNWString("xp_xp",tostring(ply:GetPData("xp_xp",0))) 
     ply:SetNWString("xp_rang",autismo_rangs[tonumber(ply:GetPData("xp_rang",1))]) 
    end 
    local function lvlup( ply ) 
    if(tonumber(ply:GetPData("xp_xp",0)) > tonumber(ply:GetPData("xp_nado",50)))then 
    ply:SetPData("xp_nado",ply:GetPData("xp_nado",50)*2) 
    ply:SetPData("xp_xp",0) 
    ply:SetPData("xp_rang",ply:GetPData("xp_rang",1)+1) 
    ebat(ply) 
    net.Start("natural_seks") 
    net.Send(ply) 
    else 
    ebat(ply) 
    end 
    end 
    net.Receive("daite_exp",function(_,ply) 
    ply:SetPData("xp_xp",ply:GetPData("xp_xp",0)+5)
     net.Start("gay_seks")
     net.WriteString("+5")
     net.Send(ply)
     lvlup( ply )
     end)
     hook.Add("PlayerDeath","seks_s_nikitoi",function( victim, inflictor, attacker ) 
     if ( victim != attacker ) then
     attacker:SetPData("xp_xp",attacker:GetPData("xp_xp",0)+1)
     lvlup(attacker)
     net.Start("gay_seks")
     net.WriteString("+1")
     net.Send(attacker)
     end 
     end) 
     hook.Add( "PlayerInitialSpawn", "sex_s_azisom", ebat )
     else 
     surface.CreateFont( "motd_font", { font = "Arial", extended = true, size = 20, weight = 500, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = true, } )
     local function Sex(str) 
     print(str)
     if(IsValid(Sexmenu))then
     Sexmenu:Remove() 
     hook.Remove( "HUDPaint", "4CB_2")
     end 
     hook.Add( "HUDPaint", "4CB_2", function() 
     draw.Text( { text = str, pos = { ScrW()/2-100, 60 }, font = "motd_font" }) end ) 
     Sexmenu = vgui.Create( "DFrame" ) 
     Sexmenu:SetSize( 400, 40 ) 
     Sexmenu:SetPos(ScrW()/2-200,5) 
     Sexmenu:SetTitle( "" ) 
     Sexmenu:ShowCloseButton(false) 
     Sexmenu:SetDraggable( false ) 
     Sexmenu.cal = 255 
     Sexmenu.Paint = function(s,w,h) 
     draw.RoundedBox( 10, 0, 0, w, h, Color(0,0,0,Sexmenu.cal) ) 
     if(Sexmenu.cal > 150)then 
     Sexmenu.cal = Sexmenu.cal-1 
     else 
     Sexmenu:Remove() 
     hook.Remove( "HUDPaint", "4CB_2") 
     end 
     draw.RoundedBox( 10, 20, 10, w-40, h-20, Color(100,100,100,Sexmenu.cal) ) 
     draw.RoundedBox( 10, 20, 10, tonumber(LocalPlayer():GetNWString("xp_xp",0))*(360/tonumber(LocalPlayer():GetNWString("xp_nado"))), h-20, Color(100,100,255,Sexmenu.cal) ) 
     draw.RoundedBox( 10, 20+(tonumber(LocalPlayer():GetNWString("xp_xp",0))*(360/tonumber(LocalPlayer():GetNWString("xp_nado"))))-10, 10, 10, h-20, Color(150,150,255,Sexmenu.cal) ) 
     end 
     end 
     hook.Add( "HUDPaint", "4CB", function() 
     draw.Text( { text = "Ты : "..LocalPlayer():GetNWString("xp_rang","gay_hacker")..", до следующего ранга: "..tonumber(LocalPlayer():GetNWString("xp_nado",50))-tonumber(LocalPlayer():GetNWString("xp_xp",0)).." XP", pos = { 10, 10 }, font = "motd_font" }) 
     end ) 
     net.Receive("gay_seks",function() Sex(net.ReadString()) 
     end) 
     net.Receive("natural_seks",function() 
     RunConsoleCommand("say","Ура! Я теперь - "..LocalPlayer():GetNWString("xp_rang","gay_hacker")) sound.PlayURL ( "http://prayingforpapers.com/download/Kaihgd_F10kUJ8Hy5ip-fu9FajZ271b4nbYu_Mszc6nPJ2a2HmS-vaFnyqjFspFlTy9YCBzh-4TD7k-JKQz9Zb4RZvHJQUI4fPzxcd2aD6c/%D0%9B%D0%B2%D0%BB+%D0%B0%D0%BF+%D0%BE%D1%83%D1%83+%D0%BC%D0%B0%D0%B9+%D0%BB%D0%B0%D1%84+%D0%B7%D0%B2%D1%83%D0%BA(prayingforpapers.com).mp3", "mono", function( sinok ) sinok:Play() end ) end) local function DAIMOEGOMNO() net.Start("daite_exp") net.SendToServer() timer.Simple(900,function() 
     DAIMOEGOMNO() 
     end) 
     end 
     timer.Simple(900,function() DAIMOEGOMNO() end) 
    end

    [Garry's Mod Lua]

    Код нужен для выдачи рангов игрокам.

    Нету табуляций.

    Запостил: milkymax775, 26 Марта 2018

    Все комментарии (11)
  9. Комментарий к говнокоду #24068

    • На гугле говнокод щас восьмой, а на яндексе даже в 30-ке нету.
      Ответить
    Показать код ▼

    Lua / Говнокод #24068

    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
    return{
    	[1] = 100500,
    	[2] = 10,
    	x = {
    	[1] = "ss"
    ,
    	[2] = {
    	[1] = {
    	[1] = {
    	[1] = {
    	[1] = {
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }
    ,
    }

    Орфография сохранена, это моя старая сериализация. Ничего особенного, но когда сериализуем огромное количество таблиц с 100550 вложений, то внешний вид превращается хлеще брайнфака

    Запостил: u3yMpyDHblu_xyu, 04 Апреля 2018

    Все комментарии (6)
  10. Комментарий к говнокоду #24240

    • http://govnokod.ru/24325

      Из-за этого сайт и заблокировали.
      Ответить
    Показать код ▼

    1C / Говнокод #24240

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    Функция СоздатьМассив // Экспорт, 29 параметров
    (
    	Значение01 = '05710422152926',
    	Значение02 = '05710422152926',
    	Значение03 = '05710422152926',
    	Значение04 = '05710422152926',
    	Значение05 = '05710422152926',
    	Значение06 = '05710422152926',
    	Значение07 = '05710422152926',
    	Значение08 = '05710422152926',
    	Значение09 = '05710422152926',
    	Значение10 = '05710422152926',
    	Значение11 = '05710422152926',
    	Значение12 = '05710422152926',
    	Значение13 = '05710422152926',
    	Значение14 = '05710422152926',
    	Значение15 = '05710422152926',
    	Значение16 = '05710422152926',
    	Значение17 = '05710422152926',
    	Значение18 = '05710422152926',
    	Значение19 = '05710422152926',
    	Значение20 = '05710422152926',
    	Значение21 = '05710422152926',
    	Значение22 = '05710422152926',
    	Значение23 = '05710422152926',
    	Значение24 = '05710422152926',
    	Значение25 = '05710422152926',
    	Значение26 = '05710422152926',
    	Значение27 = '05710422152926',
    	Значение28 = '05710422152926',
    	Значение29 = '05710422152926'
    )
    Экспорт
     
    	Нил_ = '05710422152926'; // Предположительная дата рождения пророка Мухаммеда
     
    	Если Нил_ = Значение02 Тогда
    		Если Нил_ = Значение01 Тогда
    			Массив_ = Новый Массив;
    			Перейти ~Метка00;
    		Иначе
    			Массив_ = Новый Массив(1);
    			Перейти ~Метка01;
    		КонецЕсли;
    	ИначеЕсли Нил_ = Значение06 Тогда
    		Если Нил_ = Значение04 Тогда
    			Если Нил_ = Значение03 Тогда
    				Массив_ = Новый Массив(2);
    				Перейти ~Метка02;
    			Иначе
    				Массив_ = Новый Массив(3);
    				Перейти ~Метка03;
    			КонецЕсли;
    		ИначеЕсли Нил_ = Значение05 Тогда
    			Массив_ = Новый Массив(4);
    			Перейти ~Метка04;
    		Иначе
    			Массив_ = Новый Массив(5);
    			Перейти ~Метка05;
    		КонецЕсли;
    	ИначеЕсли Нил_ = Значение14 Тогда
    		Если Нил_ = Значение10 Тогда
    			Если Нил_ = Значение08 Тогда
    				Если Нил_ = Значение07 Тогда
    					Массив_ = Новый Массив(6);
    					Перейти ~Метка06;
    				Иначе
    					Массив_ = Новый Массив(7);
    					Перейти ~Метка07;
    				КонецЕсли;
    			ИначеЕсли Нил_ = Значение09 Тогда
    				Массив_ = Новый Массив(8);
    				Перейти ~Метка08;
    			Иначе
    				Массив_ = Новый Массив(9);
    				Перейти ~Метка09;
    			КонецЕсли;
    		ИначеЕсли Нил_ = Значение12 Тогда
    			Если Нил_ = Значение11 Тогда
    				Массив_ = Новый Массив(10);
    				Перейти ~Метка10;
    			Иначе
    				Массив_ = Новый Массив(11);
    				Перейти ~Метка11;
    			КонецЕсли;
    		ИначеЕсли Нил_ = Значение13 Тогда
    			Массив_ = Новый Массив(12);
    			Перейти ~Метка12;
    		Иначе
    			Массив_ = Новый Массив(13);
    			Перейти ~Метка13;
    		КонецЕсли;
    	ИначеЕсли Нил_ = Значение22 Тогда
    		Если Нил_ = Значение18 Тогда
    			Если Нил_ = Значение16 Тогда
    				Если Нил_ = Значение15 Тогда
    					Массив_ = Новый Массив(14);
    					Перейти ~Метка14;
    				Иначе
    					Массив_ = Новый Массив(15);

    1С Медицина: Больничные
    Халяль

    Запостил: elizir, 09 Мая 2018

    Все комментарии (5)
  11. Комментарий к говнокоду #176

    Показать код ▼

    PHP / Говнокод #176

    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
    switch (true) {
    		case $formid == 'search_form' :
    		case $formid == 'search_theme_form' :
    			$form['#action'] = getlangpref() . ltrim($form['#action'], '/');
    			$form['#submit']['gpcustom_customsubmit'] = array();
    			break;
    		case $formid == 'localizernode_translations' :
    			foreach ( $form['languages'] as $key => $value ) {
    				if ( !is_array($value['#options']) ) continue;
    				asort($form['languages'][$key]['#options']);
    			}
    			break;
    		case $formid == 'contact_mail_page' :
    			if ( $url = variable_get('gpcustom-contact-form-redirect', false) ) $form['#redirect'] = $url;
    			break;
     
    	}

    Долго медитировал над этим кодом...
    Чую, чувак уже достиг нирваны, в отличае от меня...
    (Кусок из Дрюпального модуля)

    Запостил: guest, 15 Декабря 2008

    Все комментарии (7)
  12. Комментарий к говнокоду #24385

    • Объект.ДатаНач = '00010101' писать еще как можно... В данном случае значение часов минут и секунд будет равно 0... мало того, такой прием используется повсеместно в типовых решениях от 1С.
      Ответить
    Показать код ▼

    1C / Говнокод #24385

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Если (Строка(Объект.ДатаНач) = "01.01.0001 0:00:00") или (Строка(Объект.ДатаКон) = "01.01.0001 0:00:00") Тогда
      ТекстСообщения = НСтр("ru = 'Задайте период формирования отчета!
      |Должны быть заполнены дата начала и дата окончания периода.'");
      Предупреждение(ТекстСообщения);
      Возврат;
     КонецЕсли;

    Проверка даты от лучшего программиста организации с ЗП 100k р

    Запостил: AlexZ1978, 15 Июня 2018

    Все комментарии (9)
  13. Комментарий к говнокоду #24393

    • Сотовая связь очень много потребляет. Вообще беспроводная связь (любая) это нормальный такой поедатель батарейки
      Ответить
    Показать код ▼

    Куча / Говнокод #24393

    1. 1
    Давайте ругать "ВКонтакте", "AVITO", "Facebook" и "Wikipedia" за то, что они используют "PHP".

    Запостил: baobab, 18 Июня 2018

    Все комментарии (11)
  14. Комментарий к говнокоду #24390

    Показать код ▼

    JavaScript / Говнокод #24390

    1. 1
    2. 2
    3. 3
    function _random_key() {
        return '_' + new Date().getTime();
    }

    Fucking random!

    Запостил: BonzoBoom, 17 Июня 2018

    Все комментарии (4)
  15. Комментарий к говнокоду #172

    Показать код ▼

    PHP / Говнокод #172

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($site_is_work)
     {
     }
    else
     {
    	exit('Сайт не работает');
     }

    Запостил: guest, 14 Декабря 2008

    Все комментарии (20)
  16. Комментарий к говнокоду #18528

    • с бардаком, содомией и беспределом ассоциируется Стертор ибо беспредельщик и пидарас
      Ответить
    Показать код ▼

    Assembler / Говнокод #18528

    1. 1
    LEA EAX, [EBX]

    Зачем Интел придумал лишнюю инструкцию с запутанной семантикой, если она эквивалентна MOV EAX, EBX?

    Запостил: inkanus-gray, 24 Июля 2015

    Все комментарии (154)
  17. Комментарий к говнокоду #24276

    Показать код ▼

    C++ / Говнокод #24276

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    using namespace std;
    #include <typeinfo>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string>
    #include <math.h>
    #include <stdarg.h>
     
    template <unsigned FRA,unsigned EXP>
    struct F {
        union{
            float     f;
            unsigned ui;
            unsigned ef : FRA+EXP;	    
            struct
            {
    	        unsigned f : FRA;
    	        unsigned e : EXP;
    	        unsigned s : 1;
            } s;
        };
        F (double x){f=x;}
        F operator =(const double x) { 
            f=x; return *this;
        }    
     
    #define NOOP ;
    #define  UN(OP,BODY, RET)   float    operator OP(	) { BODY; return RET;}
    #define BIN(OP,BODY, RET)   F    operator OP(F other	) { BODY; return RET;}
    #define BINF(OP,BODY,RET)   F    operator OP(const float other) { BODY; } BIN(OP,BODY,RET)
    #define CMP(OP)        bool operator OP(const F& other) 
     
        UN ( -  ,   s.s^=1   ,     (f)       )
        BIN( += , f+=other.f , (  *this  )   )
        BIN( +  , NOOP       , { f+other.f}   )
        BIN( -  ,++other.s.s , {*this+other} )
        BIN( *  ,   NOOP    ,   fmul(f,{other})        )
        BIN( /  , div(other), (  *this  ) )
        BINF(*=, ui=fmul(*this   ,{other}).ui, (  *this  )   )  
        BINF(/=, ui=fmul(*this,rcp(other)).ui, (  *this  )   )  
     
     
        CMP(==){
            return other.ui==ui;
        }    
     
        F out(string s) const{
            printf("> %s%f\n",s.c_str(),f);
        }
        F plus(F other)
        {
            f+=other.f;
            return *this;        
        }    
     
        F div(F other)
        {
            ui=fmul(rcp(other),{f}).ui;
            return *this;        
        }    
        F sqrt()
        {
            s.e-=127;
            ui>>=1; 
            s.f-=(s.f>>4);
            s.e+=127;        
            return *this;        
        }
        F pow(int n)
        {
            s.e-=127;
            ui*=n; 
            ef+=(ef>>4);
            ef-=(ef>>9);
            s.e+=127;
            return *this;
        }    
     
    private:    
        static F rcp(F f) {
            f.s.e=(~f.s.e-2);
            f.s.f=(~f.s.f-2);
            return f;
        }
     
        static F fmul(F r,F b)
        {
            r.s.s   ^= b.s.s;
            r.ef += ((r.s.f&b.s.f)>>4);
            r.ef += b.ef ;
            r.s.e+= 129;
            return r;
        }
     
     
    };
     
    using F32 = F<23,8>;
     
    static F32 of32(float x)

    Царь был прав. Во всём.
    Патамучто это плавающий питух, который априори говно. И чем вы быстрее это поймёте, чем будет лучше.

    В соответствии со своим пониманием сделал мммаксимально простую реализацию плавающих питухов произвольного размера.
    Строго на интах.


    Пример здесь:
    uhttps://ideone.com/dDrj7s

    Запостил: 3.14159265, 16 Мая 2018

    Все комментарии (66)
  18. Комментарий к говнокоду #24313

    • Ты берешься разрабатывать вещь, которую ты должен реализовать по готовому документу, который напишут люди которые таких вопросов не задают потому что знают ответы (или делают вид).
      Ответить
    Показать код ▼

    Куча / Говнокод #24313

    1. 1
    Серьёзный вопрос к местным игроделам:

    А есть ли какое-нибудь универсальное исследование, которое говорит, как должны быть устроены формулки в rpg/mmorpg?
    Типа что номер уровня должен зависеть как корень степени 2.8 от количества exp, hp -- линейно от str и int, а дамаг -- как среднее геометрическое дамага перса и дамага его оружия.
    Пробовал гуглить/читать геймдев -- нашёл только пространственные рассуждения "начни делать хоть как-то, а потом с помощью говна и палок отбалансируй".

    P.S. Да, я хочу написать игру и сидеть в неё играть.

    Запостил: Bobik, 23 Мая 2018

    Все комментарии (36)
  19. Комментарий к говнокоду #21465

    Показать код ▼

    Куча / Говнокод #21465

    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
    Будьте внимательны: педерасты среди нас есть пидары.
     
    Вы деструктивно действуете на общество, распространяете вич и растлеваете детей.
    Вы используете девушек, прикрывая свою темную сторону -  семьей, словно щитом.
    Люди хуем делают детей, а Вы им месите говно.
    Люди очком срут, а Вы его целуете и лижете.
    Вы глотаете сперму, что для настоящего мужчины - огромное унижение.
    От человека, не уважающего самого себя, нечего ждать.
    Вы пытаетесь выдавать мерзость вроде обмана и полигамии -  за настоящие чувства.
    Даже получив признание законом истинности своих деяний, Вы никогда не получите
    признания народа, ибо ни один разумный человек не позволит зомбировать себя, когда факты налицо. 
     
    Эти факты просто ужасны.

    Запостил: l024--, 17 Октября 2016

    Все комментарии (12)
  20. Комментарий к говнокоду #24375

    • > быстро моргающий экран
      Дык надо моргать быстрее, миллионы раз в секунду и синхронно с развёрткой.
      Ответить
    Показать код ▼

    Assembler / Говнокод #24375

    1. 1
    2. 2
    add    bp, 4 ; 83C504
    lea    bp, [bp + 4] ; 8D6E04

    А они ещё говорят, что первого байта для всех КОПов не хватает, и ввели дополнительный.

    Запостил: 666_N33D135, 11 Июня 2018

    Все комментарии (262)