"PHP" / Говнокод #24589 Ссылка на оригинал

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
  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
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
<?php
error_reporting(0);
ini_set('display_errors', '0');
mb_internal_encoding('UTF-8');
header('Access-Control-Allow-Origin: *');
header('Content-Type: text/html; charset=utf-8');
$string=mb_strtolower(trim($_REQUEST['q']));
$string=str_replace('#', 'sharp', $string);
$string=str_replace('++', 'plusplus', $string);
preg_match_all('/(\w+)/u', str_replace('_', '', $string), $matches);
$words=$matches[1];
$bad=array();
$good=array();
foreach($words as $word){
if(mb_strpos($word, 'java')!==false || mb_strpos($word, 'джав')!==false || mb_strpos($word, 'ява')!==false){
if(mb_strpos($word, 'script')===false && mb_strpos($word, 'скрипт')===false){
$bad[]='Java';
}
}
if(mb_strpos($word, 'python')!==false || mb_strpos($word, 'питон')!==false || mb_strpos($word, 'пайтон')!==false){
$bad[]='Python';
}
if(mb_strpos($word, 'perl')!==false || mb_strpos($word, 'перл')!==false || mb_strpos($word, 'пёрл')!==false){
$bad[]='Perl';
}
if(mb_strpos($word, 'cplusplus')!==false || mb_strpos($word, 'сplusplus')!==false || mb_strpos($word, 'cpp')!==false){
$bad[]='C++';
}
if(mb_strpos($word, 'csharp')!==false || mb_strpos($word, 'сsharp')!==false || mb_strpos($word, 'сишарп')!==false || mb_strpos($word, 'сшарп')!==false){
$bad[]='C#';
}
if($word=='c' || $word=='си' || $word=='сях'){
$bad[]='C';
}
if(mb_strpos($word, 'haskel')!==false || mb_strpos($word, 'хаскел')!==false){
$bad[]='Haskell';
}
if(mb_strpos($word, 'pascal')!==false || mb_strpos($word, 'паскал')!==false){
$bad[]='Pascal';
}
if(mb_strpos($word, 'delphi')!==false || mb_strpos($word, 'delfi')!==false || mb_strpos($word, 'делф')!==false || mb_strpos($word, 'дельф')!==false){
$bad[]='Delphi';
}
if(mb_strpos($word, 'assembler')!==false || mb_strpos($word, 'asm')!==false || mb_strpos($word, 'ассемблер')!==false || mb_strpos($word, 'асм')!==false){
$bad[]='Assembler';
}
if(mb_strpos($word, 'ruby')!==false || $word=='руби' || mb_strpos($word, 'рубист')!==false || mb_strpos($word, 'рубях')!==false){
$bad[]='Ruby';
}
if(mb_strpos($word, '1c')!==false || mb_strpos($word, '1с')!==false || mb_strpos($word, '1ц')!==false){
$bad[]='1C';
}
if(mb_strpos($word, 'dart')!==false || mb_strpos($word, 'дарт')!==false){
$bad[]='Dart';
}
if(mb_strpos($word, 'linux')!==false || mb_strpos($word, 'линукс')!==false || mb_strpos($word, 'линух')!==false || mb_strpos($word, 'ubunt')!==false || mb_strpos($word, 'убунт')!==false || mb_strpos($word, 'debian')!==false || mb_strpos($word, 'дебиан')!==false || mb_strpos($word, 'freebsd')!==false || mb_strpos($word, 'фрибсд')!==false){
$bad[]='Linux';
}
if(mb_strpos($word, 'unix')!==false || mb_strpos($word, 'nix')!==false || mb_strpos($word, 'юникс')!==false || mb_strpos($word, 'юних')!==false){
$bad[]='Unix';
}
if(mb_strpos($word, 'jvm')!==false || mb_strpos($word, 'жвм')!==false){
$bad[]='JVM';
}
if(mb_strpos($word, 'jsharp')!==false){
$bad[]='J#';
}
if(mb_strpos($word, 'jplusplus')!==false){
$bad[]='J++';
}
if(mb_strpos($word, 'git')!==false || mb_strpos($word, 'гит')!==false){
if(mb_strpos($word, 'hub')===false && mb_strpos($word, 'хаб')===false && mb_strpos($word, 'lab')===false && mb_strpos($word, 'лаб')===false){
$bad[]='Git';
}
}
if(mb_strpos($word, 'svn')!==false || mb_strpos($word, 'свн')!==false){
$bad[]='SVN';
}
if(mb_strpos($word, 'postgres')!==false || mb_strpos($word, 'постгр')!==false || mb_strpos($word, 'pg_')!==false){
$bad[]='PostgreSQL';
}
if(mb_strpos($word, 'composer')!==false || mb_strpos($word, 'композер')!==false){
$bad[]='Composer';
}
if(mb_strpos($word, 'bower')!==false || mb_strpos($word, 'бовер')!==false || mb_strpos($word, 'бауэр')!==false || mb_strpos($word, 'боуэр')!==false){
$bad[]='Bower';
}
if(mb_strpos($word, 'node')!==false || mb_strpos($word, 'ноде')!==false || mb_strpos($word, 'нода')!==false){
$bad[]='NodeJS';
}
if(mb_strpos($word, 'php')!==false || mb_strpos($word, 'пхп')!==false || mb_strpos($word, 'пых')!==false || mb_strpos($word, 'пэхапэ')!==false || mb_strpos($word, 'похапэ')!==false || mb_strpos($word, 'пехапе')!==false || mb_strpos($word, 'похапе')!==false || mb_strpos($word, 'эйч')!==false || mb_strpos($word, 'пшп')!==false){
$good[]='PHP';
}
if(mb_strpos($word, 'mysql')!==false || mb_strpos($word, 'мускул')!==false || mb_strpos($word, 'майскул')!==false){
$good[]='MySQL';
}
if(mb_strpos($word, 'windows')!==false || mb_strpos($word, 'виндовс')!==false || mb_strpos($word, 'шинд')!==false || mb_strpos($word, 'винд')!==false){
$good[]='Windows';
}
}

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

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

  • $bad=array_unique($bad);
    $good=array_unique($good);
    $cons=array('говно', 'для быдла', 'для чмошников');
    $pros=array('для элиты', 'непередаваемое наслаждение');
    $phrases=array();
    if(count($bad)>0){
    $phrase='';
    $i=1;
    shuffle($bad);
    foreach($bad as $word){
    $phrase.='"'.$word.'"';
    if($i==count($bad)-1){
    $phrase.=' и ';
    } elseif($i<count($bad)){
    $phrase.=', ';
    }
    $i++;
    }
    $phrase.=' - '.$cons[array_rand($cons)].'.';
    $phrases[]=$phrase;
    }
    if(count($good)>0){
    if(count($bad)>0){
    $phrase='А вот ';
    } else {
    $phrase='';
    }
    $i=1;
    shuffle($good);
    foreach($good as $word){
    $phrase.='"'.$word.'"';
    if($i==count($good)-1){
    $phrase.=' и ';
    } elseif($i<count($good)){
    $phrase.=', ';
    }
    $i++;
    }
    $phrase.=' - '.$pros[array_rand($pros)].'.';
    $phrases[]=$phrase;
    }
    if(count($phrases)>0){
    echo implode(' ', $phrases)."\nФакт.\n\nОтправлено с помощью \"PHP\".";
    }
    ?>
    Ответить
  • Ёбаный в рот, зачем я такое на ночь увидел.
    Ответить
  • Добавь тогда уж и автоголосвалку. А то чо как быдло!
    Ответить
    • "Pascal", "Unix", "Bower", "1C", "SVN", "J++", "Dart", "NodeJS", "Perl", "C#", "PostgreSQL", "Ruby", "J#", "Haskell", "C++", "JVM", "Assembler", "Linux", "Composer", "Python", "Delphi", "Git" и "Java" - говно. А вот "MySQL", "Windows" и "PHP" - для элиты.
      Факт.

      Отправлено с помощью "PHP".
      Ответить
  • Я, HighVoltageDick, находясь в здравом уме и твердой памяти, торжественно заявляю:
    Ответить
  • HighVoltageDick, ты какой таймаут обновления поставил, пидор? Из-за тебя ГК лагать начал. Факт.
    Ответить
    • var cids=[];
      setInterval(function(){
      jQuery.get('/comments', function(response){
      var html=jQuery(response);
      var breaked=false;
      jQuery.each(html.find('.hentry'), function(){
      if(!breaked){
      var entry=jQuery(this);
      var username=jQuery.trim(entry.find('.entry-author').first().text());
      var comment=jQuery.trim(entry.find('.entry-comment').first().text());
      if(username!='HighVoltageDick'){
      var link=jQuery.trim(entry.find('.answer').first().attr('href'));
      var cid=link.split('replyTo=')[1];
      if(cids.indexOf(cid)==-1){
      cids.push(cid);
      jQuery.get(link, function(response2){
      var html2=jQuery(response2);
      var form2=html2.find('form').eq(1).serialize();
      jQuery.get('http://localhost/langs.php?q='+encodeURIComponent(comment), function(response3){
      if(jQuery.trim(response3)!=''){
      console.log(response3);
      jQuery.post(link, form2+'&text='+encodeURIComponent(response3));
      }
      });
      });
      }
      }
      }
      });
      });
      }, 10000);
      Ответить
          • Я понял, что "PHP" - для элиты, а ты возьми да переведи.
            Ответить
              • Я понял, что "PHP" - для элиты, а ты возьми да переведи.
                Ответить
                  • Я понял, что "PHP" - непередаваемое наслаждение, а ты возьми да переведи.
                    Ответить
                      • Я понял, что "PHP" - непередаваемое наслаждение, а ты возьми да переведи.
                        Ответить
                          • Я понял, что "P‎HP" - непередаваемое наслаждение, а ты возьми да переведи.
                            Ответить
                            • Смысл сам у себя на ГК спрашивать? Спрашивай в каком-нибудь другом месте. В психушке, например.
                              Ответить
  • >>> Отправлено с помощью "P‎HP".
    Так это же пиздёж, получается. Это сгенерировано оно с помощью "P‎HP", а вот отправлено - очень даже с помощью "Ja‎vasc‎ript".
    Ответить
  • Нахуя нужны фигурные скобки для однострочных операторов?
    Ответить
    • Как-то мне встречался си-подобный язычок – "Gentee", так вот в нём кроме фигурных скобок был ещё вот такой синтаксис:
      if hui: pizda(); djigoorda(); bla(); blabla()
      Т.е. операторные скобки здесь это ":" и перевод строки. Вообще это прикольный язык, стандартная библиотека там годная, просто подключать dll, text-функции. Вот только он из тех языков, который никому нахуй не всрался.
      Ответить
      • Если добавить круглые скобки у условия if и "endif" в конце, то получим "PHP":
        if (hui): pizda(); djigoorda(); bla(); blabla(); endif;

        Именно поэтому я за "PHP". На нём можно писать разными способами.
        Ответить
          • А что у нас будет вместо baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy и thud?
            Ответить
        • То ли дело Forth:
          HUI IF PIZDA DJIGOORDA BLA BLANLA THEN
          Ничего лишнего – никаких скобочек, двоеточиий, точек с запятой и пр.
          Ответить
          • Зато двоеточие и точка с запятой есть вокруг функций объявления новых слов. И смотрятся они там весьма странно.
            Ответить
            • С непривычки – да, но синтаксис полностью изменяемый, можно переопределить что угодно:
              : DEF : ;
              : END-DEF POSTPONE ; ; IMMEDIATE
              
              DEF FACTORIAL ( n -- n! )
                  DUP IF
                      DUP 1- RECURSE *
                  ELSE
                      DROP 1
                  THEN
              END-DEF
              
              7 FACTORIAL .
              Ответить
                • Много пилить, кроме синтаксиса нужно реализовать сборщик мусора, все функции и что там ещё.
                  Ответить
                  • Ну не все пилить естественно, а только необходимое для минимального примера.
                    Ответить
          • Вот пример определения однострочного IF: (только одна ветвь):
            : DEF : ;
            : END-DEF POSTPONE ; ; IMMEDIATE
            
            DEF IF:
                POSTPONE IF
                SOURCE SWAP >IN @ + SWAP >IN @ - EVALUATE
                SOURCE SWAP DROP >IN !
                POSTPONE THEN
            END-DEF IMMEDIATE
            
            
            DEF FACTORIAL ( n -- n! )
                DUP IF: DUP 1- RECURSE * EXIT
                DROP 1
            END-DEF
            
            7 FACTORIAL .
            Ответить
      • Почему, его иногда вспоминают, когда шутят про итерацию с единицы
        Ответить
        • А когда вспоминают "Lua" - вспоминают тебя.
          Ответить
        • Скорее уж про паскаль вспомниают, кмк про луа знает куда меньше народу
          Ответить
          • Странно, что именно про паскаль вспоминают, ведь индексом у массива может быть любой перечисляемый тип, даже char, и начинать индексацию тоже можно с любого значения. Разве что в типе string идёт индексация с 1, потому что в 0-м элементе хранится её длина.
            Ответить
            • Я паскаль не видел четверть века.
              Напомни пожалуйста как там поменять индексацию? директивой копелятора?
              Ответить
                • и правдаю. А так же можно [42..100] ?

                  значит, по умолчанию она там была с единицы

                  А еще так в VB(S), кажется.

                  В Lua вообще индексация штука забавная: там таблица может быть и массивом и словарем/мапой/хешем и объктом одновременно
                  Ответить
                  • В Паскале нет никаких умолчаний. Нужно каждый раз указывать стартовый индекс.
                    Ответить
                  • > А так же можно [42..100] ?
                    Любой перечислимый тип, "42..100" – тип диапазон, его тоже можно юзать, можно даже [byte] – эквивалентно [0..255], или даже [word] (помню что в TP это не работало, потому что макс рпзмер массива был чуть поменьше размера сегмента). В динамических массивах (array of integer) индексация с 0.

                    > В Lua
                    Там же всё таблы? Как реализовано? Всё – хэш-таблицы, независимо от того массив ли это, словарь, объект и пр.?
                    Ответить
                    • Да, таблы. Табла может быть массивом или словарем.
                      petux  = {"pit", "tux", kurochka="rjaba"} --это массив из двух элементов, а по ключу kurochka у нас ряба
                      
                      print(#petux) --"длина" массива у нас 2, бо оператор # считает до первой "дырки"
                      print(petux[1]) --pit
                      print(petux['kurochka']) --pit
                      Ответить
                  • Даже так можно: array [-42 .. 42] of integer.
                    Ответить
                • Можно даже использовать тайпдефы:
                  type
                      letters = 'a' .. 'z';
                      massiv = array [letters] of integer;
                  var
                      a: massiv;
                  Ответить
                  • Можно даже так:
                    type
                        huinya = (huinya1, huinya2, huinya3, huinya4, huinya5);
                        mas = array [huinya1..huinya3] of huinya;
                    Ответить
                        • Кстати, а как дела с типами в Питоне? Он вроде бы, как и Паскаль, заимствовал некоторые идеи из языка SETL.
                          Ответить
                          • Со множествами? На уровне синтаксиса только перечисление элементов {1,2,4}, всё остальное – конструкторы и методы.
                            Ответить
                          • list (нумерующийся с ноля динаический массив) имеет свой литерал

                            spam = ['eggs', 'bar']
                            print (len(spam)) # 2

                            ренджей (как в руби и перле) как таковых нет
                            Ответить
                            • > нумерующийся с ноля динаический массив
                              Да скорее мутабельный кортеж
                              Ответить
                              • В целом нет: семантически кортеж это упорядоченный набор фиксированной длины, возможно гетерогенный. А лист гомогенный и не фиксированный.

                                name = ("ivan", "pupkin")[0] #ok
                                for foo in ("ivan", "pupkin") # не ok

                                name = ["ivan", "pupkin"][0] #не ok
                                for user in ["roskomo", "needless"]# ok

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

                                      Вот и я о том же, и они правы. Язык не энфорсит твоих красивых идей, поэтому можно делать что хочется.
                                      В нормальных языках со статической типизацией это энфорсится, и твои рассуждения в них имели бы смысл.
                                      Ответить
                                      • Питон вообще ничего не энфорсит. Плюс это или минус это другой вопрос.
                                        Ничто не мешает тебе обращаться к непубличными символам, например:
                                        from spam import _eggs
                                        _eggs._MyClass()._foo()

                                        Но так делать плохо, правда?

                                        Так же и тут: правила есть, но за ними никто не следит
                                        Ответить
                                        • Когда мне первый раз показали питон там уже было

                                          pituh = ("kurochka",) везде


                                          Потом я увидел
                                          ptushki = ("kurochka", "tsyplenochek"), и говорю: почему не ["kurochka", "tsyplenochek"] ?

                                          А мне: "ну чтобы не изменить случайно". Тут-то я и понял что немного PHP есть в каждом питоне
                                          Ответить
                                • Зачем ты приплетаешь сюда понятия из других языков? Мы говорим про питон, ау. Ты говоришь, что список гомогенный (хоть почти всегда это так и есть), а гетерогенный – плохо, что юзать кортеж как ридонли массив – плохо, но на вопрос "чем плохо?" ты вякаешь "семантика разная" и всё, ничего конкретного.

                                  > for foo in ("ivan", "pupkin") # не ok
                                  Что "не ok"? Итерироваться по кортежу, потому что элементы могут быть разного типа? Так проверяй тип, если не уверен что этот кортеж гомогенный. Со списком та же хуйня.

                                  > name = ["ivan", "pupkin"][0] #не ok
                                  Тут что "не ok"? И почему можно с кортежом? Ты уверен, что если функция возвращает кортеж, что он ненулевой длины?
                                  Ответить
                                  • даже в хачкеле только ленивый не хочет итерироваться по кортежу с элементами разного типа, это называется Generic programming.
                                    Ответить
                                  • >>ничего конкретного.
                                    я тебе ссылку дал сверху, поди почитай до просветления
                                    https://stackoverflow.com/questions/1708510/python-list-vs-tuple-when-to-use-each?answertab=votes#tab-top


                                    И тут еще
                                    [quote]
                                    Though tuples may seem similar to lists, they are often used in different situations and for different purposes. Tuples are immutable, and usually contain a heterogeneous sequence of elements that are accessed via unpacking (see later in this section) or indexing (or even by attribute in the case of namedtuples). Lists are mutable, and their elements are usually homogeneous and are accessed by iterating over the list.
                                    [/quote]
                                    https://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequences
                                    Ответить
                                    • Опять же, ты не ответил на вопрос "почему нельзя использовать кортеж как ридонли массив и почему гетерогенный список – плохо". Список обычно гомогенный и изменяемый, кортеж обычно нет. Обычно – не значит, что по-другому обязательно плохо.
                                      Ответить
                                      • У любого инструмента есть правильное использование ("по назначению"). Правильным ("по назначению') я называю такое использование, которое задумывал его создатель. Однако у многих инструментов есть какие-то свойства, которые позволяют использовать их не по назначению (например утюгом можно угнетать капусту потому что он тяжелый).

                                        Кортеж, как и было сказано выше, это аналог структуры, однако вместо имен полей там положения. Семантика лежащих в нем объектов однозначно определена их положением.

                                        Например следующий кортеж указывает на точку в двумерном пространстве: (22, 34).

                                        Тут 22 это координата по оси X, а 34 по Y. Не смотря на то, что это два числа, у них разный смысл (та сама ситуция, когда тип один, а семантика разная)

                                        Если это понять, то становится так же понятно почему не имеет смысла добавлять что-то в кортеж: он (как структура) имеет изначально известное количество мест, и за каждым закреплен какой-то смысл.
                                        А вот в стек, очередь и вектор добавлять можно.

                                        Разумеется, можно использовать туплу как "рид-онли-лист" пытаясь с ее помощью компенсировать отсутствие его в питоне, но это использование не по назначению (см утюг), да к тому же зачем искуственно тащить в язык "неизменяемый" объект, если его там нет изначально? не лучше тогда сразу взять язык с ридонли листом?

                                        Вот если бы у питона вместо туплы были сразу же структуры (привет, руби) то насколько легче было бы жить
                                        Ответить
                                        • >> Например следующий кортеж указывает на точку в двумерном пространстве: (22, 34).

                                          Но ведь это вектор. Это координаты вектора, указывающего из начала координат в данную точку.

                                          Да, добавить «элементы» (координаты) к этому вектору мы не можем, потому что изменится размерность пространства.

                                          Однако, у «физического» вектора координаты зависят от базиса. Если мы повернём систему координат на четверть оборота, то (22, 34) может превратиться в (34, -22). А если на произвольный угол, не кратный четверти оборота, то 22 и 34 вообще смешаются. Но да, у первой и второй координаты смысл разный — это проекции на разные базисные направления.

                                          Поэтому у «программистского» вектора название неудачное. Фактически в программировании векторами называют списки, произвольные конечные последовательности, не привязанные к пространству.
                                          Ответить
                                          • Согласен, что у вектора название в программировании неудачное.

                                            Про остальное то что думаешь?
                                            Мне правда интересно, кто-то кроме меня, Supamee и Izkata читал "datastructures.html", или все правда думают что кортеж это ридонли лист?
                                            Ответить
                                            • > все правда думают что кортеж это ридонли лист?

                                              Честно говоря, ты люто задрал своей «семантикой». Семантика задаётся либо рефересной имплементацией, либо спекой.
                                              Если в спеке написано "так делать низя" или спеки нет и референсная реализация этого не позволяет, вот это значит, что так делать низя.

                                              Давай откроем референс бидона.
                                              https://docs.python.org/3/reference/datamodel.html#objects-values-and-types
                                              Спека нигде никаких семантик не упоминает, кроме иммутабельности никаких отличий от списка не упоминается. Референсная реализация CPython, как ты понимаешь, тоже никаких дополнительных ограничений не налагает.

                                              Более того, есть куча примеров, когда тюплы используются в спеке просто как иммутабельные списки, вот например

                                              __bases__ is a tuple containing the base classes, in the order of their occurrence in the base class list
                                              Ответить
                                              • Нахуй ему что-то доказывать? Он просто выёбывается.
                                                Ответить
                                              • В питоне все задается человекочитаемым текстом, и технически ничего не запрещается.

                                                Полистай на две строчки вверх, или давай я тебе скопирую:

                                                [quote]
                                                Though tuples may seem similar to lists, they are often used in different situations and for different purposes. Tuples are immutable, and usually contain a heterogeneous sequence of elements that are accessed via unpacking (see later in this section) or indexing (or even by attribute in the case of namedtuples). Lists are mutable, and their elements are usually homogeneous and are accessed by iterating over the list.
                                                [/quote]

                                                https://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequences
                                                Ответить
                                                • Да мне насрать на этот туториал и на того, кто его написал. В референсе написано, что тюплы в питоне ходят и крякают как иммутабельные списки, значит, это иммутабельные списки.

                                                  Если в вашем влажном воображении как-то по-другому, это ваши проблемы, обратитесь к специалисту.
                                                  Ответить
                                                    • Чего ты добивался, ебень? Нельзя было сразу назвать отличие? Нахуй ты выёбываешься?
                                                      Ответить
                                                    • > Тебе насрать на туторил по питону на сайте python.org? Правда?

                                                      Именно. Почему меня должен волновать туториал? Ты ещё скажи, что меня должно беспокоить, что написано в туториале по C++ на сайте cplusplus.com.

                                                      > they are often used in different situations and for different purposes.
                                                      > usually contain

                                                      Никакой конкретики, никаких референсов. Тот, кто писал туториал, предпочитает такую интерпретацию, это его право. Совершенно непонятно, почему чьё-то икспертное мнение побуждает тебя бегать по форумам и доказывать, что все вокруг неправы.

                                                      читани спекца.
                                                      Ответить
                                                      • Я не знаю какое отношение имеет сайт cplusplus.com к комитету по стандартам, а сайт python.org к питону имеет самое прямое отношение, и обычно если там что-то написано значит Гвидо именно это и имел ввиду.

                                                        Приведенный тобою референс отписывает техническую реализацию, а в туториале на python.org описывается как этим пользоваться.

                                                        В питоне ничего практически не форсится интерпретатором, но есть правила использования и обычно им следуют. Например, начинающиеся с подчеркивания символы не публичны (хотя никто не мешает к ним обращаться). Например, тупла это не "рид онли лист", хотя никто не мешает его так использовать.

                                                        В других языках тоже можно "обмануть" компилятор.

                                                        В сях можно скастить указатель на структуру с char полями в указатель на массив чаров и интерироваться по нему. Следуя твоей логике "структура в сях это массив" (привет, царь!) потому что это работает.

                                                        В HTML/CSS можно навесить background на таг strong, сделать его блочным, квадратным, и использовать в качестве кнопки.
                                                        Однако семантика у него "выделять важную часть текста", даже не смотря на то, что ее можно легко переопределить.

                                                        В джаве можно дергать рефреклисей приватные методы, и сделать вывод что контроля видимости в джаве нет, потому что ну вот же: работает!

                                                        Если что-то "просто работает" и идет в разрез с докой на основном сайте, то это хак.
                                                        Ответить
                                                        • > Следуя твоей логике "структура в сях это массив" (привет, царь!) потому что это работает.

                                                          Следуя моей логике этого делать нельзя, поскольку по стандарту такой код содержит Undefined Behavior.

                                                          > В джаве можно дергать рефреклисей приватные методы, и сделать вывод что контроля видимости в джаве нет, потому что ну вот же: работает!

                                                          Ты не поверишь, но фреймворки зачастую именно это и делают! При правильном использовании это полезно, и спека этого не запрещает.

                                                          > сделать вывод что контроля видимости в джаве нет

                                                          Есть, если выставить правильный секьюрити менеджер через setSecurityManager.
                                                          Ответить
                                                          • >>такой код содержит Undefined Behavior.
                                                            Почему? Если структура явно выровнена то почему нельзя кастить ее в array?
                                                            Как же кастят в структуру пришедшие из аппаратуры или по сети данные, если известно что это массив N байт с определенными значениями?

                                                            >> но фреймворки зачастую именно это и делают
                                                            Я в курсе, спасибо, однако речь была о том, что если в джаве можно рефлексией залезть куда угодно, то это не значит что в джаве нет контроля доступа.

                                                            Если в питоне можно туплой заменить лист, это не значит что тупла и лист это одно и тоже.
                                                            Ответить
                                                            • > Если в питоне можно туплой заменить лист, это не значит что тупла и лист это одно и тоже.

                                                              Разумеется это не одно и тоже. Тюпл иммутабельный вообще-то, а список — нет.
                                                              Ответить
                                                              • >>Есть, если выставить правильный секьюрити менеджер через setSecurityManager.


                                                                Понятно. В джаве нету контроля видимости, пока не выставлен SecurityManager

                                                                Вы все цари
                                                                Ответить
                                                  • >>Что значит «via unpacking”?
                                                    Значит

                                                    info = ("You", 81)
                                                    name, iq = info # это называется unpacking
                                                    Ответить
                                                  • БЛЯДЬ!
                                                    Обновился до “iOS 11”. Как теперь сука обычные кавычки писать?
                                                    Ответить
                                        • Плохо использовать кортежи для векторов, матриц, списков значений если мне не нужны ебанические ошибки с изменяемыми объектами? Плохо юзать списки списков как примитивные деревья? Плохо ющать список как стек?
                                          Ответить
                                  • >ты вякаешь "семантика разная" и всё, ничего конкретного.
                                    Вот это правильно, только так и можно с этим говнопидором разговаривать.
                                    Ответить
                        • А нельзя ли что-нибудь занятное из аватарок сколотить? (по аналогии с модными некогда составными изображениями из иконок последних фотографий в соцсетях)
                          Ответить
                          • Есть ещё приколы с картинками, когда на разных размерах разное изображение. Не знаю, с граватаром можно-ли.
                            Ответить
                            • Я, честно говоря, рассчитывал на лесенку комментариев, из аватарок авторов которых собиралось бы какое-нибудь слово (буквы на аватарках) или картинка (тут сложнее).
                              Ответить
                                • Не считает, если это недостойное появилось перед глазами созерцающего без его желания, неожиданно и в подобных ситуациях, когда повлияли внешние силы.
                                  Ответить
                                  • @Я, честно говоря, рассчитывал на лесенку комментариев, из аватарок авторов которых собиралось бы какое-нибудь слово (буквы на аватарках) или картинка (тут сложнее).

                                    Invalid memory access

                                    То есть, ты осознаёшь всю незаконность сего деяния и готов взять грех на душу?
                                    Ответить
                                    • Я не осознаю всю незаконность сего деяния и не готов взять грех на душу.

                                      Если несколько человек соберёт из аватарок слово "вечность", где каждая буква будет нарисована в свободном редакторе лично пользователем, ничего незаконного не будет.
                                      Ответить
                    • И, кстати, в Паскале тип-перечисление не приводится автоматически к числам, в отличие от сишки, где енумы — это числа. В сишке huinya2 == 1, а в Паскале, чтобы получить единицу, нужно сделать явный каст: ord(huinya2) или byte(huinya2). Т. е. в Паскале статический анализатор на этапе компиляции защищает от помещения случайных значений в переменную типа huinya.
                      Ответить
              • Ты с Бейсиком спутал. Вот в Бейсике была директива OPTION BASE, которая позволяла индексировать массивы с нуля или с единицы.

                А в Паскале стартовый индекс указывается при каждом объявлении: либо явно указываем диапазон от и до, либо указываем имя типа-диапазона.

                К сожалению, в Паскале диапазоны можно использовать только для объявления массивов и множеств. Больше никаких операций для диапазонов не предусмотрено. Вирт хотел сделать что-то похожее на язык SETL, да что-то приуныл.
                Ответить
      • Зачем ты с таким упорством ищешь в интернете посты людей с органическими поражениями мозга и вставляешь ссылки на них к месту и не к месту? Тебе доставляет удовольствие смотреть на больных людей?
        Ответить
          • Это гипотеза. Посмотри, как он составляет предложения во втором сообщении. Он похож на постинсультника.
            Ответить
        • Человек с базовыми знаниями "PHP" спросил что ему ещё нужно, чтобы получить работу джуна. Схуя ты считаешь его больным?
          Ответить
  • "JavaScript" - для быдла.
    Факт.

    Отправлено с помощью "JavaScript".
    Ответить

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

Где здесь C++, guest?!

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


    8