что нового в программировании

От Julia до Ballerina: гид по новым языкам программирования, которые стоит изучать в 2021 году

Ежегодно на рынке появляются сотни языков программирования — одни выходят под брендом техкорпораций, другие дополняют существующие языки, а третьи — эзотерические — создаются в экспериментальных целях. За последние 10 лет по-настоящему «выстрелили» Swift, Kotlin, Go, Rust и TypeScript, но потенциал есть и у других новичков. Составили гид по новым языкам программирования, а заодно вместе с экспертом разобрались, зачем вообще их изучать.

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Ежегодно на рынке появляются сотни языков программирования — одни выходят под брендом техкорпораций, другие дополняют существующие языки, а третьи — эзотерические — создаются в экспериментальных целях. За последние 10 лет по-настоящему «выстрелили» Swift, Kotlin, Go, Rust и TypeScript, но потенциал есть и у других новичков. Составили гид по новым языкам программирования, а заодно вместе с экспертом разобрались, зачем вообще их изучать.

Содержание

Зачем изучать новые языки программирования

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

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Я изучаю новые языки для собственного развития. Это позволяет держать руку на пульсе, а мозг в напряжении. «Выстрелит» конкретный язык или нет — это вопрос спорный. Я смотрю на это под другим углом: иногда полезно освоить и «хайповое» направление, даже если вскоре о нем забудут. Было немало случаев, когда наблюдался скачок спроса на непопулярные языки. Так, в прошлом году в США выросло число вакансий для программистов, владеющих довольно устаревшим Fortran. Другой пример — Ruby: несколько лет назад этот язык был у всех на слуху, потом его популярность спала, но язык успел занять свою нишу, поэтому инженеры по-прежнему востребованы, а на рынке достаточно вакансий. Сейчас могу отметить еще Zig и Nim — они довольно интересны для изучения.

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

Golang (Go) (2009)

Go (Golang) занимает первую строчку в рейтинге языков программирования, которые хотят изучить как действующие разработчики, так и новички. Его можно сравнить со швейцарским ножом в сфере разработки: Go довольно простой и универсальный, а использовать его можно для целого спектра задач — от создания API до DevOps-инструментов. А еще он пользуется спросом у крупных компаний, которые работают с большими данными. Поэтому владение Go регулярно входит в топ самых высокооплачиваемых навыков.

Курсы по Go:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Rust (2010)

Язык Rust соединяет в себе сразу несколько преимуществ — по мощи и производительности он не уступает C++, но при этом считается таким же безопасным, как Java. Еще один плюс — большое коммьюнити разработчиков, которые постоянно выпускают новые инструменты и дополнения. Поддержку Rust выражают и технологические гиганты — к сообществу Rust Foundation уже присоединились Facebook, Amazon Web Services, Google, Huawei, Microsoft и Mozilla.

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Курсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Kotlin (2011)

Kotlin — язык программирования, разработанный компанией JetBrains, который довольно быстро набрал популярность и встал в один ряд с Java. Его широко используют в мобильной разработке — именно Kotlin применяли при создании приложений Trello, Evernote и Coursera для Android. А Google в 2019 году назвала Kotlin приоритетным языком программирования. Основные преимущества — это лаконичность и безопасность. По многим параметрам он превосходит Java, а также считается более простым языком по сравнению с главным конкурентом Scala.

Курсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Red (2011)

Red задумывался как универсальный язык для full-stack разработки, который не будет зависеть от других инструментов и тулчейнов. Ближайший собрат Red — это REBOL, запущенный в 1997 году. В отличие от многих аналогов, Red позволяет писать и высоко-, и низкоуровневый код быстро и эффективно. При этом он обладает довольно простым, «человечным» синтаксисом. «Красный» язык пока не получил широкую популярность — многим кажется, что он «подозрительно хорош», а его сторонников называют «маленькой программистской сектой». С Red стоит поэкспериментировать, чтобы лучше проследить преемственность языков программирования и проверить, может ли разработка быть настолько универсальной, как говорят создатели. Будущее языка на рынке пока под вопросом — например, блог не обновлялся почти год, а новые фичи не появлялись уже несколько месяцев.

Ресурсы по теме:

Dart (Flutter) (2011)

Объектно-ориентированный, высокоуровневый язык Dart был разработан Google как альтернатива JavaScript. Он легко компилируется в JS или Java для Android, а из очевидных преимуществ Dart выделяют минимальное количество ошибок времени компиляции и мощный встроенный редактор. Сфера применения этого языка — разработка веб-приложений, мобильного ПО и IoT-устройств. Для создания мобильных и веб-приложений на Dart у Google есть специальный продукт — фреймворк и сет средств разработки Flutter.

Курсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Elm (2011)

Функциональный язык, который подходит для создания сложных пользовательских интерфейсов, отличается хорошей скоростью и компилируется в JavaScript. Среди собратьев он выгодно выделяется отсутствием runtime exceptions и ограниченной системой типов (благодаря этой не возникает проблем с недопустимыми типами данных). Еще один большой плюс Elm — компилятор, выдающий подробные сообщения об ошибках и варианты их исправления. Обычно Elm используют для создания веб-сервисов, поэтому его чаще всего применяют frontend-разработчики.

Ресурсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Julia (2012)

Высокоуровневый и высокопроизводительный язык был разработан специально для научных исследований и аналитики. Его уже использует более 1500 университетов, а Альянс по климатическому моделированию (CliMA) выбрал Julia в качестве основного языка. В сфере статистических и математических вычислений Julia не уступает R и Matlab, но при этом он проще в изучении и работе. Из плюсов языка также отмечают быструю компиляцию кода, высокопроизводительное параллельное выполнение, обширную математическую библиотеку и поддержку облачных вычислений. Создатель Python Гвидо ван Россум считает Julia нишевым языком, который, тем не менее, по оптимизации кода превосходит аналоги.

Курсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Elixir (2012)

Функциональный, динамический, компилируемый язык общего назначения работает на виртуальной машине Erlang, и это дает ему несколько преимуществ. Главные плюсы Elixir — это отказоустойчивость, возможность метапрограммирования, многозадачность и высокая производительность. Его используют как финтех-компании, так и e-commerce площадки, а также соцсети, например, Pinterest и Discord. Решения на базе Elixir легко масштабировать, при этом сам язык довольно простой. За свою недолгую историю язык успел обзавестись несколькими фреймворками, поэтому его уже можно применять для full-stack разработки.

Ресурсы по теме:

TypeScript (2012)

В 2010-е Microsoft хотела создать альтернативу JavaScript — так появился TypeScript, улучшенная и дополненная версия JS, на которую сегодня равняются многие разработчики языков. Например, создатели Python периодически подсматривают функции у TypeScript. А многие компании использует его в работе — так, Google Analytics и Google Cloud Platform частично базируются на TS.

TypeScript — это язык-надстройка с открытым исходным кодом. Поэтому количество дополнительных фреймворков и инструментов для него постоянно растет. К плюсам также можно отнести статическую типизацию, которая выгодно отличает TypeScript от JavaScript. Еще один аргумент в его пользу — удобство и функциональность. Благодаря этому TS обошел Python в рейтинге самых любимых языков среди программистов от StackOverflow.

Курсы по теме:

Crystal (2014)

Быстрый, как C, удобный, как Ruby, но более гибкий, чем JavaScript — так характеризуют Crystal создатели языка. Его используют и для мелких enterprise-продуктов, и для блокчейн-проектов, и для гейм-разработки. Еще один плюс — растущее коммьюнити, которое верит, что в перспективе Crystal может полностью заменить Ruby. Эту точку зрения подтверждает и все большее число инструментов, совместимых с Crystal. Например, фреймворк Lucky и Kemal, а также новый язык программирования Mint, созданный специально для одностраничных приложений.

Ресурсы по теме:

Swift (2014)

Изначально Apple создавала компилируемый язык Swift для разработчиков на iOS и macOS, но постепенно его стали применять и при работе с другим ОС — в том числе с Android. Более того, программисты могут создавать свои версии языка и в целом экспериментировать с его возможностями. Например, его все чаще используют для разработки игр. У Swift немало общего с C, C++, а также Objective-C. В дополнение ко всему вышеперечисленному язык быстрый, безопасный, простой в использовании, но при этом востребованный.

Курсы по теме:

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

ReasonML (2016)

Этот объектно-функциональный язык появился на свет из желания разработчиков Facebook придумать более простой, быстрый и безопасный вариант JavaScript, так что его синтаксис очень похож на JS. Формально ReasonML — это расширение синтаксиса функционального языка OCaml и набор инструментов для него, поэтому он предполагает использование обеих экосистем: и JavaScrip, и OCaml. Из плюсов языка часто отмечают его иммутабельность, строгую систему типов и возможность достаточно простой интеграции с JS. Кроме того, ReasonML хорошо подходит для разработки React-приложений.

Курс по теме:

Ballerina (2017)

Сравнительно новый язык программирования, созданный компанией WSO2 для работы в облаке. Ballerina представляет собой статичный типизированный язык общего назначения. Его синтаксис достаточно простой и основывается на сочетании Go, Java, JavaScript и Python. Особенно интересным и перспективным для изучения Ballerina делает кроссплатформенность и направленность на интеграцию: специальные модули обеспечивают легкое взаимодействие различных сервисов, что упрощает работу программисту.

Курс по теме:

Microsoft Power Fx (2021)

Один из самых молодых языков программирования, официально представленный всего несколько месяцев назад, был создан Microsoft для работы на платформе Power Platform и основан на синтаксисе функций Excel. В основе этого функционального декларативного языка общего назначения лежит концепция low-code. Работать с Microsoft Power Fx сможет даже человек с минимальным знанием кодинга — и это одно из главных преимуществ языка. К тому же поддержка крупной корпорации гарантирует, что Microsoft Power Fx будет применяться в индустрии.

Курс по теме:

Какой язык программирования выбрать новичку

Новички обычно начинают с Python, Java, C, C# или Ruby, но можно выбрать для старта более новые языки программирования — например, Go или Rust.

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании

Если вы только начинаете, то совершенно неважно, какой язык осваивать первым. Главное, определить направление: frontend, backend, мобильная разработка, интернет вещей или что-то еще. Так вы сузите список языков для выбора.

Если анализировать мейнстримные направления, то еще долго будет популярным TypeScript — он уже становится стандартом в веб-разработке, к тому же его пытаются адаптировать под embedded-устройства. Swift тоже будет на волне, поскольку пока это один из немногих инструментов разработки под устройства компании Apple.

Определившись со сферой, изучите рынок. Нужно понимать, какие компании используют определенный язык разработки и сколько в него инвестируют. Например, в Dart (Flutter) и Golang активно инвестирует Google. В Rust — Google, Microsoft, AWS и Facebook. В TypeScript много вкладывает Microsoft, а в Swift — Apple. В Kotlin инвестирует JetBrains. Как видите, в основном это гиганты индустрии.

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

И еще один момент — выбирать и изучать языки проще с единомышленниками. Например, можно присоединиться к сообществу. В Беларуси действует коммьюнити по frontend, Python и многим другим направлениям — Golang, PHP, Java. А в русскоязычном коммьюнити разработки игр на Rust уже полторы тысячи участников. Хорошим стартом в данный момент могут быть TypeScript или Dart. Новичку они дадут возможность попробовать свои силы почти в любом направлении. Для новичков в backend подойдет Golang — он простой, с низким порогом входа, что позволяет быстро перейти от обучения к написанию кода. В мобильной разработке есть два основных направления: для Android лучше выбрать Java либо Dart, для iOS — Swift. Новички, кому по душе frontend, могут начинать с TypeScript.

А вот Erlang и Elixir очень специфические языки. Первый обычно использовался там, где требуется одновременно обработать большое количество соединений, например для стриминговых серверов. Elixir основывается на Erlang, и в данный момент в enterprise его практически нет.

Впрочем, в нишевых языках нет ничего плохого. Язык программирования — это в первую очередь инструмент в руках инженера, и не всегда это должен быть «швейцарский нож». Инженер, который хорошо владеет азами (базовыми алгоритмами и структурами данных), может легко освоить любой новый язык. Можно стать высококлассным узким специалистом в одной области, а можно знать несколько языков и видеть, как вещи работают на стыке технологий. Чем больше у тебя в руках правильных инструментов, тем шире твой взгляд и тем более качественный и интересный продукт ты можешь создать.

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

😣😖😫😩 Айтишники рассказали про признаки плохого оффера. Читайте истории, выводы и советы.

Источник

Каким может быть программирование будущего. Новый взгляд

что нового в программировании. Смотреть фото что нового в программировании. Смотреть картинку что нового в программировании. Картинка про что нового в программировании. Фото что нового в программировании
Людям всегда интересно будущее. Я человек, человек-программист, и мне интересно будущее программирования. На Хабре/Geektimes уже встречались подобные статьи, и в сети тоже можно было почерпнуть немало на эту тему. Сегодня я привожу свой список возможных нововведений в области программирования в ближайшие 10-20-50 лет. В посте вы найдете сравнительный анализ причин и необходимости появления нынешних языков программирования, и описание возможных причин появления новых языков и инструментов. Ключевое слово тут необходимость, так как причина рождает необходимость сама по себе.

Исторические предпосылки появления языков

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

ЯзыкПричина/Необходимость
АссемблерПоявление первых компьютеров, необходимость очеловечивания машинных кодов
CРост количества разновидностей компьютеров и их архитектур. Необходимость в универсальном ассемблере.
C++Развитие пользовательских интерфейсов. Необходимость в очеловечивании и структурировании кода С-программ.
JavaУпадок Sun, развитие веба. Необходимость интерактивного взаимодействия пользователя и браузера.
C#Популяризация Java, текущие проблемы разработки ПО под платформы Microsoft и веб. Необходимость корпорации Microsoft иметь свой технологический стек.
JavaScriptПопуляризация веб-браузера Netscape и веб-серфинга в частности. Необходимость в интерактивном взаимодействии веб-страницы и пользователя.
Objective-CВыход Apple-устройств в свет. Необходимость корпорации Apple в поддержании своего технологического стека.
PHP/Ruby/WhateverРаспространение веба. Необходимость в удобной обработке веб-запросов.
Your Language.

Возможные предпосылки появления новых языков и инструментов

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

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

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

Новые устройства
Выход iPhone’ов ознаменовал популяризацию Objective-C. Вполне возможно, что уже разрабатывается то самое популярное устройство, от корпорации X, которое ознаменует популярность языка Y. Может это Tesla?

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

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

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

Инструментарий

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

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

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

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

Прогноз

В заключение хотелось бы сделать прогноз на будущее:

Источник

Лучшие языки программирования для старта в 2021 году

Выбери сейчас, чтобы не опоздать.

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

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

JavaScript

Кому подходит: начинающим программистам и тем, кому нужен быстрый старт.

Средняя зарплата на начало 2021 года: 133 тысячи (в прошлом году — 110 тысяч).

За год почти ничего не изменилось — JavaScript всё ещё самый популярный язык веб-разработки. Главное его преимущество — веб-программисты нужны везде, даже там, где делают мобильные приложения и игры. Потому что существенная часть игр и мобильных приложений сделана на технологиях веба.

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

Python

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

Средняя зарплата на начало 2021 года: 136 тысяч (в прошлом году — 128 тысяч).

Питон в 2021 году пригодится почти везде:

Если не нравится веб, но нужен такой же простой язык как JavaScript для первого изучения, — начинайте с Python.

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

Средняя зарплата на начало 2021 года: 151 тысяча (в прошлом году — 134 тысячи).

Преимущество Java в том, что код можно запустить почти на любом железе, где есть поддержка JVM – виртуальной машины Java:

Большие корпорации любят Java за надёжность, долгий срок поддержки программ для разработки и совместимость со старыми версиями. Если вы хотите писать корпоративный софт и получить стабильную работу надолго — берите Java. Этот язык настолько проник во все сферы жизни, что потребуются десятилетия, прежде чем его заменят на что-то более простое и современное.

Кому подходит: программистам, которым не нравится сложность С или С++, но нравится их мощность и возможности.

Средняя зарплата на конец 2020 года: 207 тысяч (статистических данных на начало 2021 года ещё нет).

Если вы хотите писать очень быстрые программы, работать с железом напрямую или делать надёжный софт для серверов, то можно начать с Rust. Этот язык позволяет писать в любом стиле, хоть в ООП, как в C++, хоть в функциональном, как Haskell. А при желании можно вообще отказаться от этого и писать в чисто процедурном стиле, как Pascal.

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

Swift

Средняя зарплата на начало 2021 года: 184 тысячи (в прошлом году — 142 тысячи).

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

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

А как же C?

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

Если Python — это автомобиль с автоматической коробкой передач, то C — это железная руда, из которой вы сможете сделать что угодно: хоть ракету, хоть мотоцикл, хоть автомобиль.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *