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

Содержание:

Введение

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

Тем не менее, я написал абсолютно новый язык. И он работает. Наверное, я что-то делаю правильно.

В этой статье я постараюсь показать, каким образом Pinecone (и другие языки программирования) превращают исходный код в то, что многие считают магией

Также я уделю внимание ситуациям, в которых мне приходилось искать компромиссы, и поясню, почему я принял те решения, которые принял

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

Введение в программирование на основе JavaScript

С этого момента будет использоваться язык программирования JavaScript для приведения конкретных примеров.

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

Пропорциональный текст

Непропорциональный текст

В предложениях присутствуют следующие ошибки: лишний пробел после слова for, лишний апостроф после слова Alice, а также пропущенная буква в слове without

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

Работа с данными в коде

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

  1. Вам зачастую не известно, что будет скрываться под переменной. Например, Facebook не знает, когда у вас день рождения, поэтому он использует переменную с общим названием  для обозначения даты или обозначения её отсутствия. (Переменные не могут содержать пробелы, поэтому следует разграничивать слова другими символами.) Переменная присваивается любой дате, которую вы введёте, и дальше программа продолжает использовать ваши данные, скрывая их за переменной.
  2. Вам может быть сложно вспомнить, что значит та или иная переменная. Например, нужно указать компьютеру, что 86-е декабря не является реальной датой. Следовательно, мы где-нибудь должны указать, что в декабре 31 день. Но 31 — это число (данные), поэтому если вы будете использовать 31 во всём своём коде, чтобы таким образом обозначить количество дней в этом месяце, то однажды запутаетесь. Ведь у нас существуют прочие месяцы. Таким образом, можно присвоить числу 31 имя . Теперь вы точно не запутаетесь. Отлично, идём дальше!

Примечание в названиях переменных нельзя использовать апострофы.

Чтобы переменная существовала, её нужно объявить. Объявление переменных служит в роли свидетельства о «рождении» для данных. Давайте посмотрим на пример:

Ключевое слово означает переменную (сокращение от variable). Использование сокращений ускоряет работу с кодом.

Также переменной нужно присвоить значение:

Всё очень просто. Объявляете переменную, присваиваете ей значение и используете везде в коде, например, вместо числа 31.

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

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

Теперь можно где угодно в коде написать и компьютер поймёт, что речь идёт о .

Как насчёт проверки этих утверждений? Давайте протестируем всё, что было сказано выше. Откройте консоль в Google Chrome нажатием клавиши F12 (для владельцев Mac рекомендуется ознакомиться с этой статьёй). Перед вами появится следующее окно:
Убедитесь, что выбрана вкладка «Console», кликните на пустом поле рядом со знаком «больше» (), объявите переменную и присвойте ей значение, а затем нажмите клавишу ввода.
В консоли отображается сообщение из-за того, что строка кода не вывела какие-либо данные, чего, собственно, делать и не должна. Теперь введите название своей переменной в строку и нажмите кнопку ввода.
Примите поздравления! Консоль (которая также служит в роли интерпретатора) понимает вашу переменную. Её значение было выведено в виде текста, который вы ей присвоили. Кстати, вы могли заметить, что были использованы одинарные кавычки, но вы также можете использовать двойные. Только не смешивайте их (т. е. не следует делать ‘так”).

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

Какой язык программирования самый легкий для изучения новичку?

Четкой границы между сложным и легким языком программирования не существует. Основным критерием является порог вхождения. Он зависит от наличия опыта, желания учиться и целей в будущем. Одним вполне достаточно делать верстку сайтов, другие предпочитают разработку игр. К языкам с низким порогом относят Java, JavaScript и Python.

Python

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

Java

Разработка приложений для мобильных приложений занимает немалую нишу на рынке. Для ОС Android в этом помогает Java. У молодых разработчиков есть возможность сразу тестировать созданную программу. Язык поможет понять основной принцип функционирования современных смартфонов.

JavaScript

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

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

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

Статьи

Как учить Python

Правильный настрой

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

Развивайте навыки решения проблем

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

Главное — это последовательность

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

Как оптимизировать картинки правильно

Что такое Python?

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

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

Python поддерживает все особенности объектно- и процедурно-ориентированных языков программирования. Так что неудивительно, что его предпочитают программисты, занимающиеся быстрой разработкой (RAD). Он предлагает динамическое связывание и динамическое тейпирование.

Превышение

История языков программирования

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

Изучайте предложения на рынке

Лучший способ понять, знание каких ЯП сегодня приветствуется, — посмотреть сайты вакансий. Там же можно узнать и «вилку» предполагаемой зарплаты. HH даже ведёт блог на эту тему, ежегодно публикуя статистику.

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

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

«Любимчик» российского рынка и лидер по числу вакансий по-прежнему 1С. Оклад у junior-разработчика с ним, возможно, будет выше, чем с теми же Java и С#, но при этом потолок — ниже. Так что не гонитесь за цифрами c самого начала. Думайте о перспективах и росте.

Посмотрите, какие специалисты требуются в компании, где вы хотели бы работать. Если это enterprise-разработка и банковский сектор, то в топе наверняка будет Java. Гиганты вроде Mail.Ru Group, «Лаборатория Касперского» и «Яндекс» предпочитают C++.

Планируете заниматься НИОКР и нейросетями, ваш язык — Python, мечтаете попасть в Microsoft — С#.

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

SQL

SQL относится к универсальным языкам программирования, но является мощным предметно-ориентированным языком для управления реляционными базами данных. Способы его применения — от хранилищ данных Fortune 500 до встроенного SQLite — широко используются в десктопных и мобильных приложениях. На многих позициях в ИТ и разработке необходимо хотя бы базовое знание SQL. Расширенные навыки позволяют разработчику создавать чрезвычайно безопасные и надежные правила предметной области, не зависящие от языка программирования или используемого SDK. Высокопрофильные реализации включают в себя Microsoft SQL Server, Oracle Database и PostgreSQL. Каждая из них обладает уникальным расширением языка SQL и предлагает новые функции, выходящие за рамки базовой спецификации SQL. Изучение SQL не займет много времени и пригодится во многих областях от аналитики и обработки данных до управления в сфере ИТ и разработки программного обеспечения.

Области применения: работа с реляционными данными, встраивание данных в приложения.

TypeScript

TypeScript — это язык с открытым исходным кодом от Microsoft, разработанный для добавления функций ООП в JavaScript и повышения удобства работы со сложными приложениями. TypeScript, представленный в 2012 году, обычно используется для создания надежных масштабируемых веб-приложений, сред и других программ — например, популярного редактора VS Code.

Области применения: веб-интерфейс, разработка программного интерфейса, игры, масштабирование любого программного обеспечения JavaScript.

Вывод

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

Зарабатывать много денег

Если ваша цель — сра­зу на стар­те полу­чать боль­шую зар­пла­ту, нуж­но отби­рать язы­ки по вос­тре­бо­ван­но­сти пря­мо сего­дня. Мы уже изу­ча­ли рынок зар­плат про­грам­ми­стов в Рос­сии, и вот кар­тин­ка из это­го материала:

Самые высо­ко­опла­чи­ва­е­мые ЯП в Рос­сии по дан­ным Мое­го кру­га на конец 2018 года. 

Сра­зу вид­но, что мак­си­мум денег при­но­сят Elixir, Golang и Scala, потом идут Objective-C и Ruby. Не бои­тесь слож­но­стей — учи­те Scala, хоти­те быть в трен­де — Golang вам в помощь, люби­те про­сто­ту и ООП — начи­най­те с Ruby.

Важ­но: одно толь­ко зна­ние язы­ка не гаран­ти­ру­ет сра­зу высо­ких зар­плат (да и вооб­ще ниче­го не гаран­ти­ру­ет) — для это­го нуж­но вла­деть инстру­мен­том на уровне мид­ла или сеньо­ра. Но на стар­те зар­пла­та у таких про­грам­ми­стов обыч­но немно­го выше, чем у раз­ра­бот­чи­ков на дру­гих языках.

Lisp

Lisp — это группа языков, связанных с исторической реализацией LISP, которая была разработана в MIT в 1950-х годах для описания программ математическим способом. Синтаксис в Lisp основан на s-выражениях — это отличает его от большинства других языков, многие из которых связаны с С или находятся под его влиянием. Lisp был популярен в ранних исследованиях ИИ и широко применялся как язык скриптов для САПР и других инженерных приложений, так как он воспринимает код в виде данных и позволяет настраивать язык с помощью макросов , что отличает его от более статичных языков. Среди известных приложений на его основе —AutoLisp (скрипт для AutoCad) и Roomba. Один из языков семейства, Clojure, особенно удобен для создания масштабных приложений для бизнеса и интернета.

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

Не подвластны времени

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

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

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

10 курсов программирования для начинающих

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

1. «Основы программирования» от GeekBrains

Основы программирования – интенсив от онлайн-университета GeekBrains, который познакомит вас с профессией, узнаете об языках и направлениях в программировании, зададите все волнующие вас вопросы преподавателю.

2. «Старт в программировании» от Нетологии

Старт в программировании – базовый курс познакомит вас с языками программирования JavaScript и HTML. Более 20 часов практики.

Во время прохождения обучения вы создадите свою первую программу.

3. «Веб-разработчик с нуля до PRO» от SkillBox

Веб-разработчик с нуля до PRO – полноценное обучение от онлайн-университета SkillBox для тех, кто хочет заниматься разработкой сайтов и сервисов. Подходит для начинающих.

Веб-разработчик – одно из самых, на сегодняшний день, востребованных направлений в программировании. Средняя зарплата по официальной статистике составляет 50 000 – 80 000 рублей в месяц.

По завершению вы получите диплом об обучении.

4. «Введение в программирование (С++)»

Введение в программирование (С++) – курс от Академии Яндекса и Высшей школы экономики (НИУ ВШЭ) на обучающей платформе Stepik, состоящих из 12 уроков с видео, тестами и интерактивными задачами.

5. «Как стать программистом» от университета Mail.ru (GeekBrains)

Как стать программистом / Пошаговая инструкция по поиску работы – на этом курсе вас не научат программировать, а расскажут всё о профессии.

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

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

6. «PHP. Уровень 1 (Основы веб-разработки)» от GeekBrains

PHP. Уровень 1 – ещё один курс для начинающих с нуля от онлайн-университета GeekBrains, на котором вы узнаете основы языка PHP.

7. «HTML и CSS с нуля» от Fructcode

Интерактивный курс по HTML и CSS – пошаговая программа по изучению основ верстки сайтов.

Здесь вы можете получить доступ сразу к нескольким курсам (HTML/CSS, Bootstrap 3, PHP/MySQL, Linux/GIT, Codeigniter, Javascript/jQuery, Modern Javascript, Yii2 Фреймворк, Bootstrap 4, VueJS Фреймворк) за ежемесячную подписку. Вам не нужно покупать сразу всё обучение, платите помесячно и проходите уроки в своём темпе.

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

8. «ВЕБ-разработчик 2020» от beONMAX

ВЕБ-разработчик 2020 — с нуля до результата – большой курс для начинающих веб-разработчиков. Освоите основные инструменты и технологии создания сайтов и приложений на HTML5, CSS3, Bootstrap 4, JavaScript.

9. «Основы С++» от Смотри и учись

Основы С++ – 12 лекций продолжительностью 13 часов. Разбираются базовые элементы языка, работа с файлами и функциями, структурное и объектно-ориентированное программирование.

10. «Программирование на Python для начинающих» от Михаила Русакова

Программирование на Python для начинающих –  неплохой курс по изучению основ языка Python. Автор оказывает поддержку при прохождении и отвечает на вопросы.

Как эффективно изучать языки программирования?

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

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

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

Team Lead ISsoft Павел отметил, что в самом начале важно делать больше, чем делают другие. «Нужно читать книги, постоянно думать, когда пишешь код, и разбираться в том, что делает каждая строка кода

Конечно, в нашем ремесле никуда без непрерывного профессионального самосовершенствования», – подчеркнул Павел.

  • Равномерно распределите время обучения. Например, вы договариваетесь с собой, что занимаетесь каждый день по часу. Так, спустя 10 часов – 10 дней, вы сможете уже начать практиковаться, а не только изучать теорию. Регулярные занятия позволят вам постепенно и качественно вливаться в тему, а небольшие временные промежутки – разбить материал на части, которые легче запомнить.
  • Отслеживайте и принимайте участие в образовательных проектах. Так вы сможете получить знания от опытных специалистов и прокачать свои скиллы быстрее. В ISsoft, например, есть Тренинг-центр, который приглашает на бесплатные курсы обучения по разным направлениям.
  • Придумайте свой проект. Чтобы сразу закреплять знания и применять их на практике, вы можете, например, придумать свой сайт и даже использовать его в дальнейшем как часть портфолио.
  • При изучении языка окружайте себя единомышленниками. Всегда интереснее что-то начинать вместе. Так будет с кем поразмышлять и пообщаться на тему, которая отнимает все ваше свободное время, а также посмотреть глазами другого человека, понять его логику и точку зрения. Если никто из знакомых не созвучен с вашими желаниями, ищите сообщества, где можно найти единомышленников.
  • Не забывайте про посещение тематических митапов, конференций, смотрите видео и читайте книги. Напитывайте себя информацией со всех сторон. Конечно, кто-то не разделяет наше мнение и скажет вам, что важнее всего ваш опыт. Но мы настаиваем на том, что опыт должен поступать вместе со знаниями и разносторонним взглядом на одну тему.

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

Читайте также

Чтобы разобраться в программировании

Ино­гда быва­ет так, что чело­век про­сто хочет понять, како­во это — быть про­грам­ми­стом, и хочет ли он даль­ше этим зани­мать­ся. В этом слу­чае нет смыс­ла учить мно­го­по­точ­ность в Python или углуб­лять­ся в пере­груз­ку опе­ра­то­ров на C++.

Вме­сто это­го луч­ше выбрать такой язык про­грам­ми­ро­ва­ния, кото­рый будет лег­ко осво­ить и у кото­ро­го есть боль­шая «груп­па под­держ­ки» в интер­не­те: фору­мы, учеб­ные мате­ри­а­лы и кур­сы. Рань­ше все начи­на­ли с Turbo Pascal 7.0, но сей­час этот язык мораль­но и тех­ни­че­ски уста­рел, поэто­му луч­ше выбрать что-то другое.

JavaScript. Самый лёг­кий и струк­ту­ри­ро­ван­ный язык с точ­ки зре­ния обу­че­ния для нович­ка. Язык поз­во­ля­ет неко­то­рые воль­но­сти и при этом содер­жит жёст­кие кон­струк­ции вро­де объ­яв­ле­ния пере­мен­ных или оформ­ле­ния функций.

Golang. Реаль­но про­стой язык, кото­рый мож­но осво­ить на началь­ном уровне за пару недель. При этом он из-за сво­их осо­бен­но­стей часто не поз­во­ля­ет напи­сать «пло­хой» код, что хоро­шо для начи­на­ю­щих. Отдель­ный плюс — Go-рутины, кото­рые иде­аль­но рабо­та­ют с многозадачностью.

Python. Если вы хоти­те сра­зу разо­брать­ся с ООП и все­ми пре­иму­ще­ства­ми объ­ект­но­го под­хо­да в про­грам­ми­ро­ва­нии — выби­рай­те Python. У него огром­ное сооб­ще­ство в сети и мно­го сфер применения.

JavaScript

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

JavaScript является мультипарадигмальным языком и поддерживает множество стилей программирования от объектно-ориентированного до функционального. У него также есть огромное, быстро растущее число библиотек.

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

Планшеты-трансформеры с клавиатурой — вывод

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

Если подводить итог после обзора пяти сегодняшних героев статьи, то наиболее привлекательным девайсом является ASUS Transformer 3 (T305CA), так как он стоит дешевле конкурентов, выполнен полностью из металла, предлагает неплохие камеры и крутой экран. Прочие устройства с аналогичными параметрами стоят достаточно дорого, особенно планшеты от Samsung и Microsoft.

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

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

Adblock
detector