1. Куча / Говнокод #16581

    +131

    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
    module Main:
    	program factorial:
    		algorithm factorial:
    			description of the algorithm:
    				factorial of n is the algorithm that calculates the product of all the positive integers less than or equal to n.
    			end of description of the algorithm.
    			example of usage of the algorithm:
    				var1 is equal to call algorithm with parameter n which is equal to 5;
    					begin of a comment:
    						var1 is now1 120 = 5*4*3*2*1.
    						end of a comment.
    			end of example of usage of the algorithm.
    			description of author of the algorithm:
    				name: John.
    				surname: Smith.
    				date of writing of the algorithm: 2009.
    			end of description of author of the algorithm.
    			properties of the algorithm:
    				callable from other modules.
    				callable from this module.
    				can be used in expressions.
    			end of properties of the algorithm.
    			parameters of the algorithm:
    				data n: type is positive integer.
    			end of parameters of the algorithm.
    			variables of the algorithm:
    				data res: type is positive integer.
    				data now1: type is positive integer.
    			end of variables of the algorithm.
    			initialization of the variables of the algorithm:
    				res is equal to 1.
    				now1 is equal to n.
    			end of initialization of the variables of the algorithm.
    			begin of the algorithm:
    				cycle: while now1 is not 1, repeat:
    					res is equal to multiply res by now1.
    					now1 is equal to subtract 1 from now1.
    				end of cycle.
    				result of the algorithm is res
    		end of the algorithm.
    
    		algorithm main:
    			description of the algorithm:
    				main algorithm that shows the factorial of the inputted number.
    			end of description of the algorithm.
    			example of usage of the algorithm:
    			end of example of usage of the algorithm.
    			description of author of the algorithm:
    				name: John.
    				surname: Smith.
    				date of writing of the algorithm: 2009.
    			end of description of author of the algorithm.
    			properties of the algorithm:
    				callable from the system.
    			end of properties of the algorithm.
    			parameters of the algorithm:
    				data arguments: type is array of strings.
    			end of parameters of the algorithm.
    			variables of the algorithm:
    			end of variables of the algorithm.
    			initialization of the variables of the algorithm:
    			end of initialization of the variables of the algorithm.
    			begin of the algorithm:
    				call algorithm writeInteger with parameter str which is equal to
    					call algorithm factorial with parameter n which is equal to
    						call algorithm readInteger without parameters.
    				result of the algorithm is 0.
    		end of the algorithm.

    Небольшой ответ набирающему популярность WCT. Новый язык программирования LOOOONG:
    - Отступы обязательны.
    - Все блоки в функциях ("алгоритмах") обязательны.
    - блоки нужно записывать именно в таком порядке.
    - Имена параметров необходимо помнить, когда вызываешь "алгоритм".
    - Ключевых слов ОЧЕНЬ МНОГО.

    miscff, 22 Августа 2014

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    http://vk.com/proger_girl?z=photo-34196141_334770895%2Falbum-34196141_00%2Frev
    
    http://vk.com/tproger?w=page-30666517_48155477
    
    http://vk.com/search?c%5Bq%5D=wct&c%5Bsection%5D=auto&w=wall172535832_2076

    WCT - оно везде!

    kegdan, 21 Августа 2014

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

    +101

    1. 1
    удалено

    Кто делает выгрузка в таком формате???
    xml? json? так лучше, епта

    Cascader, 21 Августа 2014

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

    +143

    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
    Монады как коллбеки
    
    На джаваскриптовой конференции, о которой я писал в прошлом посте, в процессе обсуждения 
    ФП неизбежно встала тема монад.
    
    Мне было интересно, насколько легко можно объяснить монады «на пальцах». Возможно, не в 
    той степени, чтобы человек смог сразу с ними программировать, но в той степени, чтобы понимать,
     что они делают и зачем нужны.
    
    И у меня возникла идея объяснить монады без типов. Мне кажется, главную сложность при изучении 
    монад вызывают именно типы (а точнее, конструкторы типов и классы конструкторов типов), т.к. многие 
    приходят в Haskell из языков с менее выразительной системой типов.
    
    В то же время, монады могут существовать и в динамических языках. А если из монад убрать типы, 
    то останется лишь то, как они работают во время исполнения — и там все довольно прозрачно.
    
    Вычислительная сущность монад — это continuation passing style, или коллбеки. Любая программа 
    на node.js написана в этом стиле.
    
    Левый аргумент >>= — вычисление, а правый — коллбек. Коллбек принимает результат вычисления 
    и совершает какие-то дальнейшие вычисления
    
    Эта аналогия особенно точно выполняется для монад Identity, IO, Maybe/Either. Каждая отдельная 
    монада определяет, к чему конкретно будет применен коллбек.
    
    Но посмотрим, например, на монаду [] (список). Если руководствоваться только лишь представлением 
    о монаде как о вызове коллбеков, то самый простой способ определить списочную монаду — это a >>= k = map k a (что неверно).
    
    Аналогия с коллбеками слишком «императивна» и не улавливает тонкость — структуру самой монады. 
    Чтобы эту структуру наглядно показать, как раз и нужны типы.

    kegdan, 19 Августа 2014

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

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    rem Check if Windows XP or Windows 7
    rem XP: C:\Documents and Settings (or language specific folder)
    rem 7: C:\Users
    
    set oprsystem=%appdata:~3,5%
    if %oprsystem%==Users (
      set ops=win7
    ) else (
      set ops=winxp
    )

    Batch
    http://members.ferrara.linux.it/freddy77/encfs.html

    galeksandrp, 18 Августа 2014

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    ng-include="'views/partials/header.html'"
    - class="navbar navbar-static-fixed-top nav"></div>
    + /*class="navbar navbar-static-fixed-top nav"*/></div>
     <ui-view id="main" class="container" id="mainContainer"></ui-view>

    GIT commit diff for Angular template

    armengabriel, 18 Августа 2014

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

    +124

    1. 1
    2. 2
    quicksort [] = []
    quicksort (h:t) = (quicksort(filter (=h) t))

    quicksort на хаскель. лаба. масло. 2014

    kegdan, 16 Августа 2014

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

    +128

    1. 1
    2. 2
    isParallel :: Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Integer -> Bool
    isParallel x1 y1 x2 y2 x3 y3 x4 y4 = if (((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) == 0) then True else False

    лаба по хаски
    параллельны ли 2 прямые?

    kegdan, 16 Августа 2014

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

    +120

    1. 1
    Вот вам всё не нравится wct.. а я могу сказать вам её применение! Wct editor может быть использован для хранения исполняемых файлов в самой программе.

    Конечно, есть и другие способы хранить программы в программах, но это - мой способ :)
    P.S. Сделал DLL, кому нужен? (Хотя не, что я несу? Никому же не нужен..)

    Mobac, 06 Августа 2014

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

    +126

    1. 1
    2. 2
    3. 3
    GOD BAD DOG GARAGE AGE
    
    ;В exe файлы не запихивать в wct editor-е, а то шиндоус пострадает ;-)

    Вот такие слова можно составить на системе счисления wct :)
    !!! ВНИМАНИЕ !!! В exe файлы не запихивать в wct editor-е, а то шиндоус пострадает ;-)
    (ЗЫ: для тех, кто не знает, что такое wct, прошу сюда - vk.com/wct_official, http://wctsite.tk)

    Mobac, 05 Августа 2014

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