Рубрика «история создания» - 6

Давайте посмотрим на следующий код:

a = 1
a = a + 1
print(a)

В среде ФП часто критикуют данный момент императивного программирования: «Как так может быть, что a = a + 1? Это всё равно что сказать „1 = 2“. В мутабельном присваивании нет смысла».

Здесь мы наблюдаем несовпадение обозначения: «равно» должно обозначать «равенство», когда на практике оно обозначает «присвоить». Я согласен с этой критикой и считаю, что это неудачная нотация. Но также мне известно, что в некоторых языках вместо a = a + 1 пишут выражение a := a + 1. Почему же эта запись не является нормой?

На этот вопрос обычно отвечают «потому что так сделано в C». Но это похоже на перекладывание ответственности на кого-то другого: кто из нас знает, почему так сделано в C? Давайте разбираться вместе!

Большая четвёрка

В начале 1960-ых существовало четыре доминирующих высокоуровневых языка: COBOL, FORTRAN II, ALGOL-60, и LISP. В то время, программисты разбивали присваивание на два класса: инициализацию (initialization) — когда вы впервые определяете переменную, и переприсвоение (reassignment) — когда вы вы изменяется значение существующей переменной.
Читать полностью »

Продолжение истории о похождениях отдельной задачи в ISPsystem. Рассказывает руководитель разработки Александр Брюханов. Первая часть здесь.

Как мы в ISPsystem резервные копии делали. Часть вторая - 1

Лучшее — враг хорошего

Написание резервного копирования или установки и настройки ПО у нас всегда были расстрельными задачами. Когда ставишь что-либо из репозиториев, не можешь быть до конца уверен в результате. Да даже если всё сделано идеально, мэнтейнеры рано или поздно что-нибудь сломают. Что же касается резервных копий: о них вспоминают, когда возникают проблемы. Люди уже на взводе, а если еще что-то идет не так, как они ожидали… ну вы поняли.
Читать полностью »

История о том, как в ISPsystem разрабатывали решение для резервного копирования. Рассказывает руководитель разработки Александр Брюханов.

Как мы в ISPsystem резервные копии делали

Все пользователи делятся на три группы:
те кто не делает бэкапы,
те, кто их уже делает,
и те, кто проверяет сделанные.

Кого-то мой рассказ просто повеселит, а кто-то в нем узнает себя. Это история про то, как оно было в ISPsystem 15 лет назад, как и почему менялось, к чему пришло. В первой части расскажу, как мы начали разрабатывать решение для бэкапов виртуальных серверов.

Читать полностью »

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

Читать полностью »

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

Как удалить безвозвратно 100 000 пользователей и остаться живым? - 1

Для молодых разработчиков это будет история, которая позволит не совершить моих ошибок в будущем, а более опытные чуваки смогут просто посмеяться и прокомментировать, что они никогда в жизни не допустили бы такой ситуации)
Читать полностью »

Давным-давно, когда я еще учился в университете, я услышал что на математическом факультете в нашем вузе программистам задают интересную задачу: смоделировать так называемый «волчий остров». Суть ее примерно в следующем.

Игра в Бога, или как я «Волчий остров» писал - 1

Что на картинке

Stop/Start — Запустить мир
Turn — Остановить мир
Restart — Пересоздать мир
Зеленые клетки — Клетки с травой. Чем зеленее, тем больше травы.
Маленькие зайцы и волки — щенки
Большие зайцы и волки — взрослые особи
Красные и синие полоски на пиктограммой зверей — текущая сытость. Красные — самцы, синие — самки.
Число в левом нижнем углу каждой клетки — количество существ на данной клетке
Внизу общее количество зайцев и волков, а также время, занявшее обработку последнего ход

Читать полностью »

На прошлой неделе Джефф Безос, глава Amazon, стал самым богатым человеком в мире, а стоимость его компании превысила $500 млрд. Активы бизнесмена достигли отметки в $91,4 миллиарда – при том, что в марте этого года у него было «всего» $70 млрд, и он не входил даже в первую тройку. Теперь у Джеффа Безоса с Биллом Гейтсом намечается игра «Перетягивание каната». Разница между их состояниями меньше $1 млрд, и в рейтинге Forbes они будут сменять друг друга, в зависимости от колебания акций Microsoft и Amazon. Первое место Гейтс точно не удержит: у него нет цели увеличить свой капитал, он занят благотворительностью, а вот мистер Безос развивает свое детище в полную силу, благодаря правильному использованию big data. У американских предпринимателей по поводу его работы возникают серьезные опасения.

В мае, еще до нового раунда роста акций Amazon, много шума в США наделал исследование о том, как компания «съест весь мир». Выводы там такие: конкурировать с ценами ритейлера невозможно. Лучший анализ big data позволяет магазину держать всех своих конкурентов в узде, и все другие крупные продавцы на американском рынке просто постепенно уйдут с дистанции. Единственная компания, которая может остановить полную монополизацию всех интернет-продаж – это (многим ненавистный) Walmart. Бандеролька считает доходы и разбирается в бизнес-империи Джеффа Безоса →

Джефф Безос стал самым богатым человеком планеты. Почему Amazon «съест весь мир» - 1

Читать полностью »

Постмортем Age of Empires - 1

Однажды я услышал в компьютерном магазине разговор, который очень меня рассмешил. Я остановился с витриной, чтобы посмотреть на десятку лучших игр для PC и подслушал следующий диалог между двумя ребятами:

«Что ты думаешь об этой Age of Empires?», — спросил первый.

Его друг ответил: «Да ну, корпоративные роботы из Microsoft просто соединили Warcraft и Civilization, чтобы стрясти немного денег».

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

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

В октябре 2008 года Microsoft выпустила игру Fable 2 студии Lionhead. Она имела коммерческий успех и была хорошо принята критиками. На вечеринке в честь выпуска игры взволнованный Питер Молиньё (Peter Molyneux) поднял над головой хвалебные отзывы и поблагодарил свою уставшую команду разработчиков, в течение четырёх лет вкладывавшую все свои силы в игру. Позже Fable 2 выиграла BAFTA и стала самой продаваемой RPG для Xbox 360. Lionhead была на вершине мира.

История компании Lionhead - 1

Семь с половиной лет спустя сотню сотрудников Lionhead созвали на совещание в кафе компании. На ней Ханно Лемке (Hanno Lemke), генеральный менеджер Microsoft Studios Europe, объявил, что выпуск Fable Legends отменяется и Lionhead будет закрыта. Знаменитая студия, которую Питер Молиньё создал почти 20 лет назад, умерла.

Подробная история расцвета и падения Lionhead запутанна, но важна. Работавшие в студии описывают её как место, пропитанное духом творчества, в котором сокрушительные поражения часто сопровождались потрясающим успехом. Они описывают неистовую британскую культуру, выигравшую и пострадавшую от своего американского властителя, одержимого победой в войне консолей. И они рассказывают о студии как о творении человека, столь же вдохновляющего, сколь и раздражающего. Это непростая история. Но её стоит рассказать.
Читать полностью »

Всем привет! Я хочу рассказать историю разработки игры на Delphi от идеи до релиза.
Статья больше носит характер истории, без вникания в подробности реализации. Честно говоря, очень хочется написать про то, как мы строим картинку в игре, или локализуем её, как мы делали GUI, но это я выделю в отдельную статью, больше техническую, с кодом. Иначе эта окажется слишком большой. Кода тут не будет, но детали под катом. Прошу!

Blast-off. От идеи до релиза - 1

Application.Initialize;

Итак. Игра наша придумана была давно для конкурса разработки игр (джема) IGDC №77 — джампер Это было начало 2012 года. Игру мы делали в состоянии перманентного кранча аж две недели. Код вышел ужасным. Расширять было невозможно, порой возникали необъяснимые глюки, но в целом игра работала и некоторые товарищи умудрялись проводить в ней дни, недели. Пара человек залипали в течение месяца. Стало понятно, что реиграбельность у неё хорошая и надо бы её доделывать. Но, как я сказал выше, код был ужасен из-за скомканных сроков, так что доделок было сделано не очень много и всё благополучно забыто.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js