1. 7 мес. назад

    Почему оператор goto считается быдлокодингом?

    Ответы: (2) (26) (93)
  2. ‹ Ранее
  3. 8 нед. назад

    (299) да в моем наоборот легко добавить printf() или точку останова поставить. В твоём никак.

    Ответы: (302)
  4. webdev Но тем не менее об этом никто почему-то не догадался.

    не льсти себе

  5. Курильщик (299) да в моем наоборот легко добавить printf() или точку останова поставить. В твоём никак.

    Во первых в моем легко это сделать. Во вторых в твоем нужно сначала разбираться куда подевался ретурн, искать его по всей функции, по ошибке найти не тот который нужен так как ты их сделал больше одного. Поставить на него точку останова, а она не останавливается, потому что программа пошла по другому пути и вышла через другой ретурн. Дичь.

    Ответы: (303)
  6. webdev Поставить на него точку останова, а она не останавливается,

    а что же мешает поставить точку останова на

    Курильщик if (expr)

    ?

  7. Ничто не мешает. Это другой случай. Так же как ничто не мешает поставить точку останова на аналогичную строку в моей проге

    Ответы: (307)
  8. В любом случае ифы отлаживать сложнее, так как там возможны разные варианты выполнения программы в зависимости от значений переменных, причем бывает что довольно большие блоки, с большим уровнем вложенности.

    В моем варианте ход программы всегда один и тот же, предсказуемый, не зависящий от значений переменных. Никакие строки не пропускаются, все выполняются от самого начала до самого конца, и выход происходит только один в самом конце, что очень ожидаемо и просто.

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

    Ответы: (306) (309)
  9. webdev Никакие строки не пропускаются, все выполняются от самого начала до самого конца

    с точки зрения оптимизации и быстродействия это не то, чем можно было бы хвалиться

    Ответы: (310)
  10. webdev Ничто не мешает. Это другой случай. Так же как ничто не мешает поставить точку останова на аналогичную строку в моей проге

    Но там не будет понятно куда ветвиться будет и почему.

    Ответы: (311)
  11. по практике, довольно часто при усложнении/изменении логики кода приходиться переписывать инлайновые ифы ? на полноценные условные скобочные операторы

    Ответы: (312)
  12. webdev В любом случае ифы отлаживать сложнее, так как там возможны разные варианты

    Но expr ? 1 : 2 и есть if

    "expr ? 1 : 2 " означает if (expr) {} else {}

    Ответы: (313)
  13. andrewks с точки зрения оптимизации и быстродействия это не то, чем можно было бы хвалиться

    А кто говорил про оптимизацию и быстродействие? Ты искажаешь факты. Идеальный код не может быть идеальным по быстродействию и по стилю. Выбери что-то одно, либо будет компромисс.

    Ответы: (315)
  14. Курильщик Но там не будет понятно куда ветвиться будет и почему.

    Потому что там ничего не будет ветвиться. Будет возвращен результат.

  15. andrewks по практике, довольно часто при усложнении/изменении логики кода приходиться переписывать инлайновые ифы ? на полноценные условные скобочные операторы

    Ошибка. Переписывать приходится не на скобочные операторы, а на функции. Потому что иф не возвращает результат и не может заменить ? вообще никаким образом.

    Ответы: (314)
  16. Курильщик Но expr ? 1 : 2 и есть if

    "expr ? 1 : 2 " означает if (expr) {} else {}

    Нет, уже писал несколько раз. Ты не можешь использовать if без объявления внешних переменных либо без ретурнов внутри него. А ? запросто можно.

    Ответы: (315)
  17. webdev Переписывать приходится не на скобочные операторы, а на функции.

    я уже нахожусь в функции

    webdev Потому что иф не возвращает результат и не может заменить ? вообще никаким образом.

    бред какой-то. во-первых, заменить может, и это бесспорно, это просто другая запись.
    ? - это функция, внутри которой if

    Ответы: (316)
  18. webdev Ты не можешь использовать if без объявления внешних переменных

    а кто-то устанавливал запрет на объявления внешних переменных?

    webdev А кто говорил про оптимизацию и быстродействие? Ты искажаешь факты.

    Ответы: (318) (323)
  19. andrewks бред какой-то. во-первых, заменить может, и это бесспорно, это просто другая запись.

    Ну замени. Посмотрим как ты это сделаешь. А я заранее знаю где будет ошибка.

    Ответы: (317)
  20. webdev А я заранее знаю где будет ошибка.

    видимо, в слове "if"?

    Ответы: (320)
  21. andrewks а кто-то устанавливал запрет на объявления внешних переменных?

    Может быть, принципы качественного кода? Или может тот кто не пропустит твой говнокод в репозиторий и отправит переделывать?

    Ответы: (321)
  22. if есть - ошибка
    if нет - красивый и успешный код

  23. andrewks видимо, в слове "if"?

    Нет. Ты попробуй. Посмотрим.

  24. webdev Может быть, принципы качественного кода? Или может тот кто не пропустит твой говнокод в репозиторий и отправит переделывать?

    ты председатель совета по качественному коду, что-ли?

    jquery/src/core/init.js

    init = jQuery.fn.init = function( selector, context, root ) {
    		var match, elem;
    
    		// HANDLE: $(""), $(null), $(undefined), $(false)
    		if ( !selector ) {
    			return this;
    		}
    
    		// Method init() accepts an alternate rootjQuery
    		// so migrate can support jQuery.sub (gh-2101)
    		root = root || rootjQuery;
    
    		// Handle HTML strings
    		if ( typeof selector === "string" ) {
    			if ( selector[ 0 ] === "<" &&
    				selector[ selector.length - 1 ] === ">" &&
    				selector.length >= 3 ) {
    
    				// Assume that strings that start and end with <> are HTML and skip the regex check
    				match = [ null, selector, null ];
    
    			} else {
    				match = rquickExpr.exec( selector );
    			}
    
    			// Match html or make sure no context is specified for #id
    			if ( match && ( match[ 1 ] || !context ) ) {
    
    				// HANDLE: $(html) -> $(array)
    				if ( match[ 1 ] ) {
    					context = context instanceof jQuery ? context[ 0 ] : context;
    
    					// Option to run scripts is true for back-compat
    					// Intentionally let the error be thrown if parseHTML is not present
    					jQuery.merge( this, jQuery.parseHTML(
    						match[ 1 ],
    						context && context.nodeType ? context.ownerDocument || context : document,
    						true
    					) );
    
    					// HANDLE: $(html, props)
    					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
    						for ( match in context ) {
    
    							// Properties of context are called as methods if possible
    							if ( typeof this[ match ] === "function" ) {
    								this[ match ]( context[ match ] );
    
    							// ...and otherwise set as attributes
    							} else {
    								this.attr( match, context[ match ] );
    							}
    						}
    					}
    
    					return this;
    
    				// HANDLE: $(#id)
    				} else {
    					elem = document.getElementById( match[ 2 ] );
    
    					if ( elem ) {
    
    						// Inject the element directly into the jQuery object
    						this[ 0 ] = elem;
    						this.length = 1;
    					}
    					return this;
    				}
    
    

    ну, и далее по коду

    Ответы: (322)
  25. andrewks ты председатель совета по качественному коду, что-ли?

    Я не говорю что это я. Есть и другие крутые программисты, которые придерживаются тех же принципов.

  26. andrewks а кто-то устанавливал запрет на объявления внешних переменных?

    Сложнее отлаживать когда в одном месте выполнения программы переменная имеет одно значение, а в другом другое. То есть я уже не смогу просто так взять, и выполнить любую строку вышестоящего кода в консоли и посмотреть что получится, потому что я не знаю какие входные данные были на момент ее выполнения. Мне придется ставить новую точку останова выше, и перезапускать программу.

    Ответы: (347)
  27. Ты говоришь страшные вещи. Определённо нет. Определённо.

  28. Ты же понимаешь, что от увеличения количества повторений слова "Определённо" ты не сделаешься прав.

    Ответы: (327)
  29. 7 нед. назад

    тест

  30. webdev повторений слова "Определённо" ты не сделаешься прав.

    Признаюсь, на это был основной расчёт

  31. webdev В твоем коде используются ифы там где они без надобности, и в нем два ретурна. Он не пройдет код-ревью, а значит и отлаживать его не придется, так как это говнокод. Исправь эти две ошибки, тогда сравним какой проще отлаживать.

    Картина "Хахлы учат Макконела писать код". Холст, сало.

  32. скорее Макконел учит хохлов, а хохлам это не нравится.

    Ответы: (330)
  33. (329) Хахлов учить - только портить.

  34. Чо каво, чувачки? Го еще за программирование посремся, это же весело. Программировать круто. Чего в скучную политику все свалили? Камон сюды.

  35. 06.02.2020 08:10:40 отредактировано Курильщик

    У меня через месяц конференция, надо готовиться. Некогда.

    Ответы: (336)
  36. В порядке розжига темы. Почему запросы к 1с через Odata не дружат с RLS? Какой редиска такое замутил?

    Ответы: (334)
  37. (333) даже представить не могу зочем

    Ответы: (335)
  38. (334) Зочем нужен RLS или зачем так замутили?

    Ответы: (379) (391)
  39. Курильщик У меня через месяц конференция, надо готовиться. Некогда.

    Ну пиши после конференции. А то тут тухляк, до 1С тема скатилась.

  40. Ну давайте что ли найдем в тыще строк наибольшую общую подстроку. У кого оптимальнее выйдет

    Ответы: (338) (345) (427) (474)
  41. sda553 Ну давайте что ли найдем в тыще строк наибольшую общую подстроку. У кого оптимальнее выйдет

    Я такую задачу на собеседовании когда-то давно решал. Интересно. А по какому критерию оптимальнее? По памяти или быстродействию или красоте кода?

    Ответы: (434)
  42. Давайте. На JS или PHP или Java?

    Ответы: (340)
  43. 06.02.2020 17:59:19 отредактировано sda553

    (339) пох. Ведь не это главное. Я ответ уже знаю, так что буду судьей

  44. Вы еще мою задачу не решили. Я уже решил, результат есть. Но пока не выкладываю, вас жду.

  45. Я пропустил задачу. Не в курсе

  46. (103)

    Ответы: (377)
  47. Челендж заключается в том, что я решаю эту задачу без использования операторов IF, GOTO, FOR, и без переменных.
    Чтобы сравнить какой вариант получится более четким, и вообще чтобы доказать что так можно программировать.

  48. sda553 Ну давайте что ли найдем в тыще строк наибольшую общую подстроку. У кого оптимальнее выйдет

    Регекспом?

    Ответы: (352)
  49. Луч света эстеты, блтъ

    Я более скажу:
    "программисты", [...].
    Тут один 3.14зда на программиста более-менее тянет ("Платон мне друг, но истина дороже")

  50. webdev Сложнее отлаживать когда в одном месте выполнения программы переменная имеет одно значение, а в другом другое.

    Чё?!
    На то она и переменная, чтобы менять значение в процессе выполнения.

    Ответы: (348)
  51. Эльниньо Чё?!

    Попробуй представить, что переменные - это говнокод. Чисто гипотетически, для начала. Потом можно будет двигаться дальше.

    Ответы: (349)
  52. webdev Попробуй представить, что переменные - это говнокод. Чисто гипотетически, для начала. Потом можно будет двигаться дальше.

    переменные - это говнокод
    if - это говнокод
    Мы о программировании говорим? Или о чём?

  53. О программировании. И я уже объяснял почему это говнокод. Что не понятно?

    Ответы: (351)
  54. webdev О программировании. И я уже объяснял почему это говнокод. Что не понятно?

    Земля плоская. Я так думаю. Я внятно объяснил?

    Ответы: (353) (362)
  55. (345) это как?

  56. Эльниньо Земля плоская. Я так думаю. Я внятно объяснил?

    Во первых, без аргументов не канает. Во вторых, твое утверждение легко опровергается. Почувствуй разницу, как говорится.

    Ответы: (354)
  57. webdev Во первых, без аргументов не канает. Во вторых, твое утверждение легко опровергается. Почувствуй разницу, как говорится.

    if - основа основ программирования. Ты можешь как угодно его закамуфлировать, но нет if - нет программирования

    Ответы: (356)
  58. ну это операция процессора

    Ответы: (357)
  59. Эльниньо if - основа основ программирования. Ты можешь как угодно его закамуфлировать, но нет if - нет программирования

    Значит тебе бесполезно объяснять, если ты отрицаешь то что тебе уже объяснили на пальцах.
    Когда начнешь использовать только константы, а не переменные, то поймешь что без IF можно легко обойтись. Он действительно нужен только в очень редких случаях. В 99% случаях где ты его сейчас используешь он не нужен.

    Ответы: (358) (392)
  60. jsmith82 ну это операция процессора

    Я имею в виду только высокоуровневые языки, предназначенные в первую очередь для людей, и лишь во вторую для процессоров.
    Например, JS

  61. webdev Значит тебе бесполезно объяснять

    Эту хрень? Да, бесполезно

    Ответы: (359)
  62. Эльниньо Эту хрень? Да, бесполезно

    Так фигли споришь, если сам признаешь что бесполезно?

    Ответы: (362)
  63. а так ифы раздражают неимоверно. особенно в 1с. если то иначе и понеслась. иногда такие отступы

    Ответы: (361)
  64. jsmith82 а так ифы раздражают неимоверно. особенно в 1с. если то иначе и понеслась. иногда такие отступы

    Я однажды, в задаче, которую все решали через "Если", долго подумав, заменил "Если" на "Пока" и получился самый красивый код удаления лишних строк в ТЗ, который потом попал в какой-то учебник и стал стандартом де-факто
    Но.
    Циклы ведь тоже неявно реализуются через if

    Ответы: (363) (376) (280)
  65. webdev Так фигли споришь, если сам признаешь что бесполезно?

    Ты не понял (351).
    Мне бесполезно доказывать, что земля плоская.
    Ты делаешь ровно тоже

    Ответы: (364)
  66. Эльниньо заменил "Если" на "Пока"

    И все кто так сделал теперь думают что именно их вариант попал в учебники. Не льсти себе

    Ответы: (365)
  67. Эльниньо Ты делаешь ровно тоже

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

    Ответы: (366)
  68. 06.02.2020 23:02:39 отредактировано Эльниньо

    webdev И все кто так сделал теперь думают что именно их вариант попал в учебники. Не льсти себе

    Я не думаю и уж тем более не пытаюсь себе что-то чужое приписать. Оно мне не надо. Своего свыше крыши.
    На Мисте выложили мой алгоритм, сказав, что взяли его из какого-то учебника.
    Потом ещё в паре фирм видел свой код в глобальнике

    Ответы: (367) (384)
  69. webdev Но ты ошибаешься. То что я доказываю - это новый подход, который пришел на смену устаревшему. Как и круглая земля новее чем плоская.

    Возможно. Но мне кажется, ты утверждаешь, исходя из своей узенькой специализации.
    Жизнь заставит перейти на другой язык и там без if вообще никак

    Ответы: (368) (369)
  70. Эльниньо На Мисте выложили мой алгоритм, сказав, что взяли его из какого-то учебника.
    Потом ещё в паре фирм видел свой код в глобальнике

    Я тоже когда был одинесником изобретал свой способ удаления строк из ТЗ, потому что мне не нравился общеупотребляемый. Но я же не говорю что это мой код попал в учебники или на мисту. У тебя что-ли нет других достижений, что ты постоянно рассказываешь про тот случай?

    Ответы: (369)
  71. Эльниньо мне кажется, ты утверждаешь, исходя из своей узенькой специализации.

    Я раньше тоже программировал с Ифами и с ФОРами. А потом без них. Мне есть что с чем сравнить, так как есть опыт в обоих стилях. А у тебя есть опыт только в одном. Поэтому я с тобой делюсь своим опытом, а ты тупо сопротивляешься.

    Эльниньо Жизнь заставит перейти на другой язык и там без if вообще никак

    Пофиг на другой язык. Я сейчас про конкретный язык говорю, про JS. В других может и другие подходы считаются правильными. А в JS очень хорошо получается делать так как я делаю.

    Ответы: (369)
  72. webdev Я тоже когда был одинесником изобретал свой способ удаления строк из ТЗ, потому что мне не нравился общеупотребляемый. Но я же не говорю что это мой код попал в учебники или на мисту.

    Ещё раз:
    Не я говорю, а конкретный чел говорил, что взял мой алгоритм из учебника

    webdev Пофиг на другой язык. Я сейчас про конкретный язык говорю, про JS.

    Что и подтверждает:

    Эльниньо ты утверждаешь, исходя из своей узенькой специализации.

    Ответы: (370) (371)
  73. Эльниньо мой алгоритм

    Ты о5 повторяешь слово "мой"

  74. Эльниньо Что и подтверждает:

    В твоих словах нет логики. Я ничем не показывал что у меня узкая специализация. Если я не хвастался ее широтой, это еще не доказывает что она узкая. Хотя нет, я хвастался что программировал микроконтроллеры на ассемблере, но ты это уже забыл. Буквально сегодня утром я программировал на С++, и там совершенно другой подход, но это уже не по теме.

    Ответы: (372)
  75. webdev Буквально сегодня утром я программировал на С++, и там совершенно другой подход, но это уже не по теме.

    Почему не по теме. Очень даже в тему.
    Ах да - не вписывается в твою "теорию"

    Ответы: (373)
  76. Эльниньо Почему не по теме. Очень даже в тему.
    Ах да - не вписывается в твою "теорию"

    А должно было?

    То что JS вписывается, ты уже признаешь?

    Ответы: (374)
  77. webdev А должно было?
    То что JS вписывается, ты уже признаешь?

    Конечно вписывается, как один из многих.
    Но судить о целом по маленькой его части? Увольте

    Ответы: (375)
  78. Эльниньо Конечно вписывается

    Йес! Осталось Курильщика забороть.

    Ответы: (380)
  79. Эльниньо Я однажды, в задаче, которую все решали через "Если", долго подумав, заменил "Если" на "Пока" и получился самый красивый код удаления лишних строк в ТЗ, который потом попал в какой-то учебник и стал стандартом де-факто

    :)

    Ответы: (381)
  80. (343) как то так

    public class DetectLoops {
    private Set<LinkedStructureNode> visited = new HashSet<>();
    private Set<LinkedStructureNode> stacked = new HashSet<>();
    
    public static class LinkedStructureNode<V> {
    V value;
    LinkedStructureNode<V> children1;
    LinkedStructureNode<V> children2;
    
    public LinkedStructureNode(V value) {
    this.value = value;
    }
    
    public void addAdj(LinkedStructureNode<V> adj){
    if (children1==null)
    children1 = adj;
    else if (children2==null)
    children2 = adj;
    else
    throw new UnsupportedOperationException("Maximum two nodes can be linked");
    }
    }
    
    public boolean isItLoopNode(LinkedStructureNode node){
    if (node==null)
    return false;
    if (stacked.contains(node))
    return true;
    if (visited.contains(node))
    return false;
    visited.add(node);
    stacked.add(node);
    if (isItLoopNode(node.children1))
    return true;
    if (isItLoopNode(node.children2))
    return true;
    stacked.remove(node);
    return false;
    }
    }
  81. 07.02.2020 09:00:41 отредактировано sda553

    Всё решено тупо в лоб. Используется обход дерева методом DFS при этом посещенные ноды укдадываются в стэк. Если нода вдруг окажется уже в стэке, то значит где то цикл

  82. (335) зачем Odata нужен RLS

    Ответы: (391)
  83. webdev Йес! Осталось Курильщика забороть.

    Да ни кого ты не заборол. Ты спалился.
    Рановато тебе выставлять себя гуру, рановато

    Ответы: (420)
  84. Луч света :)

    Мопсик, сдрысни. Тут ветка программистов

    Ответы: (382) (383)
  85. (381) элли, в какой-то ученик твой чудо-код попал? Там подписано, что этот код уникален и что он твой?

    Ответы: (383)
  86. 07.02.2020 10:30:06 отредактировано Эльниньо

    Луч света (381) элли, в какой-то ученик твой чудо-код попал? Там подписано, что этот код уникален и что он твой?

    Ты ветку внимательно читал? Или подсознательно неудобные тебе посты пропускал?

    В тему:
    1. Ты тоже считаешь наличие if в коде признаком быдлокода?
    2. Можно ли обойтись без применения goto во всех случаях?
    3. Является ли break аналогом goto?

    Ответы: (386) (390)
  87. Эльниньо На Мисте выложили мой алгоритм, сказав, что взяли его из какого-то учебника.
    Потом ещё в паре фирм видел свой код в глобальнике

    почему ты решил, что это твой алгоритм?

    Ответы: (385)
  88. Луч света почему ты решил, что это твой алгоритм?

    Потому, что я его придумал.
    Поройся на Мисте, Инфостарте. Посмотри сколько алгоритмов удаления "лишних" строк придумали. Найди конкурс на абелове, в котором мой алгоритм участвовал.
    Ты мопсик, однако туповат.
    Неужели ты думаешь, что если бы я выдавал чужой алгоритм за свой на нескольких форумах, за столько лет меня бы за руку не поймали.
    Ты ответишь себе на вопрос:
    Зачем ты натужно пытаешься, унизить, опустить, обвинить во лжи окружающих?
    Если тебе это затруднительно, покопайся в учебниках психологии. Там найдёшь ответ

    Ответы: (390) (394)
  89. Вернёмся к теме. Жду ответа на (383)

    Ответы: (387) (390)
  90. Эльниньо Жду ответа

    давай ссылки на конкурс с кодом

    Ответы: (388)
  91. Луч света давай ссылки на конкурс с кодом

    "воспользуйся поиском" © местный полудурок

  92. даже если и был конкурс и ты туда код пропихнул, почему ты решил что он твой?
    Он уникальный, до тебя такого никто не писал?

    Ответы: (390)
  93. Луч света даже если и был конкурс и ты туда код пропихнул, почему ты решил что он твой?
    Он уникальный, до тебя такого никто не писал?

    Дислексия.
    Прочитай внимательно, вдумчиво, 10 раз (385)\
    И
    Ещё раз для страдающих дислексией

    Эльниньо Вернёмся к теме. Жду ответа на (383)

    Или прав был Игорь, когда сказал, что ты бегаешь по веткам, наполняешь их зловонием и убегаешь?

    Ответы: (393) (394)
  94. 1Сергей (335) зачем Odata нужен RLS

    Для того же что и всегда. Например для того, чтобы полезший в базу за данными юзер не прочитал неположенного ему.

  95. webdev Значит тебе бесполезно объяснять, если ты отрицаешь то что тебе уже объяснили на пальцах.
    Когда начнешь использовать только константы, а не переменные, то поймешь что без IF можно легко обойтись. Он действительно нужен только в очень редких случаях. В 99% случаях где ты его сейчас используешь он не нужен.

    Злоупотребляющих функциональщиной надо лечить электричеством.

  96. Эльниньо Или прав был Игорь, когда сказал, что ты бегаешь по веткам, наполняешь их зловонием и убегаешь?

    где смит про меня писал о зловонии?

    Ответы: (396)
  97. 07.02.2020 13:57:20 отредактировано Луч света

    Эльниньо Прочитай внимательно, вдумчиво, 10 раз

    не надо 10 раз, достаточно одного.
    там написано:

    Эльниньо Потому, что я его придумал.

    ты мог убедить себя в том что ты его придумал или просто соврал :)
    а на конкурсе ты убедил таких же внушаемых, как и ты сам, в том, что алгоритм твой. Тебя же убедили, что блестящий бидон это летящая ракета :)

    Ответы: (395)
  98. 07.02.2020 14:01:50 отредактировано Эльниньо

    Луч света ты мог убедить себя
    ты придумал или просто соврал :)
    ты убедил
    ты сам
    Тебя же убедили

  99. Луч света где смит про меня писал о зловонии?

    Так что думаешь о goto и if?
    Или так и будешь портить воздух в профветке?

    Ответы: (397) (398)
  100. (396) элли, ты таки гофрошланг. Ссылку давай где семит писал про меня.

    Ответы: (398)
  101. Луч света (396) элли, ты таки гофрошланг. Ссылку давай где семит писал про меня.

    Сдрысни [...] гавно с профветки.
    Обуяло неудержимое желание отомстить пративному Эльниньо - заведи отдельную ветку с названием "Эльниньо - " + десяток оскорбительных эпитетов

    Ответы: (406)
  102. «Качество программистов — это уменьшающаяся функция плотности использования операторов goto в программах, которые они пишут» © Эдсгер Дейкстра

    Ответы: (401)
  103. Новее ›

или зарегистрируйтесь чтобы ответить!