Файл: История развития программирования в России (Возникновение программирования в России).pdf
Добавлен: 30.03.2023
Просмотров: 500
Скачиваний: 7
СОДЕРЖАНИЕ
Глава 1. Возникновение программирования в России
1.1 Истоки программирования в России
Глава 2. Современное состояние и перспективы развития программирования в России
2.1 Современные тенденции программирования в России
2.2 Будущее Российского программирования
2.3 Перспектива развития профессии в области программирования в России
Зато у C# прекрасно пошли дела в игровой сфере. Как и сегодня, в 2000-х среди консольных приставок основная борьба разворачивалась между Sony PlayStation и Microsoft Xbox. Первая использовала в качестве базы C и язык ассемблера, потом перешла на собственный скриптовый язык. Фактически, Sony PlayStation была закрыта для сторонних разработчиков. Продукт компании Microsoft опирался на C++ и C# — в частности при работе с графическим движком Unity. Популярность C# возросла, но догнать Java так и не получилось: конкурент имел серьезное влияние на веб, а к концу десятилетия стал фундаментом системы Android.
Масла в огонь подливали и новообразованные языки. К примеру, Groovy, работающий на базе JVM, подтягивал синтаксис Java к простоте Python, сохраняя функциональность — поэтому привлек внимание. Менее известные примеры: Whiley, AspectJ, Join Java, Tea. Свою нишу занял и появившийся в 90-х JavaScript.
Создание языков программирования для обучения — тенденция, берущая начало в 60-х годах. В первом десятилетии XXI века появился ведущий «детский» язык — Scratch. Разработанный в MIT, он позволял на основе простых графических блоков создавать анимацию. Первые 10 лет существования не принесли языку заслуженной славы. Дело в концепции, согласно которой программировать приходилось непосредственно в браузере. Из-за ограничений на трафик и скорость начинающие программисты со всего мира не могли себе позволить долго возиться с этим продуктом.
Функциональное программирование было актуальным решением в начале эпохи персональных компьютеров. Тогда сложные коды, привязанные к конкретным данным, было разумно замещать моделями, сокращая объем кода и увеличивая производительность. Новые языки и появление полноценного ООП заставили большинство разработчиков вернуться к императивному программированию, оставив за функциональным роль дополнения. Но в XXI веке все изменилось.[11]
Частично этому способствовала новая волна маломощных машин (смартфонов). Высокие требования при скромной производительности вынуждали программистов мыслить функциями, а не привязываться к данным. Частично на популярность ФП повлиял новый язык — Clojure, диалект Lisp, работающий на основе виртуальной машины Java. Он будто связал десятилетия, позволив в новой эре применить известные принципы ФП. Чуть позже появился еще и ClojureScript для работы с JavaScript. Это был сигнал разработчикам языков: пора вводить возможности полноценного функционального программирования.
В 2008 году редактор журнала Nature Клиффорд Линч ввел понятие «большие данные». Этот термин он использовал при анализе растущего объема информации, поступающей в сервисы и социальные сети. Ведущие компании столкнулись с проблемой: необходимо было придумывать новые методы обработки и хранения данных, чтобы отвечать потребностям общества. Частично это решалось функциональным программированием, но требовались и новые специализированные языки.
Компания Google нашла выход в использовании нейронных сетей и языка для обработки данных — Go. Он должен был стать полноценной альтернативой C и C++, улучшив читаемость кода, документируемость, скорость сборки программ и множество других аспектов. Go так и не стал панацеей, но заслужил репутацию удобного и надежного инструмента для сложных разработок.[12]
Чтобы понять, насколько быстро менялись технологии в первом десятилетии XXI века, достаточно вспомнить события на рынке мобильных телефонов. Он стартовал с огромными черно-белыми «коммуникаторами» под управлением закрытых операционных систем. Им на смену пришли кнопочные «смартфоны» с Symbian. Уже к концу десятилетия все эти наработки устарели — на рынке сенсорных аппаратов бушевала битва iOS и Android.
Аппараты Android работали, опираясь на язык Java, и с первого дня существования системы пользователи могли писать под нее приложения. Почти все базовые приложения Android — результат международного конкурса разработчиков, который устроил Google за год до официального запуска платформы.
В Apple избрали другой путь — использовать собственные наработки. Objective-C был создан в 80-х как одно из множества ответвлений языка С. Возможно, он так и канул бы в ХХ веке, если бы не приглянулся разработчикам компании NeXT и операционной системы NEXTSTEP. Компьютер NeXTcube собрал массу положительных отзывов, но не получил распространения из-за высокой стоимости проекта.
Главой NeXT был Стив Джобс. Он не только удержал компанию на плаву и выгодно продал ее Apple, но и внедрил все наработки в «яблочные» продукты. Надежность и быстродействие стали визитной карточкой Mac OS и iPhone OS. В отличие от Android, который имеет открытый исходный код, системы Apple изначально были закрытыми для сторонних разработчиков. Компания выпускала средства разработки приложений после того, как оценивала заинтересованность в продуктах. Так случилось и с MacOS: Xcode была представлена спустя 2 года после платформы, — и с iOS: через год была обнародована SDK. Разумеется, исходные коды при этом не открывались, и разработчики не получали полной свободы в персонализации.
Родилось главное идеологическое противостояние в IT 2010-х годов: анархическая свобода против бесконечных ограничений, массовость против качества, доступность против безопасности.
Глава 2. Современное состояние и перспективы развития программирования в России
2.1 Современные тенденции программирования в России
Единственное, в чем можно быть уверенным в этой отрасли, – это изменения: все больше разговоров о машинном обучении, увеличение обязанностей со стороны веб-разработчиков, растущий интерес к противостоянию Kotlin и Java, etc. Победителями являются те, кто способен адаптироваться к меняющимся требованиям пользователей.
JavaScript является одним из самых быстроразвивающихся языков программирования в 2017 году и одним из трех самых популярных по данным Indeed.com. Дэн Шаппир из Wix отмечает, что популярность JavaScript вряд ли быстро исчезнет, поскольку это лучший выбор для интерактивных веб-страниц и единственный язык программирования, поддерживаемый всеми основными браузерами.[13]
В то время как JavaScript задействован в создании веб-интерфейса, он также стал лучшим выбором для эффективной разработки на стороне сервера через Node.js – среду с открытым исходным кодом, основанную на JS. Можно сказать, что JavaScript в тандеме с Node.js открывают разработчикам новые горизонты с перспективой развития в грядущем году.
Чистый код в программировании
Независимо от того, изучаете ли вы код с целью освоить Python или стать профессиональным веб-специалистом, вам нужно научиться писать чистый код. «Чистый и простой для обслуживания код, в понимании которого другие разработчики не испытывают трудностей, который можно легко поддерживать и наполнять новым функционалом, является ключом к успеху», – объясняет опытный разработчик Оана Бурц.
Что такое чистый код? Хотя точное определение и зависит от того, кому задан этот вопрос, один из пользователей StackOverflow предлагает следующее краткое объяснение.
Код должен:
- Быть доступным к пониманию.
- Легко модифицироваться.
- Быть простым в тестировании.
- Правильно работать.
Имея знания и опыт, чтобы написать код с комментариями, который могут понять ваши коллеги, можно вырваться в область специалистов для работы над более эффективными и высокооплачиваемыми проектами. Да, это актуально и сегодня, но в 2018 на это будет делаться еще больший упор.
Нет, функциональное программирование нам тоже не в новинку, но оно делает серьезное возвращение в 2018 году. Не сюрприз, потому как уже в 2017 году это стало одной из крупнейших тенденций развития в программировании.
«Языки программирования в этой категории определены», – рассказывает DevOps-инженер Джордан Бах. – «Предусмотрены выразительный и сжатый синтаксис, исключительная проверка ошибок во время компиляции, а также хорошая поддержка параллельных вычислений».[14] Хотя функциональное программирование, безусловно, является передовой технологией, оно включает в себя такие языки, как Haskell , Scala и Clojure.[15]
Концепция Material Design становится одной из обязательных
Каждый начинающий веб-разработчик должен изучать тактику дизайна и пользовательского опыта (UX), особенно если к этому есть интерес. Только так можно стать front-end специалистом. Material Design уже был описан как «обязательная эстетическая» тенденция для 2017 года.
Сейчас Material Design представляет собой набор стандартов дизайна, дружественных к пользователю, и был разработан еще в 2014 году. Этот подход характеризуется модным минимализмом и гибким масштабированием для разных по размеру экранов. Специалист по дизайну Анна Лисняк определяет «внешний вид» Material Design как «вкрапление современного реализма в плоский дизайн, создающий впечатление кучки двумерных плоскостей, плавающих друг над другом на определенных высотах».[16]
Backend as a Service сможет решать кроссплатформенные задачи
По мере того как разработчики сталкиваются с растущим давлением, чтобы создавать привлекательные приложения сразу для нескольких платформ, – веб, Android и iOS, – автономный Backend as a Service (BaaS) становится все более популярным инструментом для наращивания эффективности. Специалист Джессика Вебер пишет, что «основная предпосылка для BaaS – это разработка «API-first»: сначала создается API, что служит базой для создания различных мобильных платформ (iOS, Android, etc.)».
Хотя еще предстоит выяснить, станет ли BaaS главным решением для разработки кроссплатформенных проектов. Все зависит от JavaScript, веб-разработчиков и разработчиков мобильных приложений.
Если кто-то попытается сказать вам, что тенденции развития застопорились, знайте, что это не так. 2018 будет значимым годом в области веб-разработки. JavaScript, Node.js и возрождение функционального программирования – это всего лишь три варианта развития отрасли, которые позволят идти в ногу со спросом. Во время серьезного дефицита технических талантов люди с опытом и соответствующими навыками обязательно запрыгнут на эскалатор карьерного роста.
2.2 Будущее Российского программирования
Начало нового десятилетия всегда знаменует сильные изменения. К примеру, первый iPad появился именно на старте 2010 года. Это был огромный шаг вперед в разработке планшетов и компьютерных технологий в общем.
Искусственный интеллект. За «разумными» технологиями будущее всего мира. Это отображается в любой сфере уже несколько десятков лет. Как только физическая сила начала заменяться роботами, величайшие умы приступили к работе над полной автоматизацией наших жизней. Кроме того, в любой веб разработке важно именно графическая составляющая. Свежие тренды и креативные идеи смотрите в следующем коротком видео:
Сейчас искусственный интеллект пробирается в наши жизни намного глубже.
Smart Home, голосовой поиск, роботы для уборки по дому, автопилот и прочие подобные технологии – все это искусственный интеллект. Каждая из них уже имеет свое воплощение на рынке. Но это далеко не конец.
ИИ облегчает любое действие в сотни раз. Прежде всего, его будут обширно использовать во время разработки веб-сервисов. Программисты знают, что большинство действий можно спокойно передать роботу без потери в качестве. Однако дедлайны будут значительно сокращены.[17]
Также, ИИ будет внедрен в готовые продукты с ориентацией на пользователя. О некоторых из них я расскажу ниже. Искусственный интеллект поможет улучшить пользовательский опыт в несколько раз. Потому он будет ядром всех веб-разработок будущего начиная со сейчас.
Языки программирования. Этот пункт исключительно для веб-разработчиков (как профессионалов, так и новичков). Их востребованность напрямую зависит от того, с какими языками и фреймворками они могут работать. Также играет роль скорость адаптации к новым инструментам. Потому сегодня они должны понимать, какие знания необходимо получить, чтобы идти в ногу, или вовсе обгонять будущее веб-разработки.
Javascript, Python и PHP – самые популярные языки программирования последних лет. Тренды не меняются, поскольку разработчики довольны возможностями этой троицы. Первое место уверенно занимает Javascript, потому советую его изучить, если до сих пор не знакомы. В спину дышит Python. Но он очень слаб для разработки мобильных приложений. Тем не менее, для браузерных веб-сервисов этот язык считают одним из лучших.
Рисунок 1. Самые популярные языки программирования.