Программисты любят шутить над миром моды, где очень важно следить за длина юбки, которая то поднимается и то опускаются, модно то одно, то другое. Но в мире технологий, строгости, науки, математики тоже есть свои модные (горящие) и совсем не модные (холодные как лед) тренды.
Другое дело, что тренды (модные технологии) в программировании обычно имеют под собой основания — производительность, гибкость или легкость в использовании. Данный список из модных и немодных технологий, разумеется не все согласятся с данным списками. Это нормально, это делает программирование увлекательной профессией — неожиданные возвращения хорошо забытой моды, страстные дебаты и быстрее перемены.
От переводчика: конечно, не стоит принимать выводы статьи за единственную истину, это скорее одно из мнений (поэтому я добавил опросы в конце статьи). Однако, на мой взгляд, очень полезно знать, какие технологии будут более востребованы на рынке труда в ближайшее время. Поэтому интересно ваше мнение
1
Модно: Docker
Уже нет: Гипервизоры
Конечно, это не совсем так. Гипервизоры все еще активно используются и многие Docker контейнеры запускаются внутри виртуальных машин, запущенных под гипервизорами. Другое дело, что Docker контейнеры намного-намного меньше образов виртуальных машин, что позволяет намного легче развертывать и использовать их.
Когда у разработчиков есть выбор, они предпочитают иметь дело только с Docker контейнерами, благодаря легкости с которой они могут жонглировать ими во время развертывания. Поэтому компании все больше стараются иметь дело только с контейнерами и все меньше используя гипервизоры для развертывания их приложений.
2
Модно: Почти Big data (анализ данных без использования Hadoop)
Уже нет: Big data (с использованием Hadoop)
Каждому нравится чувствовать самым Большим человеком на "Деревне", а если не получается — можно найти "Деревню" подходящего размера. Поэтому не удивительно что фраза "Большие данные" пришлась бизнесу очень по душе и они стали просить разработать все более крупные и мощные системы обработки данных, как если бы они покупали яхты или небоскребы.
Забавно то что большинство проблем не так велики, что реально была польза от таких фантастически сложных систем обработки больших данных. Разумеется, компании такие как Google или Yahoo отслеживают все наши браузеры, у них есть данные, измеряемые петабайтами и иоттаба?йтами. Но в реальности многие компании имеют размер данных, которые легко может поместиться в оперативную память обычного сервера. Например. эта статья написана на компьютере с 16 гигабайтами оперативной памяти — достаточно чтобы сохранить миллиард событий с несколькими байтами на каждый. А для большинства алгоритмов, информация не требуется даже хранить всю информацию в оперативной памяти, потому что скорость обработки данных на SSD очень быстрая.
Конечно, всегда будут задачи для которых требуется быстрый ответ от десятков машин с Hadoop, запущенных параллельно, однако во многих случаях более чем достаточно лишь одной машины без затрат на координацию и коммуникацию. Это причина почему все более популярны решения без больших Hadoop кластеров.
3
Модно: Spark
Уже нет: Hadoop
Причина не столько в том что Hadoop становится не таким популярным как раньше, скорее Spark все более развивается, делая Hadoop модель несколько устаревшей. Spark заимствует лучшие идеи из подхода Hadoop для обработки больших объемов данных и улучшает их так, чтобы они работали лучше и намного быстрее. Возможно главным преимуществом в этом является тот факт что Spark может хранить данные в оперативной памяти вместо необходимости записывать все в распределенную файловую систему.
С другой стороны, конечно многие люди объединяют эти два подхода, чтобы использовать скорость Spark’а в с данными в распределенной файловой системе Hadoop. Они, в некотором смысле, тогда больше партнеры, чем конкуренты.
4
Модно: Искусственный интеллект/машинное обучение
Уже нет: Big data
Никто толком не знает что означает фраза “искусственный интеллект”, что помогает маркетологам, особенно после того как фраза “большие данные” вышла из моды. Маркетологи щедро применяют термины из машинного обучения и искусственного интеллекта, чтобы описывают большие системы, которые обрабатывают наши логи и клики на страницах, что раньше называли системами обработки больших данных.
Используя большое количество сложных алгоритмов, разработанных специалистами по ИИ в течении 50 лет, и современное оборудование, у нас сейчас есть все шансы получать намного лучшее результаты чем раньше. Данные алгоритмы позволяют разработать массу различных инструментов от библиотек и фремворков машинного обучения до систем когнитивных вычислений, таких как IBM’s Watson, который можно использовать для решения самых различных наших проблем. Каждый из инструментов решает свои задачи слабого ИИ, и в будущем мы можем рассчитывать на еще больше развитие подобных систем в задачах анализа и экспертиз.
5
Модно: Робототехника
Уже нет: Виртуальная реальность
Казалось прошло всего несколько минут с времени, когда мы считали что вот-вот начнем жить в виртуальной реальности, где все, что видят наши глаза нарисовано видео картами? Это еще может случится, но бум моды случился с робототехникой. В каждой школе открываются кружки робототехники, а роботы "вторгаются" в каждый уголке нашего дома: роботы пылесосы уже — не новость, а дроны — повальная мода.
А это значит, что программисты начинают думать как лучше программировать для подобных машин. Сейчас это пока означает написание лишь простых скриптов для недорогих контролеров таких как Raspberry Pi, но это неизбежно измениться, как только библиотеки станут более сложными. Многие любители роботов, например, взломали код OpenCV, платформы машинного зрения, написанной на C. Это значит новые правила, новые библиотеки, новые протоколы и множество других тем, о которых требуется подумать.
6
Модно: GitHub
Уже нет: Резюме
Конечно, можно попытаться составить мнение о кандидате, изучая длинный список его достижений, в который упоминается даже руководство шахматным клубом в Университете. Но во время чтения реального исходного кода кандидата, мнение составить проще и надежнее. Пишет ли он хорошие комментарии? Тратит ли он слишком много времени на мелкие малополезные изменения? Разрабатывает ли он правильную архитектуру с возможностью расширения? На все эти вопросы можно ответить, взглянув на его код.
Вот почему это сейчас так важно для поиска работы. Показать свой код из проприетарного рабочего проекта обычно нельзя, другое дело открытый исходный код на github'е.
7
Модно: CSS фреймворки
Уже нет: Обычные CSS файлы
Когда-то, чтобы добавить немного красоты и интерактивности на свой сайт, нужно было создавать CSS-файл и вручную записать туда описание стилей вроде font-style: italic. Затем вы сохраняли файл и отправились на обед после тяжелой утренней работы. Теперь веб-страницы настолько сложны, что невозможно просто взять и создать файл вручную с подобными простыми командами. Замена всего лишь цвета шрифта, и вся страница может "поплыть". Это похоже на то, что говорят про экологию: все взаимосвязано
Вот где CSS фреймвоки, такие как SASS или Compass, нашли свою нишу. Они позволяет использовать полноценное кодирование, предлагая такие конструкции программирования как: переменные, вложенные блоки и наследование. В этом нет ничего нового для этапа программирования, но это большой шаг вперед для этапа верстки и вебдизайна.
8
Модно: Видео контент
Уже нет: Статический контент
Раньше, видео встречалось в вебе лишь на специальных сайтах, вроде YouTube или Vimeo. Это был отдельный сервис, которая находился на отдельных странице и сайтах. Сейчас все меняется — все больше и больше веб-сайтов используют видео в качестве строительных блоков, таких как статические GIF или JPG. Все чаще, неожиданно для пользователя, все на сайте начинает двигаться, когда люди или собаки оживают.
Дизайнеры обнаружили, что современный видео тег — это просто еще один прямоугольник, пусть для него иногда требуется написать немного JavaScript кода. Сейчас мы только начинали понимать, что видео в интернете — не основное блюдо, которое нужно смотреть на большом экране с попкорном на диване, а может быть простым украшением, которое может использоваться в любом месте.
9
Модно: Обучение при необходимости
Уже нет: Многолетнее универсальное образование
Онлайн курсы по любым тематикам уже давно не новость и каждый сейчас может смотреть видео-лекции в удобном ему формате, используя перемотку или паузу так как ему удобнее. Онлайн форумы заменили старый формат семинаров, где возможно только одно обсуждение одновременно.
Но вопрос не только в развитии технологий онлайн обучения — меняется сам процесс привычного обучения, когда оно становится более гибким и ситуативным. Меняется вся динамика обучения, поскольку людям больше не требуется тратить более четырех лет жизни на то, чтобы пройти огромное количество курсов, которые им в реальности возможно никогда и не потребуются.
Зачем брать курс по разработке компиляторов до тех пор пока вам реально не потребуется разработать компилятор? Когда ваш начальник захочет сменить реляционную базу на NoSQL хранилище, тогда вы можете потратить время на изучения курсов по современным способам хранения данных. Сейчас все больше интересна идея получать актуальную информацию, когда она вам реально потребуется, и не засорять мозг ненужными и устаревшими технологиями.
10
Модно: Мобильные вебприложения
Уже нет: Нативные мобильные приложения
Предположим у вас есть великолепная идея для мобильных устройств. Вы можете разорваться и сделать приложения для iOS, Android, Windows 8 и, возможно, BlackBerry OS. Для каждого из них вам чаще всего потребуется использовать отдельный язык программирования и у каждой из платформ свой магазин приложений со своими правилами и условиями, которые нужно выполнить прежде чем ваше приложение станет доступным пользователям.
Либо вы можете создать одно приложение HTML и разместить его на вебсайте для работы во всех платформах сразу. Если вам потребуется сделать изменения, вам больше не нужно делать обновления во всех магазинах приложений. Сейчас, когда возможности HTML для мобильных устройств становятся все лучше, а HTML работает быстрее — этот подход может конкурировать с лучшими нативными мобильными приложениями.
11
Модно: GPU
Уже нет: CPU
Когда приложения были простыми, а инструкции в основном последовательными CPU был центром компьютера, потому что делал главную работу. Сейчас видео игры заполнены графическими задачами, выполняющимися параллельно. Пользователи легко тратят большие деньги на самые лучшие видеокарты, а серьезные игроки ставят сразу по несколько видеокарт. Часто видеокарта стоит в несколько раз больше чем остальной компьютер. Геймеры не единственные кому нужны видеокарты, многие задачи ученых и разработчиков ИИ выполняются в десятки раз быстрее на GPU, это причина почему программисты все больше интересуются возможностями разработки приложений для GPU вместо CPU.
12
Модно: JavaScript MV* фреймворки
Уже нет: Простые JavaScript скрипты
Давным-давно каждый старался научится писать на JavaScript просто, чтобы показать всплывающие окно на своем сайте или проверить правильность заполнения адреса email. Сейчас HTML AJAX приложения настолько сложные, что мало кто пытается написать все с нуля самостоятельно. Проще взять уже разработанный фреймворк и написать лишь немного своего кода для реализации вашей бизнес логики.
В настоящее время существует множество фреймворков, таких как Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS и многих других, для легкой работы с событиями и содержимым ваших веб-приложений и страниц.
И это только фреймворки для создания вебприложений. Есть также фреймворки, для на кросс-платформенной разработки для смартфона / планшета. Такие технологии, как NativeScript, PhoneGap и Ext JS, — позволяют создавать подобные HTML5 приложения.
13
Модно: Одностраничные вебприложения
Уже нет: Вебсайты
Помните времена, когда URL-адреса указывали на отдельные веб-страницы, заполненные статическим текстом и изображениями? Это было очень просто, но весьма причудливо помещать содержимое в наборы отдельных веб-страниц, которые потом называли веб-сайтом. Дизайнеры могли часами работать с картой сайта, чтобы сделать ее достаточно легкой для навигации.
Новые веб-приложения — это только интерфейсы для больших баз данных. Когда веб-приложение хочет отобразить информацию, оно вытаскивает ее из базы данных и помещает в определенный шаблон. Нет необходимости смешивать данные с html разметкой и стилями для создания веб-страницы. Сейчас уровень данных стал полностью отделен от уровня представления и форматирования.
Так же рост мобильных пользователей — еще один фактор развития вебприложений: единая, отзывчивая веб-страница, выглядит как обычное мобильное приложение, что часто намного привычнее мобильным пользователям.
От переводчика: Спасибо, первая часть перевода закончена, внизу можно найти опросы по большинству из вопросов, затронутых в статье (обсуждение в комментариях тоже приветствуется), надеюсь перевод и опрос будет полезен. В случаях ошибках при переводе — пишите лучше сразу в личку (спасибо).
Комментарии (2)
pepelsbey
24.02.2018 22:51Жаль, что статья с модным-немодным на 2018 год написана в апреле 2017. Иначе говоря: что за мусор вы здесь перевели?
Вот где CSS фреймвоки, такие как SASS или Compass, нашли свою нишу
Последний релиз Compass был в 2014 году, в репозитории стоит метка «Depreciated: Compass is no longer supported» и последний коммит был года три назад. Стоит ли говорить, что Sass это не фреймворк.
jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS
Пожалуйста, удалите этот бред. Я имею в виду весь перевод. И черновик второй части тоже.
bgBrother
P.S.: I5-2520M, 8GB 1333Mhz, последний Chrome на VK.com