• 0
    К счастью, MachineGames не использовали почти никакие приёмы из данной статьи, по крайней мере на максимальной сложности. Предупреждённые о наличии игрока враги заранее занимали позицию, атаковали почти без задержки и вообще без предупреждения, одновременно вставали на разные позиции группами и одновременно открывали огонь, бесшумно обходили сзади и ваншотали в упор (потому что по сторонам смотреть надо). Если противник знает за каким ты укрытием, и ты из-за него вылазишь — хп гарантированно не останутся на прежнем уровне. Могу вспомнить только три приёма в помощь игроку.
    1. Отсутствие снайперов в игре.
    2. Задержка во взрывах гранат и Tesla Cannon. Но у гранат игрока то же самое.
    3. Волшебная броня и 15 шлемов, но на максимальной сложности это менее принципиально.
    Искусственная глупость: искусство намеренных ошибок
  • 0
    Я использую табы для равномерных отступов (C#, C), пробелы для неравномерных (Common Lisp, Haskell), и пишу иногда в vim, но чаще в emacs с evil-mode. Я больший извращенец, чем вы.
    Результаты опроса Stack Overflow 2017: разработчики, которые используют пробелы, зарабатывают больше
  • +1
    О, я как раз буквально два дня назад искал движок с требованиями:
    1. Поддержка браузеров и мобилок.
    2. Скрипты на стандартном Javascript. (что отметает Unity)
    Остановился на Phaser и пока доволен. Правда, «хороший тон» у меня свой, т.к. пишу на маргинальном Parenscript и, соответственно, тон хороший в понятиях лиспа, а не js. А теперь позвольте немного побуду редактором. :)

    > бесплатный (MIT)
    Бесплатный — это $0. А MIT — это свободный, или «опенсорсный». Продавать лицензия MIT формально не запрещает.
    Создание вашей первой игры на Phaser. Часть 0 — Подготовка к работе
  • +23
    Я думал в статье будет вот именно это и написано. В итоге в статье есть всё, что угодно, кроме ответа на вопрос поставленный в заголовке. Спасибо вам.
    Почему все виртуальные помощники — женщины?
  • +3
    > Политика подавляющему большинству населения никогда не пригодится, хотя о ней так любят говорить. Мы ничего в этом не понимаем, но нас пытаются убедить в обратном и сделать еще глупее.

    При условии, что вы можете в абсолютно любой момент взять и уехать в другую страну. Если вас что-то привязывает к той, где вы сейчас живёте, то глупо как раз не заниматься политикой, и не разбираться в политике.
    Как стать умнее в мире, где нас хотят оставить идиотом
  • +1
    Запись польская, да только читается он слева направо.
    2 2 +
    Взять 2, взять ещё 2, сложить. И форт-машина выполняет программы тоже слева направо.

    И сложен для понимания он тоже только с непривычки.: ) Сложность восприятия человеком вообще штука крайне субъективная. Мне вот лиспы самые простые для понимания, а все вокруг почему-то кроме ))))))))) ничего в них не видят.
    Не все языки программирования одинаково полезны
  • 0
    > — Это дело привычки или есть какая-то особенность брать в фигурные скобки переменные?

    Во-первых, в строках если нужно уточнить где заканчивается имя переменной, и продолжается просто строка.
    Во-вторых, в Tcl имена-с-чёрточками понимаются везде, кроме подстановки, т.е.
    set my-variable 42
    puts ${my-variable}

    Если вы используете CamelCase, а не lisp-case, то причин брать всегда в скобки почти нет.
    Использование TCL в разработке на FPGA
  • +5
    Я попридираюсь к терминам, можно?: )
    В C++ переменная в принципе не может быть равна её значению, потому что в C++ вообще нельзя сравнивать переменные с чем бы то ни было, можно сравнивать только значения переменных. Но даже если взять язык, в котором можно (например, Common Lisp), то заголовок всё равно был бы не слишком осмысленным, т.к. переменная может быть равна своему значению только если значение этой переменной — сама эта переменная. Т.е., если выражаться терминами C++, если она — ссылка на саму себя, что в C++ сделать не позволит система типов.
    Как переменная может быть не равной её собственному значению
  • +4
    Деньгами инвестора ты рискуешь начиная с того момента когда их взял. Поэтому утверждение это довольно бессмысленно, оценка должна производиться, как всегда, по risk-reward, а не просто… risk, как вы настойчиво, не слыша собеседника, пытаетесь предложить.
    Нанимайте личность, а не набор навыков. Мои самые важные вопросы в собеседовании
  • +6
    У меня джаваскрипт отключён, а когда включён, я ни мышкой не метаюсь, ни текст не выделяю, т.к. Vimperator.

    UPD: И да, писал парсеры, ни один под приведённый в статье список поведения не попадает, кроме пустого referer'а. Это просто, чтобы подтвердить первую половину Вашей точки зрения.: )

    UPD2: А *большинство* запросов к разделу товаров скорее всего у вообще всех посетителей сайта, если это магазин.
    Как мы боролись с парсерами
  • +3
    > Скайп какашка? Вроде нет, виндовая версия и мобильная пашет, а остальное не важно.

    Я понимаю, это Интернет, здесь всё ИМХО, но иногда всё же лучше уточнять это явно. Извините, но я дальше тоже этого не сделаю.: )

    Скайп таки какашка. Уж не знаю, Microsoft этому виной, или автономная команда Skype, но в линуксе из-за прекращения поддержки ALSA он фактически перестал существовать. PulseAudio — даже не де-факто стандарт и имеет проблемы в некоторых конфигурациях, например моей. uTox не хватает только подавления эхо, а возможность звонков на телефоны и мобильная версия не нужны. Хотя, благодаря поддержке ALSA uTox уже не имеет полноценных альтернатив.
    Microsoft приобретает компанию Xamarin
  • 0
    > Такая навигация может выглядеть не «секси» и требовать больше времени на обучение, но бонусы от использования значительно превышают эти минусы

    Вы так просто и безапелляционно говорите «бонусы от использования значительно превышают эти минусы», а стоило мне вроде бы даже с пруфами сказать (здесь же на Хабре), что командная строка удобнее, чем менеджеры вроде windows explorer, или Thunar (который в Xfce) — говном закидали.

    UPD: inb4 активно использую zsh или Far Manager в зависимости от текущей ОС.
    Web без мышки
  • 0
    Ох, опять кто-то изобретает юникс-вей. По несколько раз в год уже.
    Мультифункциональное приложение — все ли функции нужны вашей программе?
  • –1
    Дальше первого абзаца не читал. Первое предложение очевидно оказалось шуткой, но не там, где нужно. Лучший текстовый редактор — это, например, vim, или notepad++. Сравните, хотя бы, количество форматов, для которых у каждого из них (и MSO) подсветка синтаксиса есть. Возможность работать с *бинарными* форматами вроде OOXML никакого отношения к *текстовому* редактору не имеет.
    Одиннадцать важных функций ONLYOFFICE, которых нет ни в MS Office Online, ни в Google Docs
  • +37
    Всё в порядке, в C нет деструкторов. Можете спокойно на нём писать. :)
    Почему я пишу игры на C (да, на C)
  • 0
    1. Где-то была статья на эту тему о Ruby. Сейчас найти не могу, но суть в том, что индексация с нуля — это не оптимизация и не костыль. Если бы индексация была с единицы, то разрезание (arr[1:5]) массивов выглядело бы в коде с вечными "-1" да "+1". Если кто вспомнит статью — киньте. Вроде бы сам Matz писал, но не уверен.
    2 и 3, ну вот Вы привели в пример Smalltalk. Так же о численных типах практически не надо думать в Common Lisp (есть fractional и bignum, в т.ч. fractional bignum и float bignum, явно преобразовывать численные типы не надо) и Tcl (все числа — безразмерные int/float, fractional нет). Есть замечательные действительно высокоуровневые языки — пишите на них.: ) На самом деле, если у вас нет начальника, который говорит «все используют Java/Python/COBOL и мы будем», то эти три языка (даже последние два) отлично покроют 99% классов задач.
    Почему наши высокоуровневые языки до сих пор не такие уж и высокоуровневые?
  • +1
    > если вы изучите Scala и посмотрите на функциональность Java с той колокольни, то открывшийся вид вполне может вызвать у вас улыбку. Просто попробуйте!

    О, излюбленный аргумент лисперов. http://www.paulgraham.com/avg.html «The Blub Paradox».

    Ну, раз уж вы этим аргументом воспользовались, то и я предложу по той же причине посмотреть Common Lisp.: ) Без сарказма. Мне потраченное на него время не жалко.
    Из Java в Scala: 7 причин для изучения нового языка
  • 0
    Субъективно синтаксисом все языки для BEAM (виртуальная машина Erlang) уделывает LFE. Только его на 90% один человек пишет в свободное время, поэтому с экосистемой большие проблемы.
    Почему я ставлю на Elixir
  • –1
    > Польза миру это либо польза людям, либо природе, либо культуре/гуманизму, либо экономике, либо науке. Первые три категории не имеют ничего общего со свободным кодом, потому что людям, природе и культуре прекрасно помогает несвободный код.

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

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

    Да, вы на это уже ответили выше:
    >> То-есть домохозяйки не могут быть программистами и программисты не могут увлекаться кулинарией?
    > Могут. А еще на ваш страничку вашего опен-сорсного проекта может зайти Билл Гейтс, прослезиться от восторга и задонатить вам миллиард долларов.

    Но это демагогия.
    Зачем нужен свободный код и как на нем зарабатывать
  • +2
    Возможно дело в том, что порядок изложения на самом деле совпадает, и резюмирует то, о чём написано в предыдущих ДЕВЯТИ абзацах. Какую кашу нужно иметь в голове, чтобы найти в статье ошибку, которой нет, потому что она согласуется с вашим представлением о мире, хоть и не согласуется с самой статьёй.
    Пол Грэм: «Месть ботанов», часть 1
  • +2
    Только сейчас заметил. Что эта серия делает в блоге Тинькофф Банка? У вас используется Scheme?

    UPD: Карма, поэтому спрошу сразу. Если используется, возьмёте Scheme developer'ом?: )
    Введение в Scheme
  • +5
    > под предлогом изучения мега-популярного языка мы рассказываем людям про SICP.

    Коварно. Одобряю!
    Хекслет: новые курсы + вебинары про VIM, программирование, английский
  • +1
    И не будет, если вы не станете первым… Всё сложно и обсуждалось уже 100500 раз ещё во времена ICQ/XMPP.
    Написание бота для мессенджера Tox
  • +1
    Самое близкое, что сейчас есть: openpandora.org К сожалению, не модульный.
    По модулю 2
  • +1
    Я тоже. Хотел обычный, случайно заказал растворимый. Офигенная штука в любом случае.
    На любителя, да. В офисе кроме меня ещё один человек от него не плевался.
    Как я взломал Starbucks для безлимитного кофе
  • +3
    За исключением около 10% статья как про Common Lisp.

    На самом деле я, познав оба языка, даже пытался сделать Class Browser (это те самые 10%) для CL. Если есть желающие, могу поделиться наработками и списком нерешённых (но не неразрешимых) трудностей.
    Неизвестный Smalltalk
  • +14
    Это не минималистичные интерфейсы, а интерфейсы с минималистичным дизайном иконок.
    Минималистичный интерфейс — это командная строка.
    Лучшая иконка — текст
  • –3
    > Главная проблема, о которую мы немедленно споткнулись — там, например, пересекаются параллельные прямые.

    Финиш. Прямые параллельны в ПРОСТРАНСТВЕ, а пересекаются их ПРОЕКЦИИ на фото.
    Чтобы распознавать картинки, не нужно распознавать картинки
  • +3
    Это ж лисповые символьные выражения, только с переносом строк и знаком «равно» вместо скобок.
    > Если в Lisp всё описывается как списки, то в языке на основе Tree — всё есть деревья.
    Вообще-то в лиспе даже список — это суть бинарное дерево. И угадайте, что такое список списков? Правильно — дерево.
    Tree — убийца JSON, XML, YAML и иже с ними
  • 0
    С тех пор как я с товарищами писали статьи правда ничего не изменилось? Вроде это всё уже было лет пять назад. habrahabr.ru/post/75451/

    > Могу ошибаться, но прямого аналога нет, во всяком случае в популярных, компилируемых языках.
    В копилку Common Lisp. Не популярный, да. Компилирется в некоторых реализациях, например самой популярной — SBCL. Вообще map уже есть, но у вас он шаблонный, а не функциональный (с лямбдой), так что вот тоже шаблонный:

    (defmacro tmap (op array)
      `(loop for x in ,array collect ,op)

    (defun main ()
      (format t "#1 ~A~%" (tmap (* x 3) '(0 1 2 3 4 5)))
      (format t "#2 ~A~%" (tmap (expt x 3) '(0 1 2 3 4 5)))

      (format t "#3 ~A~%" (tmap (* x 3) '(0.0 0.5 1.0 1.5 2.0 2.5)))
      (format t "#4 ~A~%" (tmap (expt x 3) '(0.0 0.5 1.0 1.5 2.0 2.5))))

    В SBCL есть кое какой решатель типов. Если он сообразит какого типа списки (на буквальные не реагирует, должно быть объявление типа хоть где-нибудь), то в скомпилированном коде окажутся вызовы машинных команд для * и expt (где есть), если не сообразит — то вызовы функций для произвольных типов.

    Конечно, D старается следовать принципу zero overhead, но пока это у C++ получается всё же лучше. Компромисс.: ) Помню, в своё время он мне и нравился как золотая середина между перформансом и удобством, потом обнаружил себя либо за задачами где перформанс не важен, тогда годится Common Lisp (с перформансом всё равно на уровне компилируемых), либо за энтерпрайзнутыми серверными кластерами, где лучше Erlang.
    Фишки языка D
  • 0
    А что, животноподобные имена кто-то ещё даёт?
    Microsoft брендирует ядро Windows 10
  • 0
    Последний раз смотрел — самой простой в использовании и популярной (всегда пара полных комнат) была вот эта: zero-k.info/
    Техосмотр движка Spring RTS
  • 0
    Гугл без js работает.

    Вконтакт без js работал бы почти полностью (без возможности разве что раскрыть длинные ветки комментариев), если бы они, собрав всю мудрость в кулак, не сделали СПЕЦИАЛЬНО чтобы не работал перенаправлением на vk.com/badbrowser.php. Впрочем, он ещё и плохой и негодный вдобавок.
    Незакрываемая вкладка в Chrome
  • +3
    Порождаемый код поразительно совпадает с тем что делает такая же библиотечка для Common Lisp.
    github.com/m2ym/optima

    И у макросистем много общего, если не считать типы.
    Pattern matching с помощью макросов
  • +1
    > Есть и недостатки, после десятка часов работы в ней я придумал ряд улучшений, но кому до них есть дело :)

    Вы на пол пути к пониманию сути свободного программного обеспечения. :)
    Создание игрового персонажа
  • +1
    Вы точно ищете безопасный мессенджер? Зачем тогда рассматривать сервисы с закрытым исходным кодом и вообще как-то упоминать скайп?
    Выбираем защищенный IM для Android
  • +3
    Да, как люди только ни страдают лишь бы не использовать лисп^Wмакросы и ФП.
    Эффект последней строки
  • 0
    Мне кажется, что человек так сильно закипел, что просто так и не смог сказать нормальным русским языком, что…

    Это вы путаете Яву с Java, а какой-то вообще неведомый никому Яваскрипт с Javascript. Правильное произношение в IPA можете посмотреть в Wiktionary.
    Команда разработчиков из ЦЕРН запустила защищённый анонимный почтовый сервис ProtonMail
  • +1
    > Ну и в-третьих, возможность что-то сделать — этот как раз степень свободы.

    Ещё один адепт секты «виндовс свободнее линукса, потому что для него больше программ, а значит больше свободы в их выборе»?
    Глубокое внедрение DRM или что ждет Firefox после ухода Брендана Айка