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

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

    +133

    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
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <unistd.h>
    
    void my_char_plus(const void *a, const void *b, void *c)
    {
      char tmp =  (*(char*)a + *(char*)b);
      memcpy(c,(void*)(&tmp),sizeof(char));
    }
    
    void my_char_minus(const void *a, const void *b, void *c)
    {
      char tmp =  (*(char*)a - *(char*)b);
      memcpy(c,(void*)(&tmp),sizeof(char));
    }
    
    
    
    void operation(const void *funct(const void*,const void*,void*),
                          const void *a, const void *b, void *c )
    {
      funct(a,b,c);
    }
    
    char ret_last_arg(const void *funct(const void*,const void*,void*),
                          const void *a, const void *b)
    {
      char c;
      funct(a,b,(void*)&c);
      return c;
    }
    
    
    
    int main(void)
    {
    
      char a, b;
      a = 5; b = 7;
      
      
      void *plus = &my_char_plus; char c;
      operation(plus, (const void*)&a, (const void*)&b, (void*)&c);
      printf("5 + 7 = %i\n", c);
      
      
      void *minus = &my_char_minus;
      char d = ret_last_arg(minus, (const void*)&a, (const void*)&b);
      printf("5 - 7 = %i\n", d);
      
      
    // LISP LISP LISP
    #define LISP(ar,aa,bb) ret_last_arg(ar, (const void*)&(char){aa}, (const void*)&(char){bb} )
    
      char e = LISP(plus,2,LISP(plus,2,2));
      printf("(+ 2 (+ 2 2 ) ) = %i\n", e);
      
      return 0;
    }

    Лиспопрограммирование на сишке через макрос (префиксная запись)
    Только оно кривовато тут, т.е. получаем трехадресный код (не как в лиспе)
    http://masters.donntu.edu.ua/2006/fvti/svyezhentsev/library/article2.htm
    Можно делать интерпретаторы фигни всякой, шитый код. Я упорот короче

    j123123, 08 Мая 2014

    Комментарии (18)
  3. C# / Говнокод #15939

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool In<T>(this T t, params T[] values)
    {
    	return t == null ? values.Any(v => v == null) : values.Contains(t);
    }
    
    public static bool NotIn<T>(this T t, params T[] values)
    {
    	return !t.In(values);
    }

    замечательный экстэншн к object

    baks, 07 Мая 2014

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

    +133

    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
    open System
     
    let inline un激辛カレー<'a> (f:obj) (tuple:obj) =
      match tuple with
      | :? ('a * 'a * 'a) as tuple -> 
        let a , b , c = tuple
        match f with
        | :? ('a -> 'a -> 'a -> 'a) as f -> f a b c
        | _ -> failwith "type did not matched! 3"
      | :? ('a * 'a) as tuple ->
        let a,b = tuple
        match f with
        | :? ('a -> 'a -> 'a) as f -> f a b
        | _ -> failwith "type did not matched! 2"
      | :? 'a as tuple ->
        let a = tuple
        match f with
        | :? ('a -> 'a) as f -> f a
        | _ -> failwith "type did not matched! 1"
      | _ -> failwith "type did not matched! tuple"
     
    printfn"%A"<| un激辛カレー<float> (fun x->x + 1.) 2.
    printfn"%A"<| un激辛カレー<int> (+) (10,10)
    printfn"%A"<| un激辛カレー<string> (fun (x:string) y z->x + y + z) ("How ","are ","you?")

    HaskellGovno, 03 Мая 2014

    Комментарии (5)
  5. C# / Говнокод #15859

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public string ReturnBondCurrency(int billTableLine)
    {
         return char.ConvertFromUtf32(Table[billTableLine, 1]) +
                char.ConvertFromUtf32(Table[billTableLine, 2]) +
                char.ConvertFromUtf32(Table[billTableLine, 3]);
    }

    Table - двумерный массив байт.
    Encoding.ASCII.GetString() отдыхает.

    yamamoto, 28 Апреля 2014

    Комментарии (0)
  6. C# / Говнокод #15856

    +133

    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
    abstract class Data
        {
            public string QueryText { get; protected set; }
            public BindingSource SelectResult { get; private set; }
            public object[] SelectedRow { get; protected set; } 
    
        
            /// <summary>
            /// Добавляет новую запись в таблицу
            /// </summary>
            protected virtual void InsertRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.InsertCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.InsertCommand.ExecuteNonQuery();
                }
    
            }
    
            protected virtual void UpdateRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.UpdateCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.UpdateCommand.ExecuteNonQuery();
                }
            }
    
            protected virtual void DeleteRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.DeleteCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.DeleteCommand.ExecuteNonQuery();
                }
            }
    
    
            /// <summary>
            /// Выбирает данные и записывает результат в переменную SelectResult
            /// </summary>
            protected virtual void Select()
            {
                DataSet DS = new DataSet();
                DS.Tables.Add("Tbl");
                SqlDataAdapter ADP = new SqlDataAdapter();
    
                if (IsConnected())
                {
                    ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
                    ADP.Fill(DS.Tables["Tbl"]);
    
                    SelectResult = new BindingSource();
                    string s = DS.Tables[0].TableName;
                    SelectResult.DataMember = s;
                    SelectResult.DataSource = DS;
                }
    
            }
    
    
            /// <summary>
            /// Выбирает данные и записывает результат в Object массив SelectedRow
            /// </summary>
            public virtual void SelectRow()
            {
                DataSet DS = new DataSet();
                DS.Tables.Add("Tbl");
                SqlDataAdapter ADP = new SqlDataAdapter();
    
                if (IsConnected())
                {
                    ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
                    ADP.Fill(DS.Tables["Tbl"]);
                }
    
                SelectedRow = DS.Tables[0].Rows[0].ItemArray;
    
            }
    
            private bool IsConnected()
            {
                if(DB.Connection.State == System.Data.ConnectionState.Open)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

    Ate1st, 28 Апреля 2014

    Комментарии (0)
  7. Си / Говнокод #15828

    +133

    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
    ...
    int
    (mblen)(const char *s, size_t n)
    {
    	if (s == (const char *)NULL) return 0;	/* no state dependent codings */
    	if (n <= 0) return 0;
    	return (*s != 0);
    }
    ...
     int
    mbtowc(wchar_t *pwc, register const char *s, size_t n)
    {
    	if (s == (const char *)NULL) return 0;
    	if (n <= 0) return 0;
    	if (pwc) *pwc = *s;
    	return (*s != 0);
    }
    ...
     int
    wctomb(char *s, wchar_t wchar)
    {
    	if (!s) return 0;		/* no state dependent codings */
    
    	*s = wchar;
    	return 1;
    }

    THE AMSTERDAM COMPILER KIT V6.0pre4
    ===================================

    © 1987-2005 Vrije Universiteit, Amsterdam
    2010-08-08

    ...

    SUPPORT
    =======

    Languages:

    ANSI C, Pascal, Modula 2. K&R is supported via the ANSI C compiler.



    А где здесь, собсно, ANSI C?

    Pythoner, 23 Апреля 2014

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Lol = "Lol"
    Put Lol
    Lol1 = "1", Lol2 = "2"
    Put Lol1+Lol2
    Set lol = string
    Lol = "HELLO LOLLED GUYS!"
    Put lol.lowcase
    Lolka="lolka"
    Put lolka.upcase

    Так сказать, новый язык программирования - название не придумал (помогите!!!).
    Результат выполнения программы:

    Lol
    3
    hello lolled guys!
    LOLKA

    Жду комментариев (напишите название для япа).

    Mobac, 19 Апреля 2014

    Комментарии (169)
  9. PHP / Говнокод #15757

    +133

    1. 1
    Добрый вечер, цыплята.

    Сосево из ширинки, ебля с порога.

    KonardStuard, 14 Апреля 2014

    Комментарии (1)
  10. Си / Говнокод #15734

    +133

    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
    #ifndef _TOGGLE_H_
    #define _TOGGLE_H_
    
    #include <winbase.h>
    #include "Python.h"
    
    #define ID(X) "id(" #X ")"
    
    #define SET_OBJ_POINTER(OBJ, NAME)\
        OBJ = (PyObject *)PyLong_AsLong\    
        (PyRun_String(ID(NAME), Py_eval_input,\
        PyEval_GetGlobals(), PyEval_GetLocals()))
    
    //////////////////////////////////////////////////////
    
    PyObject * __Py_None__;
    PyObject * __Py_True__;
    PyObject * __Py_False__;
    PyObject * __Py_NotImplemented__;
    
    #undef  Py_None
    #undef  Py_True
    #undef  Py_False
    #undef  Py_NotImplemented
    
    #define Py_None __Py_None__
    #define Py_True __Py_True__
    #define Py_False __Py_False__
    #define Py_NotImplemented __Py_NotImplemented__
    
    //////////////////////////////////////////////////////
    
    static void initToggle(void) {
        SET_OBJ_POINTER(Py_None, None);
        SET_OBJ_POINTER(Py_True, True);
        SET_OBJ_POINTER(Py_False, False);
        SET_OBJ_POINTER(Py_NotImplemented, NotImplemented);
    }
    
    int WINAPI DllMain(HANDLE hinstDLL, DWORD dwReason, LPVOID lpvReserved) {
        initToggle();
        return 1;
    }
    
    #endif

    Раскопал на старой флешке костыль, позволяющий компилить сишные модули для питона прям на кпк под WinMobile с помощью портанутой gcc. Была там бага - не видел собранный модуль Py_None, Py_True и т.д из python.dll. При помощи макроса SET_OBJ_POINTER приходилось вытаскивать указатели на них.

    Pythoner, 12 Апреля 2014

    Комментарии (0)
  11. Си / Говнокод #15732

    +133

    1. 1
    2. 2
    3. 3
    if (access(path, aflag) && mkfifo(path, mode) {
            exit(-1);
    }

    Весьма интуитивная запись условия

    evg_ever, 11 Апреля 2014

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