Ukkaskadgel.ru

Документооборот онлайн
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

8 видов российских программистов

Сколько российских программистов осудили в США и за что?

На этой неделе суд в США приговорил россиянина Егора Крючкова, который признался в сговоре с целью совершить кибератаку на компанию Tesla, к депортации из страны.

27-летний россиянин признался, что пытался подкупить сотрудника компании Tesla, чтобы внедрить вирус в ее компьютерную сеть. Тот, в свою очередь, сообщил об этом руководству и в ФБР, и Крючкова арестовали. Как сообщало агентство Associated Press, суд также приговорил программиста к тюремному сроку в 10 месяцев, который тот почти отбыл, и обязал выплатить около 14,8 тыс. долларов компенсации. АиФ.ru вспоминает, кого еще из российских программистов и за что осудили в США за последние несколько лет.

Кого еще из российских программистов осудили в США?

В 2017 году российского хакера Марка Вартаняна в США приговорили к пяти годам тюрьмы. Вартаняна задержали в Норвегии, где он работал в одной из местных IT-компаний, и экстрадировали в штаты. По данным американских властей, российский программист, который действовал под псевдонимом Kolypto, участвовал в разработке вредоносной программы Citadel. Она похищала с компьютеров персональную информацию и данные о счетах. По оценкам американских властей, ущерб от разработанной хакерами программы составил порядка 500 млн долларов.

Ранее, в 2013 году, из Нидерландов в США эскстрадировали программистов Владимира Дринкмана и Дмитрия Смилянца. Оба мужчины признали себя виновными в причастности к мошеннической схеме. Россияне в течение семи лет проникали в компьютерные сети крупных американских и международных компаний. По оценкам американских властей, в результате мошенничества были украдены 160 миллионов номеров кредитных и дебетовых карт.

Другой случай — Станислав Лисов, программиста из Таганрога. Его задержали в январе 2017 года в Барселоне по подозрению в кибермошенничестве и выдали властям США. Лисова подозревали в похищении почти 1 млн долларов со счетов в американских банках с помощью трояна Neverquest, а также попытке провести другие незаконные операции на сумму около 4,4 млн долларов. В ноябре 2019 года он признал свою вину и был приговорен к четырем годам тюрьмы. Однако суд учел уже отбытый срок и примерное поведение Лисова, и в июне прошлого года он вышел из тюрьмы и вернулся в Россию.

В Испании в том же году задержали еще одного российского программиста — Петра Левашова — и также экстрадировали в США. Левашову инкриминировали создание глобальной сети зараженных компьютеров Kelihos и управление ею. С зараженных устройств рассылались сообщения с рекламой поддельных лекарств, схемами мошеннических действий с ценными бумагами, мошеннической рекламой работы на дому и так далее. Также через сеть осуществляли фишинг — сбор личных данных — и внедрение вирусов, которые злоумышленники использовали потом в том числе для вымогательства. Минюст США заявил, что Левашов управлял сетями ботов более 20 лет.

30-летнего программиста Евгения Никулина задержали осенью 2016 года в Праге. В 2018 году из Чехии его экстрадировали в США по обвинению в краже личных данных пользователей LinkedIn и Dropbox. Накануне избрания ему меры пресечения Никулин пытался устроить побег. В сентябре 2020 года суд приговорил его к 7 годам и 4 месяцам тюрьмы. Россиянину зачтут уже отбытые 4 года в тюрьме, а после окончания срока его, скорее всего, депортируют.

Создателя вируса Gozi, россиянина Никиту Кузьмина, американские власти арестовали в 2010 году. Он не только участвовал в создании вируса, но и продавал свой троян хакерам. Впоследствии те использовали Gozi, чтобы снимать деньги с чужих банковских счетов. Вирус заразил как минимум 40 тысяч компьютеров только в США, в том числе 160 — в НАСА. В 2016 году суд обязал Кузьмина выплатить 6,9 миллиона долларов в качестве компенсации пострадавшим, а также приговорил к 37 месяцам тюремного заключения. С учетом уже отбытого срока под стражей, Кузьмина освободили в зале суда.

Аналогичная судьба постигла также российских программистов Владимира Здоровенина, Александра Костюкова, Александра Панина, Дмитрия Белороссова, Максима Чухарева, Романа Селезнева, Максима Сенаха и других. Все они были задержаны по подозрению в киберпреступлениях, а затем депортированы в США, где получили тюремные сроки.

Блог

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

Начнем с определений:

Платформа 1С:Предприятие – это базовая программная среда, на которой работают прикладные решения (конфигурации). Платформа – это основа, с которой работают программисты и создают готовые решения для конечных пользователей.

Конфигурация — это программа (прикладное решение), разработанная на основе платформы 1С:Предприятие и предназначенная для автоматизации задач управления и учета в определенной области деятельности.

ОСНОВНЫЕ КОНФИГУРАЦИИ 1С

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

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

Например, 1С:Бухгалтерия предназначена для автоматизации бухгалтерских процессов на предприятии и позволяет вести учет в соответствие с требованиями контролирующих органов Российский Федерации.

Для ведения кадрового учета и расчета зарплаты необходимо изучить 1С:Зарплата и управление персоналом. В этом случае программист должен уметь наладить взаимосвязь кадровых и расчетных документов.

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

1С:Розница — модифицированная версией 1С:Управления торговли и предназначена для автоматизации розничных магазинов с различной спецификой. Данная конфигурация 1С – универсальна для любого магазина, на базе нее программисты 1С разрабатывали множество вариаций для магазинов разных отраслей.

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

ЯЗЫК ПРОГРАММИРОВАНИЯ 1С

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

Встроенный язык программирования 1С является предметно-ориентированным. Опытные программисты говорят, что язык программирования 1С изначально кажется немного проще остальных. Сложность заключается в том, что программисту нужно вникнуть в предметную область, которую автоматизирует программа – бухгалтерия, производство, управленческий учет и т.д. Еще одна особенность языка программирования 1С, которая удивляет новичков — двуязычный код. Это значит, что код может быть написан на русском или английском языке.

ОСНОВЫ РАБОТЫ С БАЗАМИ ДАННЫХ 1С

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

Читать еще:  Способы начисления амортизации основных средств

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

Синхронизацией и обменом данными между базами, также занимаются программисты 1С.

ОСНОВЫ ЯЗЫКОВ ЗАПРОСОВ 1С

Очень важным этапом в изучении программирования 1С — освоение языка запросов.

Запросы – это один из основных приемов «1С:Предприятие» наряду со встроенным языком, который позволяет читать и обрабатывать данные, хранящиеся в базе.

ОСНОВЫ МЕХАНИЗМОВ ВЗАИМОДЕЙСТВИЯ С ДРУГИМИ ПРОГРАММАМИ

В 1С:Предприятие важно настроить выгрузку данных из Microsoft Office, т.к. часто приходится сохранять различные отчеты, табличные данные в файлах Excel или Word. Или наоборот, чтобы загрузить данные из Excel необходимо создать специальную обработку. Предварительно нужно произвести все технические настройки, считать данные из файла и сформировать колонки с аналогичными названиями в 1С.

ОСНОВЫ БУХУЧЕТА, СКЛАДСКОГО УЧЕТА ИЛИ ВЕДЕНИЯ ТОРГОВЫХ ОПЕРАЦИЙ

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

В тандеме технический специалист-бухгалтер бывает ситуация: программист не понимает, чего от него хочет бухгалтер, а бухгалтер не понимает, какие возможности есть у программы, как она работает. Чтобы не возникало недопонимания, нужно говорить на одном языке. Чтобы работать с пользователями программы 1С:Бухгалтерия, технический специалист должен понимать «логику бухгалтера», владеть терминологией и знать основы бухгалтерского учета. Часто бухгалтеры пользуются доработанными формами документов. Например, для учета путевых листов или изменения валюты учета. Главная задача программиста 1С — сделать так, чтобы бухгалтеры стабильно работали, вовремя сдавали отчетность, а заложенная аналитика документов не терялась.

Систематизируйте базовые навыки и научитесь решать сложные задачи на
Комплексном курсе по программированию в системе «1С:Предприятие 8.3»

Профессия «Программист» — обзор популярных направлений

Программисты — рок-звезды нашего времени. Если раньше они считались занудными ботаниками в засаленных свитерах, то теперь разработка стала практически синонимом успеха, а спрос на таких специалистов стабильно высокий. И 2020-й в очередной раз это подтвердил: по данным исследования, проведённого при поддержке Минэкономразвития России, каждая вторая вакансия связана с программированием.

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

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

Фронтенд-разработчик

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

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

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

Пользовательский интерфейс MailChimp — сервиса email-рассылок

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

Часто фронтендеры требуются разработчикам приложений для бизнеса: системам управления проектами, корпоративным порталам или CRM.

Что важно знать и уметь. Фронтендер должен знать HTML, CSS, библиотеки и фреймворки JavaScript, уметь пользоваться CVS, Git, GitHub, таскраннерами, технологиями юнит-тестирования, не бояться препроцессоров и сборщиков LESS, SASS, GRUNT и GULP.

Список можно продолжить. Необходимо разбираться в темах:

  • Принципы UI/UX
  • SEO на базовом уровне
  • Адаптивная и отзывчивая вёрстка
  • Кроссбраузерная и кросс-платформенная разработка
  • Мобильная разработка
  • Тестирование и юнит-тестирование
  • Базы данных и SQL-запросы
  • Веб-шрифты

И, конечно, в обязательном порядке — быть на «ты» с графическими редакторами: Photoshop или Figma, а лучше и с тем, и с другим.

Стек. HTML, CSS, JavaScript и его фреймворки, TypeScript.

Бэкенд-разработчик

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

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

Фронтенд — это форма регистрации и корзина на сайте, а бэкенд — это связка полей формы регистрации с корзиной, база данных и интеграция с платёжным сервисом

Оба этих специалиста действуют в связке — так удаётся достигать лучшего результата.

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

Другое дело, что бэкендеры бывают разного уровня: в офисе условной соцсети или крупного сайта объявлений ему предстоит работать с высокими нагрузками, микросервисной архитектурой и контейнеризацией в Docker и Kubernetes, использовать и знать системы мониторинга типа Zabbix или Grafana.

А для небольшого интернет-магазина вполне достаточно связки PHP-Ajax-нужная СУБД-немного HTML, иногда и того меньше.

Что важно знать и уметь. Основные инструменты бэкенд-разработчика — серверные языки программирования: PHP, Python, Ruby, Java, Perl, Node JS. Дополнительно к Node JS полезно изучить Express — библиотеку для взаимодействия платформы Node JS с сервером и Mongo DB — базу данных для получения и хранения информации.

А ещё нелишним будет освоить фреймворки Symfony, Codeigniter, Yii, Zend Framework, Kohana и базы данных MySQL/SQLite.

Стек . PHP, Python, JavaScript, Java, C#, Go, C/C++.

Полный разбор профессии бэкенд-разработчик читайте в этой статье

Фулстек-разработчик

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

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

Иногда фулстека нанимают из соображений экономии, когда нет денег на целый IT-отдел. В этом случае фулстек часто занимается вообще всем, в том числе заправляет принтер. А если повезёт — то станет директором.

Что важно знать и уметь. Фулстек разбирается в бэкенде — программно-аппаратной части сервиса и во фронтенде — интерфейсе пользователя.

Фулстек может быть внутри определённой технологии — скажем, JavaScript-фулстек.

Стек . PHP, Python, JavaScript, Java, C#, Go, C/C++.

Полный разбор профессии фулстек-разработчика читайте в этой статье

JavaScript-разработчик

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

Помимо веб-сайтов, такие специалисты разрабатывают:

  • браузерные операционные системы;
  • прикладное программное обеспечение;
  • приложения для интернета вещей — SMART-телевизоры, умные часы и др.;
  • макросы для офисных приложений: OpenOffice и др.
Читать еще:  Правила составления мирового соглашения при банкротстве

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

JavaScript используется в браузере Mozilla Firefox

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

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

Что важно знать и уметь. Само собой, язык JavaScript — по умолчанию. А всё остальное — из базового набора фронтенд-разработчика: разметку HTML и CSS, систему контроля версий Git, фреймворки react.js, vue.js, angular.js (один из них).

Стек. JavaScript, HTML, CSS.

Полный разбор профессии JavaScript-разработчика читайте в этой статье

Разработчик игр

Если вы обожаете играть и мечтаете создать собственный Counter Strike или Last of us, эта профессия для вас! Гейм-девелоперы работают с движками и создают с их помощью новые шутеры, квесты, аркады и головоломки.

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

Круг обязанностей весьма широкий — не заскучаешь.

«Кодзима — гений» — фраза, которая ушла в народ и стала мемом. Хидэо Кодзима, создавший легендарную Death Stranding, — самый известный сегодня гейм-дизайнер

Где нужен. Логично — в компаниях, которые делают игры. Nintendo, Blizzard и Ubisoft ждут вас! А ещё такие специалисты могут быть интересны независимым инди-проектам. И, конечно, разработчикам игр для мобильных устройств.

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

  • Знать языки программирования. В случае с Unity — это C#. Именно на нём написан движок. Также не помешают Python, Java и C++.
  • Освоить пакет Blender, который незаменим для 3D-моделирования, визуализации и создания трёхмерной графики.
  • Понимать физику процессов — какие силы влияют на поведение персонажей и их движения.
  • Ориентироваться в игровых жанрах и знать их особенности.
  • Знать, что такое ООП (объектно-ориентированное программирование).
  • Уметь пользоваться Git.

Стек . Unity, Unreal Engine, C#, Python, Java и C++.

Полный разбор профессии разработчика игр читайте в этой статье

Виды компаний и разработки — Жизнь программиста

В этом уроке мы поговорим о том, какие бывают компании и направления в разработке.

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

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

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

Заказная разработка (outsourcing)

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

Из-за особенностей бизнеса заказной разработки, по сути построенного в том или ином виде на продаже времени своих сотрудников, он стабилен, когда в нём много разработчиков — чем больше, тем лучше. По этой причине аутсорсеры стараются быть очень большими, у них работает очень много молодых разработчиков, они часто интегрируются с университетами, имеют кучу офисов по всему миру. В крупных компаниях, таких как EPAM, Luxoft и DataArt, работают тысячи девелоперов. Эти компании действительно зарабатывают много денег и очень стабильны. Помимо таких гигантов, в аутсорсинге работают очень много небольших компаний: от 1-2 до 50-100 разработчиков. Однако чем меньше компания, тем более она нестабильная: если у вас в одном месте где-то заказ не пошёл, освобождаются люди, которых надо чем-то занимать, иначе их зарплата не будет окупаться. С одной стороны, этому бизнесу присущи большие риски, но с другой, его очень легко начать — отсюда и большое количество компаний в нём. Можно просто позвать своих друзей и предложить им делать аутсорсинг. После этого нужно найти первых клиентов — и можно работать. А дальше по сарафанному радио о компании узнаёт все больше и больше клиентов, и при хорошем раскладе можно успешно зарабатывать. Некоторые компании, осуществляющие заказную разработку, именно так и начинали свою деятельность.

Продуктовая разработка

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

Классификация ПО

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

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

  • Web-программирование
  • Мобильная разработка
  • Десктоп
  • Серверное ПО

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

Читать еще:  Возврат, обмен, устранение недостатков

Серверное ПО

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

Прикладное ПО

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

Системное ПО

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

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

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

Desktop

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

В этом направлении всегда были популярны такие языки, как С++, Java и C#, но на пятки признанным авторитетам наступают те языки, которые еще не так давно никто не планировал использовать для написания толстых клиентов.

Но современный мир диктует свои правила, и универсальным языком, который все глубже проникает абсолютно во все направления разработки и на котором появляется всё больше приложений — это JavaScript. Даже представители компании Microsoft заявили, что в будущих операционных системах Windows все приложения будут использовать HTML и JavaScript. И действительно на JavaScript уже пишут серьёзные толстые клиенты и приложения на десктопе. Яркий тому пример — Atom, очень популярный редактор, который будет использоваться во многих наших уроках и который мы рекомендуем поставить. Этот редактор выпущен Github и основан на фреймворке Electron, который использует JavaScript, что позволяет строить кросс-платформенные приложения: то есть такие, которые пишутся один раз, но работают на всех платформах.

Языки в Mobile

Следующее направление — мобильное, и здесь есть две базовых ветви разработки: Android и iOS.

Android: Java, Kotlin

В Android раньше был только Java, но сейчас большие обороты набирает язык Kotlin. Люди, использующие его в своих проектах, говорят, что теперь разработка под Android стала действительно приятной.

iOS: Objective-C, Swift

Для разработки в iOS не так давно вышел язык Swift, на который мигрировало большинство разработчиков, поскольку хотя Objective-C долго был главным и единственным языком, но уже морально устарел. Swift — это отличный свежий язык с правильными идеями, который Apple внезапно сделала open-source — а значит его скоро можно будет использовать вне iOS, что может быть весьма интересно, потому что этот язык обладает кучей полезных качеств.

Языки в Web

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

Backend

  • PHP, Ruby, Python, JavaScript (Node), Perl
  • Go, C#, Erlang, Java, Clojure, Kotlin, Scala, Groovy

Утяжеление тонких клиентов не отменяет того, что на бэкенде все равно должны храниться данные и выполняться определенная логика. Для бэкенда в вебе существует огромное количество языков. Теоретически, можно использовать вообще любой, но на практике используются чаще всего именно те, который указаны выше. Java, Clojure, Kotlin, Scala, Groovy — это всё языки, построенные вокруг JVM, платформы, которая позволяет использовать их все вместе сразу, по очереди и как-то соединять между собой, поэтому можно сказать, что это одно семейство. Язык Go появился недавно, но очень быстро занял определенную нишу, и используется всё чаще. И, конечно же, самый популярный язык веба — это PHP, который является лидером, несмотря на все свои недостатки, и на нём сделано очень много сайтов, и с каждым днём их число лишь растёт.

Frontend

  • JavaScript

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

Что выбрать? Критерии

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

Область, к которой лежит душа

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

Требуемая квалификация

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

Количество вакансий

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

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

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector