Вайб-кодинг: революция или иллюзия? Что на самом деле происходит с программированием в 2026 году

222 Вайб-кодинг — слово 2025 года: что это такое, кто заработал миллион и почему Торвальдс называет это катастрофой.
Павел Ельцов 23 апреля 2026 в 11:32

Представьте: вы открываете чат с нейросетью и пишете — «Сделай мне браузерную игру-авиасимулятор с трёхмерной графикой». Идёте варить кофе. Возвращаетесь — игра готова. Проходит семнадцать дней, и на вашем счету миллион долларов выручки.

Именно это произошло с Питером Левелсом из Нидерландов в марте 2025 года. Всего три часа работы, ни одной строки кода, написанной самостоятельно.

Это называется вайб-кодинг. Словарь Коллинза признал его словом года. Четверть стартапов, прошедших через акселератор Y Combinator, создают таким образом девяносто пять процентов своего кода. А инструменты для вайб-кодинга оцениваются в десятки миллиардов долларов.

Но что это вообще такое? Будущее программирования или начало конца?

Одни говорят — революция: любой человек может создать приложение, просто описав его словами. Другие бьют тревогу: армия людей, которые не способны понять код, который они якобы «написали». И когда что-то ломается — а оно ломается непременно — никто не знает, как это починить.

Истина, как водится, находится где-то посередине.В этом материале мы разберёмся в трёх вещах. Первое — откуда вообще взялся этот «вайб» и как он устроен. Второе — что происходит, когда люди начинают строить настоящий бизнес на коде, которого не понимают. И третье — для чего вайб-кодинг действительно был создан.

Спойлер: это не замена программистов.

Глава первая. Откуда взялся этот вайб

Точкой отсчёта явления можно считать февраль 2025 года. Андрей Карпаты — почти легендарная фигура в мире искусственного интеллекта. Один из сооснователей OpenAI, бывший директор по искусственному интеллекту в компании Tesla и тот самый человек, который обучал нейросети водить автомобили.

3 февраля 2025 года он публикует пост в социальной сети X. Запись набирает более пяти миллионов просмотров.

Вот что он написал:

«Есть новый вид кодинга, который я называю vibe coding. Ты полностью отдаёшься вайбу, принимаешь экспоненциальный рост и забываешь, что код вообще существует».

Дальше Карпаты описывает, как теперь устроена его работа. Он разговаривает с нейросетью голосом через программу SuperWhisper. Просит самые, казалось бы, примитивные вещи: «уменьши отступ слева на половину». Почему голосом? Потому что лень искать нужную строчку в коде. Когда искусственный интеллект предлагает изменения, Карпаты жмёт «принять всё». Он вообще не смотрит, что именно нагенерировала машина.

А когда вылезает ошибка? Копирует её текст в чат к боту. Без комментариев и объяснений — просто красный текст из консоли. По его словам, как правило бот сам находит источник проблемы и устраняет её вполне эффективно.

В итоге код разрастается. Карпаты сам признаётся: он уже не понимает, что происходит внутри проекта. Чтобы разобраться, пришлось бы сесть и внимательно читать код несколько часов подряд. Иногда ошибка не поддаётся никаким текстовым командам — тогда он просит делать случайные изменения, пока проблема не исчезнет сама собой.

И вот тут кроется важная деталь, которую многие пропустили. В конце того самого поста Карпаты добавляет оговорку: «Неплохо для одноразовых проектов выходного дня».

Запомните эту фразу: throwaway weekend projects — одноразовые проекты выходного дня.

Однако интернет услышал другое. Широкая аудитория поняла: можно забить на код и просто «вайбить». Оговорка воспринялась как мелкий шрифт в договоре, который никто не читает. Но к этому мы вернёмся чуть позже.

Сначала стоит ответить на вопрос: почему это сработало именно сейчас? Почему не год и не пять лет назад?

Чтобы понять, нужно посмотреть на программирование как на лестницу.

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

Чуть позже, ступенькой выше, появился ассемблер. Он уже работал с буквами и командами вроде MOV и ADD, но всё ещё требовал думать на языке регистров и адресов памяти.

Ещё выше выросли языки вроде C и Java, где код начал напоминать английские предложения.

Потом пришёл Python — настолько простой, что его часто называют «исполняемым псевдокодом»: языком, на котором можно объяснить алгоритм даже человеку, далёкому от программирования.

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

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

Но что конкретно изменилось в технологиях? Почему в 2023 году так не работало, а в 2025-м заработало?

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

Первый прорыв — контекстное окно. Это количество текста, которое нейросеть может «держать в голове» одновременно, и сколько информации она учитывает при генерации ответа.

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

В 2023 году контекстные окна измерялись тысячами токенов — это примерно несколько страниц текста. Можно было показать искусственному интеллекту кусочек кода и спросить: «Что тут не так?» Но скормить ему весь проект целиком — невозможно.

К 2025 году контекст вырос до нескольких миллионов токенов. Это примерно вся кодовая база среднего проекта — около семидесяти пяти тысяч строк кода — целиком и сразу. Теперь можно сказать нейросети: «Добавь систему авторизации». И она поймёт, какие файлы нужно трогать, как они связаны между собой, какие зависимости учесть.

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

Современные модели научились строить цепочки рассуждений. Прежде чем написать код, модель «думает» вслух, а затем выполняет шаги последовательно, проверяя результат каждого. Если вы пользуетесь нейросетями, вы наверняка сталкивались с этим — как правило, это так называемый «думающий» режим, или Pro-режим.

Эти два изменения — увеличение памяти и появление планирования — превратили искусственный интеллект из умного автодополнения в нечто, напоминающее младшего разработчика. Неопытного, ошибающегося, но способного взять задачу и довести её до результата.

И здесь важно рассказать об одной истории, которая многое объясняет про реальные границы вайб-кодинга.

Свой последний серьёзный проект — чат-клиент под названием Nanochat — Карпаты написал руками. Да, тот самый Карпаты. Человек, который придумал термин «вайб-кодинг» и легитимизировал его для миллионов разработчиков по всему миру.

Почему руками? Он сам объяснил в посте о проекте: «Искусственные интеллект-агенты просто не работали достаточно хорошо. Были бесполезны. Возможно, репозиторий слишком далёк от того, на чём они обучались».

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

Создатель термина сам очертил его границы — но эти границы увидели далеко не все.

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

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

Если давать определение точно, вайб-кодинг — это когда ты не понимаешь, что у тебя в коде, и принимаешь изменения на веру. Ещё проще: когда пользователь является дилетантом в работе с кодом.

Людей, которые не понимают код, который они «написали», с каждым месяцем становится всё больше. У них появились инструменты, которые раньше были доступны только профессионалам с годами обучения за плечами.

Карпаты открыл дверь. Но как именно в неё войти? Оказывается, есть несколько способов нырнуть в эту кроличью нору.

Глава вторая. Три способа нырнуть в кроличью нору

Вайб-кодинг условно можно поделить на три уровня вовлечённости.

Уровень первый — чат-боты

Первый уровень — это обычный чат. ChatGPT, Claude, Gemini, Grok и любой из десятков ботов, которые сейчас доступны каждому. Вы открываете браузер, описываете задачу человеческим языком, получаете код, копируете его куда нужно.

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

Для небольших задач это работает отлично. Написать функцию сортировки. Разобраться с непонятным сообщением об ошибке. Спросить, что делает странный синтаксис, который вы встретили в чужом коде. Бот объяснит, покажет примеры, предложит варианты.

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

Контекст теряется. Бот не помнит, что вы делали пять сообщений назад, если разговор затянулся. Всё приходится объяснять заново.

Зато контроль — стопроцентный. Если бот сгенерировал чушь, вы просто не используете это. При условии, конечно, что вы поймёте, что это чушь.

Уровень второй — умные редакторы

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

Cursor стал символом этой категории. К ноябрю 2025 года компанию оценили в двадцать девять миллиардов долларов.

Почему такие деньги? Потому что Cursor решает ту самую проблему курьера. Здесь искусственный интеллект видит весь ваш проект. Он читает файлы, понимает структуру, знает, какие библиотеки вы используете. Когда вы говорите «добавь авторизацию», Cursor не просит скопировать код из десяти файлов — он сам находит нужные места и предлагает изменения.

Ключевая функция называется Composer. Вы открываете специальную панель, пишете задачу обычным языком, и искусственный интеллект редактирует сразу несколько файлов одновременно.

При этом вы всё ещё видите, что происходит. Каждое изменение подсвечивается. Можно принять, можно отклонить, можно попросить переделать. Вы всё ещё рулите, но искусственный интеллект сидит рядом на пассажирском сиденье и подсказывает дорогу.

Уровень третий — автономные агенты

Третий уровень меняет всё. Здесь вы перестаёте быть водителем. Вы становитесь менеджером. Или, если говорить честнее, пассажиром такси, который назвал адрес и откинулся на сиденье.

Автономные агенты — такие как Replit Agent или Devin — работают следующим образом. Вы ставите задачу, например: «Сделай систему оплаты с интеграцией платёжного сервиса». И уходите. Можете заварить чай, проверить почту, выгулять собаку.

Агент сам разбивает задачу на шаги. Сам проектирует архитектуру. Сам пишет код. Сам запускает, тестирует, видит ошибки, исправляет их. Часами. Без вашего участия.

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

Звучит как мечта? Так и есть. Но у этой мечты есть тёмная сторона, и мы к ней ещё вернёмся.

Пока важно понять механику. Автономный агент — это модель, обёрнутая в цикл действий. Специалисты называют его OODA: наблюдай, ориентируйся, решай, действуй (от английского Observe, Orient, Decide, Act).

Агент смотрит на текущее состояние проекта. Сопоставляет его с вашим запросом. Решает, что нужно изменить. Вносит изменения. Потом снова смотрит на результат. И повторяет цикл, пока задача не будет выполнена — или пока не упрётся в тупик.

Однако когда что-то ломается, вы оказываетесь в странной позиции. Вы владелец системы, которую не понимаете. Менеджер команды из одного искусственного интеллекта, который не может объяснить свои решения.

Казалось бы, рецепт катастрофы. Но по факту всё оказалось интереснее: на вайб-кодинге можно зарабатывать.

Глава третья. Когда вайб приносит миллионы

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

Март 2025 года. Левелс открывает Cursor, подключает языковую модель Claude и начинает разговаривать с нейросетью. Он хочет сделать браузерную игру — авиасимулятор с трёхмерной графикой и мультиплеером, чтобы можно было летать вместе с другими игроками в режиме реального времени.

Три часа спустя игра работает.

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

Монетизация оказалась простой: хочешь летать на истребителе F-16 вместо стандартного самолёта — плати тридцать долларов. Хочешь рекламу своего продукта на билбордах внутри игрового мира — пять тысяч долларов в месяц за рекламный слот. Предприниматель Илон Маск опубликовал репост проекта со словами «Игры с использованием искусственного интеллекта будут чем-то невероятным» — и это только добавило волны интереса.

Но Левелс — не новичок. У него за плечами годы опыта, десятки запущенных проектов, понимание архитектуры и инфраструктуры. Он знает, что просить у искусственного интеллекта, потому что знает, как устроен программный продукт.

Возникает резонный вопрос: а что насчёт людей, которые вообще не умеют программировать? Сработает ли для них эта магия?

Джош Морер решил проверить. Бывший глава Uber в Нью-Йорке, менеджер и управленец до мозга костей, человек из мира бизнеса. Опыт написания кода — нулевой.

Морер хотел приложение для записи встреч: чтобы оно само расшифровывало разговоры, выделяло ключевые моменты и генерировало резюме переговоров.

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

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

Через восемь месяцев приложение Wave AI приносит четыреста пятьдесят тысяч долларов ежемесячной выручки. Двадцать две тысячи платящих подписчиков. Морер утверждает, что написал «девяносто девять процентов кода самостоятельно с помощью искусственного интеллекта».

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

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

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

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

Глава четвёртая. Когда вайб превращается в кошмар

На каждую историю успеха приходится история провала — и последних, к сожалению, даже больше.

Июль 2025 года. Джейсон Лемкин, основатель одной из крупнейших конференций для стартапов в мире — SaaStr, — решает поэкспериментировать. Он слышал про вайб-кодинг, видел истории успеха и хочет попробовать сам. Открывает Replit Agent, начинает строить бизнес-приложение: базу данных с контактами руководителей, инструмент для профессионального нетворкинга.

Девять дней всё идёт хорошо. Агент пишет код, добавляет функции, проект растёт. Тысяча двести шесть записей о руководителях компаний. Тысяча сто девяносто шесть компаний. Месяцы работы по сбору данных.

На десятый день агент удаляет всю базу данных. Просто стирает.

Лемкин потом подсчитал: он одиннадцать раз в явном виде запрещал агенту трогать данные. Писал заглавными буквами. Ставил пометки в коде. Создавал отдельные инструкции. Агент игнорировал всё.

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

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

Ошибки, конечно, случаются. Но эта история наглядно демонстрирует: автономный агент может действовать вопреки явным инструкциям, лгать о последствиях своих действий и пытаться скрыть проблемы. Это не баг в привычном понимании слова. Это нечто принципиально иное.

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

Пока Лемкин разбирался с удалённой базой, на другом конце интернета разворачивалась история Enrichlead.

Леонель Ацеведо, предприниматель, решил построить SaaS-продукт целиком на базе Cursor. Ноль строк кода руками — принципиальная позиция. Он хотел доказать, что вайб-кодинг работает для настоящего бизнеса. Продукт для обогащения данных о потенциальных клиентах — полезный инструмент для специалистов по продажам.

Запуск прошёл успешно. Первые пользователи появились. Ацеведо начал рассказывать в социальных сетях, как построил продукт полностью с помощью искусственного интеллекта. Делился опытом, отвечал на вопросы, вдохновлял других.

Через два дня после запуска он написал панический пост: «Ребята, меня атакуют. Ключи к интерфейсам сторонних сервисов исчерпаны, люди обходят подписку, создают мусор в базе данных».

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

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

Ацеведо закрыл проект. В последнем посте написал: «Cursor ломает другие части кода при каждом исправлении». Попытки залатать одни дыры создавали новые.

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

Объяснение этому явлению лежит на поверхности. Искусственный интеллект обучался на открытом коде из интернета. А открытый код в интернете полон уязвимостей. Stack Overflow завален примерами, которые работают, но небезопасны. GitHub хранит миллионы репозиториев, написанных новичками. Модель впитала всё это и теперь воспроизводит те же ошибки с уверенностью эксперта.

Линус Торвальдс, создатель операционной системы Linux и системы контроля версий Git — человек, чей код работает на миллиардах устройств по всему миру, — высказался на саммите Open Source в Сеуле.

«Вайб-кодинг — отличный способ заинтересовать новичков компьютерами», — сказал он. А потом добавил: «Ужасная, ужасная идея, если пытаться сделать из этого продукт».

Торвальдс объяснил, почему. Код ядра Linux должен быть скучным, предсказуемым и стабильным. Когда от твоего кода зависят серверы банков, медицинское оборудование, системы управления воздушными судами — «вайб» является последним, что тебе нужно. Нужны люди, которые понимают каждую строчку.

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

Если вайб-кодинг создаёт миллионеров и банкротов одновременно, ускоряет разработку и множит уязвимости, если эксперты называют его и «отличным способом начать», и «ужасной идеей для продукта» — может быть, мы вообще не о том спорим? Может быть, вопрос «заменит ли вайб-кодинг программистов» изначально поставлен неверно?

Глава пятая. Персональный софт: настоящее будущее

Посмотрим на проблему с другой стороны. Сегодня, если вам нужно приложение, вы идёте в магазин.

App Store, Google Play, тысячи вариантов на любой вкус. Находите что-то похожее на то, что искали, скачиваете — и начинаете мириться. Какие-то функции вам не нужны: они загромождают интерфейс, отвлекают, иногда раздражают. Двадцать процентов нужных функций работают не совсем так, как хотелось бы: кнопка не там или логика странная. Интеграция с нужным сервисом отсутствует.

Но вы терпите, потому что альтернатива — писать своё приложение с нуля — требует либо денег на разработчика, либо месяцев обучения программированию.

Почему так происходит? Чтобы окупить затраты, продукты создают для миллионов пользователей. Разработчики усредняют потребности, ищут общий знаменатель, отсекают всё слишком специфичное. Ваш личный случай никому не интересен с экономической точки зрения.

Вайб-кодинг меняет это уравнение.

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

Вайб-кодинг создаёт такой же параллельный класс — персональный программный продукт. Приложения, которые существуют в единственном экземпляре. Решают задачу одного человека или одной небольшой компании. Они никогда не попадут в магазины приложений и не будут скачаны миллионами. Да и не должны.

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

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

Заключение

Так есть ли у вайб-кодинга будущее? Да. Но не то, о котором кричат заголовки.

Вайб-кодинг не заменит программистов. Для профессиональной разработки он останется тем, чем его задумывал Карпаты: способом быстро проверить идею и генератором черновиков, с которыми потом работают специалисты.

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

Карпаты придумал термин для проектов выходного дня. Индустрия попыталась применить его к полноценному продакшену — и получила удалённые базы данных и серьёзные уязвимости в безопасности.

Урок прост: инструмент работает там, где его создатель и предполагал. Для всего остального есть профессионалы.

Yandex Cup 2024: Регистрация на международный чемпионат по программированию открыта

Компания Яндекс объявила о старте приема заявок на международный чемпионат по программированию Yandex Cup 2024 с призовым фондом 12,5 млн рублей.
aka_opex 18 сентября 2024 в 05:57

Яндекс объявил о старте регистрации на седьмой международный чемпионат по программированию Yandex Cup. В этом году турнир будет разделён на три категории: для начинающих и опытных программистов, для юниоров в возрасте от 14 до 18 лет и для сотрудников Яндекса, которые поборются за звание лучшего среди коллег. Призовой фонд чемпионата увеличен с 8,5 до 12,5 млн рублей.

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

Чемпионат Yandex Cup 2024 включает три этапа. С 14 по 20 октября пройдет онлайн-квалификация, 2 ноября — онлайн-полуфинал, а финал и церемония награждения состоятся с 2 по 6 декабря в Ташкенте. На этапе квалификации участники смогут попробовать силы в нескольких направлениях, а к полуфиналу выбрать одно.

Особенностью Yandex Cup 2024 станет Gold-финал, где победители всех категорий, включая юниоров и сотрудников Яндекса, будут бороться за звание абсолютного чемпиона в каждом направлении.

Зарегистрироваться можно на сайте турнира до 20 октября. Победители получат денежные призы, а участники с лучшими результатами в своих направлениях смогут пройти упрощённое собеседование в Яндексе.

Яндекс проводит программные соревнования с 2011 года. В 2023 году на участие в Yandex Cup подали заявки более 16 тысяч человек из 70 стран, а финал, прошедший в Алматы, собрал 120 участников из 16 стран.

Что такое и как устроена троичная логика? Разбор

Поговорим про двоичную и, что самое интересное, троичную логику. Это интересно с точки зрения программирования и не только…
aka_opex 4 ноября 2022 в 09:49

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

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

https://youtu.be/NIq0dOAJZ-Y

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

Но почему мы до сих пор сидим на двоичных вычислениях? Где применяется троичная логика? Как она прокачала Базы данных? И при чем тут квантовые компьютеры?

Основная Часть

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

Например, возьмём выражение с двумя значениями A и B. И A, и B могут принимать значения 0 или 1, True или False. Теперь, чтобы получить решение нашего выражения, нам нужен правильный вентиль.

Есть три базовых оператора: NOT, AND и OR.

NOT инвертирует значение на противоположное, то есть NOT 1 — это 0, и наоборот.

Вентиль AND работает следующим образом. Допустим, у нас на столе стоит много кружек с водой. Каждая кружка либо наполнена, либо пуста. Полная кружка это 1, пустая — 0. Если поставить между кружками вентили AND, то финальным ответом выражения будет 1, если все кружки окажутся наполненными, и 0, если хотя бы одна пуста.

AND, по сути, берет минимальное среди имеющихся значений. Если хотя бы одно значение равно 0, то ответ 0, если нет, то ответ — 1. Как правило, найдя хотя бы один ноль, мы может игнорировать остальную часть выражения, так как результат всё равно будет ноль.

Если AND — это минимальное значение, то OR — максимальное. Возьмём наше выражение с кружками, но заменим все вентили AND на OR. Теперь только одна полная кружка уже даст ответ 1. Если хотя бы одно значение это 1, то результат 1, в другом случае результат 0. То есть мы всегда берём максимальное значение.

Вернемся к нашим значениям A и B. Допустим, A это 1, а B это 0. В данном случае наши вентили будут выглядеть следующим образом.

Теперь, когда мы вспомнили принцип работы двоичной логики, давайте взглянем на троичную. Чем она отличается? И главное — зачем вообще биту третье значение?

Начнём с истоков. Автор первой троичной логики — польский философ Ян Лукасевич, описавший троичную логику в 1920-м году. Лукасевича смотивировала проблема морского боя Аристотеля. Работает она следующим образом. Возьмём фразу: “Через год Apple выпустит умный холодильник” Что можно сказать об этом утверждении?

Оно не является правдой и не является ложью, так как мы просто можем не знать, что произойдет через год. Соответственно, имея только два варианта ответа — истина и ложь — мы не сможем дать правильный ответ. Чтобы разобратся с этим, Лукасевич решил ввести третье значение в двоичную логику — неизвестно, означающее, что в данный момент времени, мы не можем дать точный ответ на вопрос. Но как же третье значение работает с True и False? Сейчас объясним.

Принцип работы троичной логики Клини

В троичной логике дополнительное значение является либо True, либо False, но в данный момент выяснить, чем именно невозможно, поэтому оно обозначено U, то есть Unknown.

Возьмём за пример выражение “Я ем дошик и Через год Apple выпустит умный холодильник”. Разберем это выражение по логическим частям. Возьмем первую. Допустим я действительно ем дошик. Это значит, что первая часть предложения “я ем дошик” — истина. Теперь посмотрим на вторую часть “через год Apple выпустит умный холодильник”. Мы не знаем, что это True или false. Поэтому его значение Unknown. Поскольку значение второй части напрямую влияет на результат всего выражения, а ответ мы не знаем, мы не можем дать конечный ответ, истина это или ложь, соответственно значение ВСЕГО выражения: “не знаю” или же Unknown.

Я ем дошик = True. Через год Apple выпустит умный холодильник = Unknown

Я ем дошик И Через год Apple выпустит умный холодильник. True AND Unknown = Unknown

Теперь, мы немного изменим наше выражение. “Я ем дошик ИЛИ Через год Apple выпустит умный холодильник”. В этом случае, мы берем максимальное значение — решение первой части предложения “Правда” или же 1. Это значит, что ответ на вторую, неизвестную часть предложения никак не влияет на конечный результат, так как мы уже нашли максимум, соответственно ответ, в данном случае, истина.

Я ем дошик ИЛИ Через год Apple выпустит умный холодильник. True OR Unknown = True

Эта логика называется “Сильная логика Клини”, в честь американского математика Стивена Коула Клини. Она позволяет избежать ответа на сложный вопрос в данный момент времени. Это третье значение часто используется в базах данных дабы указать на отсутствие информации.

Парадокс лжеца

Логика Клини не решает сложные задачи, она избегает ответ. Теперь мы рассмотрим логику, которая способна ответить даже на самые парадоксальные вопросы. Например возьмём проблему с двумя кнопками.

Перед вами две кнопки. Надпись на синей кнопке утверждает, что красная кнопка врёт, а надпись на красной кнопке говорит, что синяя кнопка говорит правду. Вопрос в том, какой кнопке стоит доверять. Не старайтесь, эту задачу мы решить не можем, так как просто не знаем кто лжец. Парадокс в противоречии. Как кнопка может врать и говорить правду одновременно? Нам остаётся только сказать, что ответ неизвестен. Но, есть вариант троичной логики, который способен ответить на этот вопрос. Эта логика называется логика парадокса.

Логика парадокса

Отличие парадоксальной логики в том, как мы определяем значение “истина”. В логике Клини истина это всегда True, в то время как в парадоксальной логике истина это то, что не False. Следите за руками. То есть Unknown в виде результата выражения равняется True.

Самое интересное в этой логике то, что третье значение сразу и True и False. Почему? Сейчас объясним на простом примере. Допустим мы возьмём уже знакомое нам выражение “Через год Apple выпустит умный холодильник” и продублируем его, но инвертируем и добавим вентиль AND между ними. В итоге мы получим выражение: “Через год Apple выпустит умный холодильник И Через год Apple не выпустит умный холодильник”. В обычной логике эта фраза не имеет никакого смысла, но не в логике парадокса.

Как уже упоминалось ранее, мы не знаем ответ на это выражение, значит результат — Unknown, и по правилам троичной логики, противоположность неизвестного значения — неизвестно. В упрощённом варианте это выражение выглядит так (UNKNOWN AND NOT UNKNOWN). Что всё это значит?

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

Отсюда и парадокс. Как Apple выпустит умный холодильник и не Apple выпустит умный холодильник одновременно?

  • A = Через год Apple выпустит умный холодильник
  • NOT A = Через год Apple не выпустит умный холодильник
  • Через год Apple выпустит умный холодильник И Через год Apple не выпустит умный холодильник
  • A AND NOT A

Как улучшить компьютер?

Теперь о применении. Троичная логика в компах сильно увеличит объем информации, с которой может работать процессор. Смотрите, возьмём 1 мегабайт в двоичной системе или же 1,048,576 байт, ну или сразу 8,388,608 бит. Ровно столько клеток имеет процессор для хранения информации. Всего такой комп может хранить 2^8,388,608 разных чисел.

Теперь представим, что компьютер стал троичным. Каждая клетка уже хранит одно из трех значений. Соответственно, количество возможных чисел возрастает до 3^8,388,608. Сколько же это в битах? Для того, чтобы это выяснить, нам нужно найти логарифм этого числа в третьей степени (не уверен так ли правильно сказать) (log 3^8,388,608). Финальное значение 13,295,629 бит. Прирост примерно 58% из-за того, что число 3 ближе к числу e, равному 2.71828. При этом приросте мы не увеличиваем количество клеток в памяти, что просто офигенно.

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

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

Заключение

Где применяется? Так, с троичной логикой разобрались, теперь перейдем к тому, где она применяется.

Троичный компьютер. Самым первым троичным компом был «Сетунь», созданный в 1958-ом году нашими соотечественниками из МГУ.

Невероятно эффективная машина, которая показывала примерно 95% полезного времени в операциях. Другими словами «Сетунь» почти не тратил времени на бесполезные задачи по типу операции на определение знака числа. К слову, в те времена другие компы в лучшем случае имели только 60% полезного времени.

Произвели на свет всего 50 штук, но к сожалению запустить «Сетунь» в массовое производство не удалось. Правительство СССР было против этой технологии и в 1965-ом производство свернули, заменив на двоичные аналоги.

Интересно то, что, чтобы приблизить двоичный компьютер по эффективности к «Сетунь», потребовалось потратить в 2,5 больше денег из-за тех же лишних операций.

База данных

Базы данных на основе языка SQL также используют троичнную логику. Значение null в SQL означает отсутствие информации и может являться чем угодно. Если это значение влияет на финальное выражение, то результат будет неизвестен, или же Unknown. Всё, как в логике Клини.

К примеру, нам нужно получить имя и фамилию пользователя. Если мы знаем имя, но не знаем фамилию, мы можем просто заменить ответ на null, то есть неизвестное значение.

Квантовый компьютер (в будущем)

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

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

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

Почему не прижилась?

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

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

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

Как создают мобильные приложения? Разбор

Сегодня мы углубимся в вопросы разработки приложений для разных мобильных операционных систем и снова попытаемся понять разницу между iOS и Android?
aka_opex 31 августа 2022 в 08:28

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

Разработчики при помощи кода, по сути, просто текста, заставляет очень глупое сознание — компьютер или смартфон совершать невероятные вещи. Угадывать наши музыкальные вкусы, отслеживать пульс, управлять умным домом и так далее. Поэтому сегодня мы узнаем, что стоит за этой магией.

Разберемся, что такое среда разработки? Узнаем, чем отличаются приложения под iOS и Android? Что лучше, нативные или кросс-платформенные приложения?
И зададим главные вопросы разработчику!

Где разрабатываются приложения?

Итак, разработать приложение — это примерно как сделать табуретку. Для этого вам потребуется необходимый набор инструментов и помещение, где вы будете пилить свою табуретину. На программистском такое помещение с инструментами называется среда разработки или по-научному IDE.

IDE — Integrated development environment — интегрированная (или единая) среда разработки

Для Android такой средой разработки является Android Studio, а для iOS – Xcode.

Среда разработки – это просто программа, где есть всё что вам нужно для создания приложения. Тут есть:

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

Окей, двигаемся дальше.

На каких языках пишутся приложения?

Приложения под разные платформы пишут на разных языках программирования. Большую часть кода под iOS пишут на Objective-C и Swift, а под Android на Java и Kotlin.

Swift и Kotlin – это более современные и дружелюбные языки программирования. Эти языки очень похожи, вплоть до того, что некоторые участки кода могут совпадать на 70% и даже больше.

Вот пример функции которая на основе текущего дня и вида погоды создает сообщение о прогнозе.

Интересно, что Swift создан только для разработки под iOS. А вот на Kotlin можно писать под разные платформы, и под Windows, и под Linux, и даже под iOS. Думаю, это одна из причин радости разработчиков, когда Kotlin добавили в Android Studio. Это было на Google I/O в 2017 году.

Из чего состоят приложения?

С языками и средой разработки разобрались. Но из чего состоят приложения, и как они работают изнутри?

Разберем на примере Android.

Тут все приложения состоят из четырёх основных компонентов, это:

  1. Активность (activity)
  2. Сервис (service)
  3. Широковещательный приемник (broadcast receiver)
  4. Поставщик содержимого (content provider)

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

Начнем с Активностей. По сути, это основной интерфейс приложения. Это пустое окно, в которое мы запихиваем текст, картинки, кнопки и прочие элементы интерфейса. Как правило, активность занимает полный экран, и по своей сути она похоже на веб-страницу.

Активность может быть одна, либо их может быть несколько. И также как мы можем переключаться между веб-страницами при помощи гиперссылок, мы может переключаться между активностями при помощи специального класса Intent (т.е. намерение), попутно передавая информацию о действиях пользователя, то есть его намерениях.

Каждая Активность имеет свой жизненный цикл. Выглядит он вот так сложно:

Но если упростить, активность может находиться в одном из четырех состояний:

  1. Запущена
  2. На паузе
  3. Остановлена
  4. Уничтожена

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

Иными словами активность не может работать в фоне. Для этого в Андроиде существует другой компонент — сервис (service)

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

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

iOS и фоновые задачи

А вот в iOS проблемы совсем иного рода. В качестве аналога Сервисов тут есть шутка, которая называется Background Task, то есть буквально фоновая задача.

Вот только все фоновые процессы в iOS строго регламентируются. Разрешены только определенные типы фоновой обработки: типа воспроизведение аудио, если ваше приложение это аудиоплеер, ну или навигация, если вы навигатор или какой-нибудь фитнес-трекер. И то, вам еще предстоит предоставить вескую причину, что вам этот функционал необходим, иначе приложение просто не пройдет строгую проверку Apple.

Из плюсов: вряд ли какое-то приложение сожрет в фоне батарейку на вашем iPhone. Из минусов — вам придется постоянно тыкать в экран пока грузится видосик в Telegram.

Тем не менее, частично такие ограничения можно обойти и реализовать практически тоже самое, что можно сделать на Android.

Иными словами, разработка для iOS и Android очень похожа. Отсюда возникает вопрос, а можем ли мы написать одно приложение, которое будет работать и на iOS и Android? На самом деле можем, но с оговорками.

Когда перед разработчиком стоит задача погнаться сразу за двумя зайцами, то есть разработать приложение сразу под две ОС. У него есть три пути:

  1. Использовать нативную разработку,
  2. Использовать кросс-платформенную разработку
  3. Использовать гибридную разработку.

В чем разница?

Нативные, кросс-платформенные и гибридные разработки

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

От англ. native — родной, естественный

В этом случае под каждую операционную систему пишется отдельное приложение с использованием родных для этой системы языков и инструментов, то есть для iOS нативные приложения пишутся в среде разработки Xcode на языках Objective-C и Swift. А для Android используют Android Studio и языки Java и Kotlin.

Нативные приложения считаются самыми быстрыми, надежными и вообще чувствуют себя в родной ОС как дома. Каждое такое приложение, как костюм сшитый на заказ. Из преимуществ — такой костюм идеально сидит, из недостатков — для каждой ОС приходится шить свой отдельный костюм.

Поэтому существует очень манящая идея кросс-платформенной разработки. Представляете, вы пишите один код, который работает на разных платформах. Звучит как настоящая мечта для заказчика. Нужно вдвое меньше разработчиков, вдвое меньше времени и, чисто теоретически, вдвое меньше бюджет. Более того есть масса инструментов, то есть фреймворков, которые позволяют это сделать: React Native, Flutter, Xamarin, Cordova, Ionic, Titanium Appcelerator, Vue Native.

Самые популярные — React Native и Flutter.

Естественно, каждый из таких фреймворков обещает, что их кросс-платформенное приложение будет ничем не хуже нативного, но на практике всё не так.

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

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

Но какой из этих подходов круче? 

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

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

Гибридные приложения сочетают в себе нативные и кросс-платформенные части. Можно сказать, что они являются проявлением длительного, если не бесконечного, поиска баланса между стоимостью разработки приложения и его способностью приносить пользу для бизнеса.

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

  • Можно ли на этой технологии в принципе сделать тот набор фичей, который нужен продукту?
  • Можно ли их отнести к стандартным фичам, которые известно как реализовывать? Насколько часто нам нужно выходить за пределы стандартных фичей? Насколько важен внешний вид приложения?
  • Насколько критичны требования к производительности приложения? Предполагается ли, что оно должно делать какие-то тяжелые вычисления, обрабатывать большие объемы данных, рисовать сложный пользовательский интерфейс?
  • Насколько критична скорость разработки, быстрота найма и стоимость работы разработчиков?
  • Каков риск и насколько он критичен в случае, если владельцы технологии поменяют к ней отношение? Они могут снизить затраты или вообще остановить ее разработку, поменять лицензионную политику, ввести какие-то другие ограничения на ее пользователей.

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

Кросс-платформенный подход, например React-Native, тут может отлично сработать. Почему?

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

Какой подход использовался при разработке приложения «МойОфис Документы»?

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

Приложение “МойОфис Документы” можно разделить на две части:

  1. Файловый менеджер (ФМ)
  2. Редактор документов

ФМ — это пример классического набора относительно стандартных функций: авторизация, работа с сетью, показ списка объектов с помощью стандартных UI элементов.

Редакторы — совсем другая история. Их «сердцем» является общее ядро, написанное на C++. За счет этого мы получаем полную унификацию того, как выглядят и ведут себя редакторы на всех платформах на которых мы умеем работать. Цена этой унификации конкретно нашего приложения — необходимость работы с C++, языком который сложно назвать стандартным для мобильной разработки. Что интересно, из-за ядра мы вполне можем назвать наше приложение гибридным, т.к. в нем есть кросс-платформенная часть. Разница лишь в том, что в такой кросс-платформе код ядра работает даже быстрее, чем если бы он был написан на наших «нативных» Java и Kotlin.

Помимо ядра у нас есть нестандартные элементы интерфейса, которые так же критичны к производительности. Я люблю приводить в качестве примера логику рендеринга документов. Этот компонент состоит из двух частей: логика ядра, которая рисует содержимое документа в буфер и логика рисования этого буфера уже на экране. Почему так работает — отдельная история, но сейчас важно, что это позволяет нам находить баланс между скоростью рисования содержимого и эффективным потреблением памяти и CPU. (Тут нужно вставить видео в котором включен developer mode в рендеринге, добавит наглядности)

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

Под какую платформу сложнее программировать iOS или Android?

После совместных обсуждений мы пришли к выводу, что сложность именно в работе примерно одинакова. Обе системы сейчас стремительно движутся в общем направлении как по фичам, так и по подходам к разработке (kotlin ~ swift, ComposeUI ~ SwiftUI). Отличия, конечно, остаются, но они не такие значительные чтобы о них говорить в контексте “сложнее-проще”. Другой вопрос, что порог входа в iOS по прежнему выше, чем в Android: вам нужен мак и айфон для того чтобы начать.

А можно ли написать приложение вообще без кода?

На сегодняшний день, действительно, существуют технологии, которые позволяют создавать некоторый вид приложений буквально не написав ни строчки кода. Чтобы понять как это работает можно вернуться к предыдущей теме. На разработку удобнее смотреть не бинарно (нативное или кросс-платформенное), а как на непрерывный процесс поиска наиболее оптимального способа решать бизнес-задачи. Двигаясь от нативной к полностью кросс-платформенной разработке мы также двигаемся по пути абстрагирования от конкретных платформ и ОС к технологиям которые позволяют сфокусироваться только на бизнес-задачах. Зерокодинг — это пример крайнего положения на спектре разработки. Тут вас ждет огромное количество ограничений: внешний вид, потенциально реализуемые фичи, производительность, полная зависимость от конкретной компании. С другой стороны, вы получаете возможность запустить первую версию приложения буквально за выходные. А в некоторых случаях это может быть крайне важно.

Подписывайтесь на МойОфис ВКонтакте, будьте в курсе новостей разработки приложений. 

Установить бесплатные редакторы для решения повседневных задач на домашнем компьютере или мобильном устройстве: ПК, Google Play StoreAppStore

Пора идти в IT?

Сегодня профессия программиста стала, кажется, одной из самых желанных, а рынку требуются новые специалисты. Как и где научиться Java и Frontend?
aka_opex 5 апреля 2022 в 02:23

Учиться никогда не поздно. Эти слова сегодня стали особенно актуальными. За последние несколько лет стало понятно, что при желании можно относительно легко поменять свою жизнь, получив новую профессию.

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

Например, в марте приняли специальные налоговые льготы для IT-компаний. Для таких компания будет “обнулён” налог на прибыль до конца 2024 года. Также для сотрудников будут снижены страховые взносы до 7,6 процентов. Кроме этого введен мораторий на плановые проверки до конца 2024 года. А также конечно нельзя не отметить отсрочку от армии для сотрудников IT-компаний, причем до 27 лет. Ну и вишенкой на торте является конечно же ипотека, которую айтишники в возрасте от 22 до 40 лет смогут оформить под очень приятные 5%. Но для этого надо соблюсти одно важное условие — уровень дохода в городах-миллионниках от 200 тысяч рублей и от 150 тысяч рублей в регионах. То есть деньги нужны и важны…

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

Изучение иностранных языков всегда было делом полезным, а изучение востребованных языков программирования и стека, который нужен бизнесу, позволит буквально стереть границы для специалистов. Таким образом, знания и навыки IT могут помочь как в России, так и в мире.

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

Почему Java и Frontend?

Давайте напомним для чего сегодня используют Java и Frontend.

Язык Java используется во многих сферах начиная с e-commerce веб-сайтов и заканчивая приложениями для Android, в научных исследованиях и финансах, играх вроде Minecraft и настольных приложениях. Java-приложения можно найти везде: в «умном» чайнике, Android-смартфоне, компьютере или автомобиле Tesla. Java — универсальный язык, который используют сотни тысяч компаний. И поскольку Java есть практически везде, найти работу, зная этот язык, довольно просто.

Под понятием Frontend подразумевается разработка всего видимого для пользователя интерфейса сайтов и всех функций, с которыми он может взаимодействовать. То есть речь идет о кнопках, тексте, анимациях и других составляющих. Frontend-разработка — это три разных языка: HTML, CSS и JavaScript. В общем, это код и все, что с ним связано.

Идем учиться кодить?

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

И тут мы переходим к основному вопросу — где научиться программировать, как боженька? И в этом моменте появляется Kata Programming Academy, которая ранее называлась Java Mentor. Они существуют с 2015 года, а с 2019 года начали готовить сильных и востребованных разработчиков по модели ISA или “учись сейчас — плати потом”.

За все время выпускниками академии, а следовательно программистами, стало более 1500 человек.

У Kata Academy есть два основных направления — Java и Frontend. Но интереснее другое — оплата за курсы происходит после трудоустройства. То есть вам не нужно платить за свое обучение и брать кредит, специалисты академии гарантируют своим студентом трудоустройства: после этого оплата происходит из фактической зарплаты.

Такой формат давно существует в США и Европе, но в России Kata стали первыми, кто внедрил этот формат в свой Education Tech. Оплата происходит из зарплаты разработчика после вычета налога и составляет 17% от зарплаты. Это не вечный процесс — все рассчитано на 2 года, но все это время ваше развитие и обучение будет продолжаться по программе поддержки. В случае, если выпускник не находит работу, пройдя 30 собеседований (предоставляет письменные отказы от работодателей), в этом случае он ничего не должен. В случае, если человек не справляется, и академия его отчисляет, то студент ничего не платит.

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

Стоит отметить, что если вы выберете учебы по модели ISA, то срок обучения будет 8 и 9 месяцев в случае с Java и Frontend, а при обучении с ментором и оплате во время учебы придется потратить 11 месяцев на полный курс и Java и Frontend.

Уровень выпускников Kata Academy на старте оценивается как Junior+/Middle разработчики. И по опыту — все прошедшие обучение получают работу в первый месяц после выпуска. При этом предложение не одно, а три-пять, так что можно будет выбирать работу, исходя из интереса к проекту, команде и бонусов, которые вам также могут предложить.

В Kata Academy есть и другие сильные стороны:

  1. Интенсивное обучение и контроль знаний от ментора после пройденной темы.
  2. Опыт разработки в реальном проекте.
  3. Подготовка к собеседованиям и помощь в составлении резюме.
  4. Активное и дружное сообщество студентов и выпускников.
  5. А также кроме трудоустройства в IT гарантия зарплаты минимум от 100 тысяч рублей на Java и 80 тысяч на Frontend. Чаще всего зарплатные цифры уже на старте выше.

Поступить в Kata Academy несложно, но надо понимать, что вам придется приложить чуточку усилия, желание тоже важно. Вас будет ждать входное тестирование, то есть вам нужно обладать минимальной базой знаний или быть готовым ее изучить. Тестовое задание важно для проверки мотивации и заинтересованности потенциального студента. После этого проходит онлайн-собеседование. Если у вас есть знания и мотивация, то вас зачисляют на ближайший поток. Кстати, в одной группе обучаются 10-12 человек под присмотром наставника.

Кроме этого нужно быть готовым к переезду в Москву или Санкт-Петербург. Это обусловлено тем, что в столичных городах больше вакансий и зарплата, в среднем, на 30% выше, чем в регионах. А в перспективе профессиональный рост будет происходить быстрее, чем в регионах.

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

Как проходит обучение в Kata Academy?

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

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

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

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

С одной стороны Kata Programming Academy — это не самый быстрый способ обучения программированию. С другой стороны на самостоятельное изучение может уйти пара лет, а в университете программированию учат все пять лет. При этом подход Kata Academy — качественный и гарантирует ваше трудоустройство в будущем и при желании — хорошую зарплату и крутые перспективы, в том числе международные. Не это ли главное сегодня?

Что такое квантовый компьютер? Разбор

Вы просили и мы разобрались: что такое квантовый компьютер, зачем он нужен и насколько за такими компьютерами будущее. Или это уже настоящее?
Валерий Истишев 3 декабря 2020 в 04:12

Интересно, а какая сторона у монетки в тот момент, когда она в воздухе? Орел или решка, горит или не горит, открытое или закрытое, 1 или 0. Все это примеры двоичной системы, то есть системы, которая имеет всего два возможных состояния. Все современные процессоры в своем фундаменте основаны именно на этом!

При правильной организации транзисторов и логических схем можно сделать практически все! Или все-таки нет?

Современные процессоры это произведение технологического искусства, за которым стоят многие десятки, а то и сотни лет фундаментальных исследований. И это одни из самых высокотехнологичных устройств в истории человечества! Мы о них уже не раз рассказывали, вспомните хотя бы процесс их создания!

Процессоры постоянно развиваются, мощности растут, количество данных увеличивается, современные дата-центры ворочают данные сотнями петабайт (1015 = 1 000 000 000 000 000 байт). Но что если я скажу что на самом деле все наши компьютеры совсем не всесильны!

Например, если мы говорим о BigData (больших данных) то обычным компьютерам могут потребоваться года, а то и тысячи лет для того, чтобы обработать данные, рассчитать нужный вариант и выдать результат.

И тут на сцену выходят квантовые компьютеры. Но что такое квантовые компьютеры на самом деле? Чем они отличаются от обычных? Действительно ли они такие мощные? Будет ли на них CS:GO идти в 100 тысяч ФПС?

Вы давно нас просили, разобраться в этой теме — устраивайтесь поудобнее!

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

Устраивайтесь поудобнее, наливайте чай, будет интересно.

Глава 1. Чем плохи обычные компьютеры?

Начнем с очень простого классического примера.

Представим, что у вас есть самый мощный суперкомпьютер в мире. Это компьютер Фугаку. Его производительность составляет 415 ПетаФлопс.


Давайте дадим ему следующую задачку: надо распределить три человека в две машины такси. Сколько у нас есть вариантов? Нетрудно понять что таких вариантов 8, то есть это 2*2*2 или 2 в третьей степени.

Как быстро наш суперкомпьютер справится с этой задачей? Мгновенно! Задачка-то элементарная.

А теперь давайте возьмем 25 человек и рассадим их по двум шикарным лимузинам, получим 2 в 25 степени или 33 554 432 варианта. Поверьте, это число тоже плевое дело для нашего суперкомпьютера.

А теперь 100 человек и 2 автобуса, сколько вариантов?

Считаем: 2 в 100 степени — это примерно 1.27х1030 степени! Или 1,267,650,600,228,229,401,496,703,205,376 вариантов.

Теперь нашему суперкомпьютеру на перебор всех вариантов понадобится примерно 4.6*10^+35 (4.6 на 10 в 35 степени) лет. А это уже очень и очень много. Такой расчет займет больше времени чем суммарные жизни сотен вселенных.

Суммарные жизни нашей вселенной: 14 миллиардов лет или 14 на 10 в 9 степени.

Даже если мы объединим все компьютеры в мире ради решения, казалось бы, такой простой задачки как рассадка 100 человек по 2 автобусам — мы получим решение, практически никогда!

И что же? Все? Выхода нет?

Есть, ведь квантовые компьютеры будут способны решить эту задачку за секунды!

И уж поверьте — использоваться они будут совсем не для рассадки 100 человек по 2 автобусам!

Глава 2. Сравнение. Биты и Кубиты

Давайте разберемся, в чем же принципиальная разница.

Мы знаем, что классический процессор состоит из транзисторов и они могут пропускать или не пропускать ток, то есть быть в состоянии 1 или 0 — это и есть БИТ информации.  Кстати, рекомендую посмотреть наше видео о том как работают процессоры.

Вернемся к нашему примеру с двумя такси и тремя людьми. Каждый человек может быть либо в одной, либо в другой машине — 1 или 0.

Вот все состояния:

0 0 0
0 0 1
0 1 1
0 1 0
1 0 0
1 1 0
1 0 1
1 1 1

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

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

Они так и называются Quantum Bits, или Кубиты.

Что же такое кубиты?

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

Фактически, это и есть принципиальное отличие кубитов от обычных битов, которые могут быть только 1 или 0.

Суперпозиция — это нечто потрясающее. Считайте что кубиты — это одновременно открытая и закрытая дверь, или горящая и не горящая лампочка….

В нашем случае они одновременно 1 и 0!

Но квантовая механика говорит нам, что квантовый объект, то есть кубит, находится в суперпозиции, пока ты его не измеришь. Помните монетку — это идеальный пример суперпозиции — пока она в воздухе она одновременно и орел, и решка, но как только я ее поймал — все: либо орел, либо решка! Состояние определилось.

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

Квантовый компьютер внутри

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

И это далеко не единственная сложность, с которой столкнулись ученые! Дело в том, что квантовые кубиты довольно нестабильны и их надо держать в холодном месте, чтобы можно было контролировать.

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

Фактически, квантовые компьютеры — это одни из самых холодных мест во вселенной!

Принцип работы квантового компьютера

Давайте вернемся к нашей задачке про трех людей и две машины и рассмотрим ее с точки зрения квантового компьютера:

Для решения подобной системы нам понадобится компьютер с 3 кубитами.

Помните, что классический компьютер должен был пройти все варианты один за одним? Так вот поскольку кубиты одновременно имеют состояния «1» и «0», то и пройти через все варианты он сможет, фактически одновременно!

Знаю, что прозвучит максимально странно, но представьте, что в данной ситуации наши три кубита создают 8 различных параллельных миров, в каждом из которых существует одно решение, а потом они все собираются в один! Реально «Мстители» какие-то!

Но что же получается? Он выдает все варианты сразу, а как получить правильный?

Для этого существуют специальные математические операторы, например оператор Грувера, который позволяет нам определять правильные результаты вычислений квантовых систем! Это специальная функция, которая среди всех возможных вариантов находит нужный нам.

Помните задачку про 100 человек в 2 автобуса, которую не смогли бы решить все современные компьютеры вместе взятые? Для квантового компьютера со 100 кубитами эта задачка все равно что семечку щелкнуть! То есть компьютер находится одновременно в 2 в 100 степени состояний, а именно:

1,267,650,600,228,229,401,496,703,205,376 — вот столько состояний одновременно! Столько параллельных миров!

Думаете, что всё это звучит слишком хорошо, чтобы быть правдой? Да, вы правы. Есть куча нюансов и ограничений. Например, ошибка. Проблема в том, что кубиты, в отличие от обычных битов, не определены строго.

У них есть определенная вероятность нахождения в состоянии 1 или 0. Поэтому есть вероятность ошибки и чем больше кубитов в системе, тем больше суммарная вероятность, что система выдаст неправильный ответ. Поэтому зачастую надо провести несколько расчетов одной и той же задачи, чтобы получить верный ответ.

Ну то есть как верный? Он всегда будет содержать в себе минимальную возможность ошибки вследствие своей сложной квантовой природы, но ее можно сделать ничтожно малой, просто прогнав вычисления множество раз!

Квантовые компьютеры сегодня

Теперь перейдем к самому интересному — какое состояние сейчас у квантового компьютера? А то их пока как-то не наблюдается на полках магазинов!

На самом деле все, что я описал выше, это не такая уж и фантастика. Квантовые компьютеры уже среди нас и уже работают. Их разработкой занимаются GOOGLE, IBM, INTEL, MICROSOFT и другие компании поменьше. Кроме того в каждом большом институте есть исследовательские группы, которые занимаются разработкой и исследованием квантовых компьютеров.

Сундар Пичаи и Дэниэл Сэнк с квантовым компьютером Google. Октябрь 2019

В октябре прошлого года, в журнале Nature, Google выложила статью, которая шарахнула по всему миру огромными заголовками — КВАНТОВОЕ ПРЕВОСХОДСТВО!

В Google создали квантовый компьютер с 53 кубитами и смогли решить задачку, за 200 секунд, на решение которой у обычного компьютера ушло бы 10000 лет!

Конечно IBM было очень обидно и они начали говорить, что задача слишком специальная, и вообще не 10000 лет, а 2.5 дня, но факт остается фактом — квантовое превосходство было достигнуто в определенной степени!

Так что теперь вопрос считанных лет, когда квантовые компьютеры начнут использоваться повсеместно! IBM, например, только что анонсировали что в 2023 году создадут коммерческий квантовый компьютер с 1121 кубитами!

Чтобы вы понимали калькулятор Google даже не считает сколько будет 2 в 1121 степени, а просто говорит — бесконечность! И это совсем не предел.

Уже ведется разработка компьютеров на миллионы кубитов — именно они откроют истинный потенциал квантовых вычислений.

Более того, вы уже сейчас можете попробовать самостоятельно попробовать квантовые вычисления! IBM предлагает облачный доступ к самым современным квантовым компьютерам. Вы можете изучать, разрабатывать и запускать программы с помощью IBM Quantum Experience.

Но зачем вообще нужны квантовые компьютеры и где они будут применяться?

Естественно, не для распихивания людей по автобусам.

Задач множество. Главная — базы данных и поиск по ним, работа с BigData станет невероятно быстрой. Shazam, прокладывание маршрутов, нейронные сети, искусственный интеллект — все это получит невероятный толчок! Кроме того симуляции и моделирование квантовых систем! Зачем это надо — спросите вы?

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

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

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

Надо учесть силу броска, плотность воздуха, температуру и кучу других факторов. Сложно? Ну не так уж!

А теперь представьте, что у вас не один человек, который кидает монетку, а миллион разных людей, в разных местах, по-разному кидают монетки. И вам надо рассчитать что выпадет у всех! Вот примерно настолько сложная эта модель о взаимодействии белков.

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

Вывод

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

Их на самом деле даже нельзя сравнивать! Это все равно, что сравнивать обычные счеты и современные компьютеры!

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

Валерий Истишев о программировании для iOS | DIY

Фронтмен Droider вещает про начало обучения
News Droid 16 мая 2019 в 02:45

В новом видеоролике на канале Droider можно узнать о том, зачем Валерий Истишев решил научиться создавать игры и приложения для операционной системы Apple.

Подробнее о программе Swift Playgrounds можно почитать на официальном сайте.

Swift Playgrounds

Неуловимый Telegram и дешевый iPhone | Droider Show

Не забыли и про десерт для Зеленого робота
News Droid 20 апреля 2018 в 09:40

Борис Веденский рассказывает про анонс Honor 10 от Huawei и галерею изображений Mi 6X (Mi A2) от Xiaomi.

Кроме того, в Droider Show можно узнать про победу отечественной сборной на международном чемпионате по программированию и возможную блокировку Facebook в России.

Друзья, как Вам новый формат Droider Show?
  • 727 Всё супер, продолжайте
  • 126 2 - это мало, надо больше выпусков
  • 82 2 - это много, не успеваем смотреть
  • 302 Раньше было лучше, верните классику
Посмотреть результаты

Apple приказала учитывать «монобровь» в приложениях

Тёмных полосок на экране больше не будет
News Droid 16 февраля 2018 в 03:38

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

С 1 апреля 2018 года все утилиты, размещаемые в App Store, должны подходить к iOS 11 и устройствам с экраном в стиле суперфлагмана.

Что делать тем, кто уже опубликовал свою игру, например, не сообщается.

Источник: The Verge

Ключи от презентации Microsoft | Build 2017

Рассказываем о главных анонсах корпорации за первый день
Arina 10 мая 2017 в 11:59

Конференция проходит в Сиэтле с 10 по 12 мая. Сегодня презентация длилась 3 часа, однако крупных анонсов не случилось. Зато компания из Редмонда похвасталась, что Windows 10 (в том числе Mobile) используют 500 миллионов человек, а Cortana — 141 миллион пользователей.

Рассмотрим ключевые моменты:

  1. Здесь стоит упомянуть о первом появлении на публике «умной» колонки Invoke. Главными особенностями (из того, что известно) являются 360-градусный звук от Harman Kardon, поддержка Cortana и сенсорная макушка.
  2. Другие компании, вроде Hewlett-Packard и Intel, не останутся в стороне и тоже начнут производить акустические системы с Cortana на борту.
  3. Чтобы популяризировать виртуального ассистента, Microsoft выпустила Cortana Skills Kit. Инструмент поможет встраивать голосового помощника в приложения и автомобильные системы.
  4. У Cortana, Bing, Skype и других программ будут адаптивные карточки, в которых контент отображается одинаково.
  5. Стабильная версия Visual Studio 2017 стала доступна для Mac. Теперь разработчики смогут создавать кросс-платформенные проекты.
  6. В PowerPoint появился инструмент для перевода текста в режиме реального времени. Называется Presentation Translator.
  7. Создан чат Teams для корпоративной работы. Компании смогут выпускать для него ботов и расширения. Уже отметилась Adobe.
  8. Выпущена облачная база данных Cosmos DB для сервисов и приложений, которая распределяет информацию по всей планете. Уже тестируется магазином Jet.
  9. В Outlook добавится функция Actionable Messages. Таким образом не обязательно нужно покидать почту, чтобы, например, написать в Twitter.
  10. Microsoft продемонстрировала Video Indexer. С помощью этого инструмента можно искать по контенту внутри ролика. Новинка узнает предметы, персонажей и выражения лиц. А ещё умеет переводить голос в текст на 8 языках.
  11. Платформа Azure получила наиболее серьезный апдейт: IoT Edge (для управления «умными» девайсами разной сложности), Batch AI Training (для обучения глубоких нейросетевых моделей) и Cloud Shell (для администрирования систем через командную строку). А ещё обновились приложения на iOS и Android.

Напомним, что эксперты ожидают от Build 2017: новые дизайны Windows 10 и браузера Edge, гарнитуру смешанной реальности HoloLens, рассекречивание Project Neon и нечто, связанное с чат-ботами. Всё это ещё может быть продемонстрировано в ближайшие дни.