https://habrahabr.ru/company/mailru/blog/279193/- Разработка
- Программирование
- Блог компании Mail.Ru Group
Начнем с важной информации: совсем не обязательно перспективные языки являются новыми. Им не так много лет, как вашим любимым Python или Ruby, их нет ни в одной топовой десятке популярных рейтингов (
GitHut,
RedMonk,
TIOBE Index), а знание этих языков не дает пока существенной прибавки к зарплате (за исключением, возможно, Swift). Но и назвать их революцией, набирающей обороты в среде избранных, тоже нельзя. Безусловно, у них есть своя ниша, определенная доля рынка (до 2%) и сложившееся комьюнити. Просто в будущем именно они могут посягнуть на лавры топ-5, если не случится событие типа «черный лебедь».
За последние годы в рейтингах популярности языков мало что изменилось — одни опускаются, другие поднимаются, но никто не врывается в топ под лозунгом «лучший из лучших». Процесс захвата новых территорий для языка чаще всего занимает годы, и за это время успевает сформироваться необходимая база развития. Поэтому никаких эксклюзивов и написанных за вчерашний вечер уникальных языков в обзоре не будет — просто потому, что их время еще не настало. Но в ближайшие годы популярность незыблемых столпов, таких как Java (вся), JavaScript или PHP, будет снижаться, а их место постепенно займут «новички».
Swift
Программист Крис Латтнер втайне от всех работал над собственным языком программирования с 2010 г. Примерно через полтора года после начала разработки к работе подключились другие программисты, но потребовался еще год, прежде чем компания Apple, в которой работает Латтнер, сфокусировалась на проекте.
В 2014 г. Apple представила ООП-язык Swift, который должен прийти на смену Objective-C, чему способствует возможность перевести на новый язык любое приложение, написанное на Objective-C. Swift, предназначенный в первую очередь для разработчиков iOS и OS X, считается более безопасным и быстрым языком по сравнению с Objective-C.
Что почитать сейчас
Лучшей книгой по языку является официальное издание от Apple — «
Swift for Programmers». Книги известных преподавателей и программистов Харви Дейтела и Пола Дейтела в особом представлении не нуждаются — они славятся легким изложением материала любой сложности. «Swift for Programmers» содержит множество примеров реальных программ, которые помогут освоить азы создания собственных приложений. Обновленная версия книги вышла год назад.
Книга «
Swift for Beginners: Develop and Design», вышедшая в 2014 г., не только рассказывает об основах Swift, но и знакомит со средой Xcode. Издание подойдет всем, кто обладает хотя бы минимумом знаний о программировании на любом языке высокого уровня и хочет научиться создавать программы для iOS, OS X или watchOS.
Однако, несмотря на все обновления, книги неминуемо устаревают вследствие изменений языка. Бороться с этим можно разными способами: например, знать заранее, какие актуальные книги по языку будут выходить в ближайшее время.
Что почитать в будущем
В «
Swift 2 Cookbook» представлено более 50 рецептов, которые помогут создавать приложения в Swift 2. В учебнике описаны основы установки Xcode и приведены примеры обновления кода со Swift 1.2 до Swift 2.0 с помощью Xcode, а также продемонстрировано, как Xcode помогает тестировать код. Иметь некоторые начальные представления об Objective-C или Swift будет полезно, но изучать представленный в данной книге материал можно и без предварительных знаний Swift. Книга выйдет в апреле этого года.
Scala
Scala — мощный мультипарадигмальный язык программирования, предназначенный для безопасного и быстрого программирования. В Scala полностью поддерживаются возможности функционального программирования. Он является представителем академической среды, за что порой и обвиняется в излишней сложности. Язык был создан в 2001—2004 гг. в одном из самых престижных учебных заведений Европы — в Федеральной политехнической школе Лозанны. Scala — это результат исследований, направленных на разработку улучшенной языковой поддержки компонентного ПО.
Сегодня Scala используется во многих крупных проектах — например, бóльшая часть серверного кода Twitter написана на этом языке. Scala может прийти на смену Java, благодаря тому, что в нем учтены многие ошибки, допущенные при проектировании Java.
Что почитать сейчас
Мартин Одерски, автор книги «
Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition», является создателем языка Scala. Помимо этого, он разработал поддержку обобщенного программирования в Java (Generics) и создал текущую версию javac, компилятора Java.
В переводе с итальянского «scala» означает «лестница». Книга от Одерски определенным образом напоминает карабканье по лестнице: ступень за ступенью вы будете осваивать Scala, начиная с основных элементов и заканчивая дополнительными возможностями языка.
Вам также может пригодиться книга «
Scala in Depth» (автор — Joshua D. Suereth). Конечно, во многих аспектах она уже устарела, но если вы собираетесь изучить паттерны и алгоритмы, можно рассчитывать на актуальность материалов.
«
Scala in Action 1st Edition» — более свежий учебник (2013 г.). В нем содержится хороший обзор инструментов, расширяющих возможности языка. Подробно описаны и разобраны
MongoDB,
SBT,
Scalaz,
Squeryl,
H2,
jQuery UI,
ScalaCheck,
Specs,
Akka,
Lift, DSLs.
Что почитать в будущем
«
Scala High Performance Programming» — это, по заверению авторов, первая книга, которая исследует возможности Scala по созданию высокопроизводительных приложений. Издание будет полезно разработчикам Scala, знающим Lift, а также Java-программистам, заинтересованным в переходе на Scala, но не желающим отказываться от производительности Java-кода.
Релиз книги намечен на июнь.
«
Scala Design Patterns» — еще одна книга для Scala-программистов, которая поможет использовать накопленные знания для создания приложений в реальной жизни — своего рода быстрое справочное руководство. В книге рассматривается возможность применения хорошо известных в отрасли стандартов шаблонов проектирования с указанием, когда именно требуется использовать выбранный шаблон, а когда следует искать что-то более подходящее.
Lua
Lua — скриптовый язык, разработанный в далеком 1993 г. сотрудниками Католического университета Рио-де-Жанейро. По возможностям Lua ближе к JavaScript, однако его отличают более мощные и гибкие конструкции. Он получил известность как язык программирования многих игр (в том числе и World of Warcraft), однако может применяться не только для игр, но и там, где требуется использование данных, хранящихся в других файлах.
Lua является одним из самых производительных скриптовых языков в мире. Он используется в таких проектах, как Redis, nginx, Tarantool, OpenRes.
Что почитать сейчас
Читайте классиков. «
Programming in Lua» (3-е издание) — книга, написанная одним из создателей языка Роберто Иерузалимски. Для разработчиков игр издание может стать настольной книгой. В ней рассматриваются практически все аспекты использования Lua, включая необходимые навыки по взаимодействию с С.
Один из самых простых способов изучить Lua вы найдете по этой ссылке:
Learn Lua in 15 Minutes.
Что почитать в будущем
К сожалению, на ближайшее время интересных анонсов нет. Относительно новая (по сравнению с другими изданиями) книга вышла в 2015 г. — «
Lua Game Development Cookbook». Начинающему гейм-девелоперу в этой книге будет полезно изучить концепцию простых 2D-игр, а затем перейти к современным 3D-проектам. Кроме того, возможности создания сценариев на языке Lua дадут вам полный контроль над игрой.
Однако книга эта не для новичков в Lua — понадобится знание языка, к тому же для создания пользовательских модулей Lua требуются знания С/С++.
Go
Роберт Гризмер, Роб Пайк и Кен Томпсон создали Go в 2007—2009 гг. Язык создавался с прицелом на решение проблем масштабных разработок ПО. Go должен был сделать процесс разработки более эффективным. В отличие от более академических языков программирования, в Go постарались убрать все лишнее. Благодаря лаконичности и простоте языка изучить его будет достаточно просто.
Области применения Go разнообразны. Так, пуш уведомлений во «ВКонтакте»
реализован на языке Go. На Go можно писать приложения для iOS и Android, и даже создавать собственную
криптовалюту. В общем, где именно использовать Go, вы решите для себя сами, тем более что изучать его можно и без хорошего знания английского языка — существует множество переводов и хорошая подборка статей в
хабе на Хабре.
Что почитать сейчас
Один из авторов этой книги — Брайан Керниган — настоящая легенда программирования. Он является одним из соавторов Unix, создателем множества программ под Unix, включая ditroff и cron, автором «The C Programming Language», написанной вместе с Деннисом Ричи в 1978 г.
На данный момент «
The Go Programming Language» — наиболее интересный учебник по языку Go. Изучать этот язык вам помогут хотя бы начальные знания JavaScript, Ruby, Python, Java или C++. В книге представлены сотни реальных примеров кода Go, охватывающих все нюансы языка, наиболее важные библиотеки, а также демонстрирующих широкий спектр использования языка.
Что почитать в будущем
Sau Sheong Chang, автор книги «
Go Web Programming», написал «Ruby on Rails Web Mashup Projects», «Cloning Internet Applications with Ruby» и еще несколько значимых книг о Ruby. Тем интереснее будет узнать, почему директор лаборатории и прикладных исследований HP Labs в Сингапуре начал писать проекты на Go после Ruby. В «Go Web Programming» рассматривается вопрос создания веб-приложения в Go с использованием современных принципов проектирования. Релиз намечен на 31 мая.
Rust
Rust — мультипарадигменный, функциональный, императивно-процедурный, объектно-ориентированный язык программирования, разрабатываемый с 2006 г. С 2009 г. над Rust работает команда Mozilla Research.
Rust объединяет производительность и безопасность компилируемых языков (С++, не уступая ему в возможностях) со скоростью разработки динамических языков (Python), при этом сохраняет определенный уровень аскетичности. Благодаря действиям большого и открытого сообщества разработчиков в Rust исправлены многие ошибки, допущенные при проектировании C++ и Java.
Что почитать сейчас
Rust продолжает стремительно меняться. Отставание в обучающих материалах на несколько месяцев может поставить ваши знания под угрозу. В обязательном порядке необходимо ознакомиться с официальной документацией — с
руководством (также известно как книга «The Rust Programming Language») и с
другой документацией.
Что почитать в будущем
Jim Blandy, автор «
Programming Rust», майнтенер GNU Emacs и GNU Guile, рассказывает об уникальных преимуществах Rust. В этой книге представлены примеры четкого и экономичного программирования, позволяющего избежать большого количества общих ошибок.
В декабре этого года выйдет книга «
Learning Rust», которая позволит C#/C++-разработчикам получить лучшее управление производительностью и памятью. В книге продемонстрированы возможности Rust при разработке крупного и масштабируемого ПО, а также рассмотрены основы языка, включая переменные, процедуры, управление памятью, etc. Прочитав эту книгу, вы сможете создавать сложные приложения в Rust.
Вместо заключения
Процесс смены парадигмы настолько медленный, что готовиться к неизбежному можно начинать прямо сейчас, не дожидаясь, пока ваш любимый язык программирования окончательно устареет. Никто не забудет про C++ уже завтра, но двигаться вперед и узнавать новое нужно уже сейчас. Плюсы выбранных нами языков в том, что их реально использовать в проектах сегодняшнего дня, не ограничиваясь сухой теорией. Вы можете сами попробовать один из перспективных языков и не разочаруетесь в полученном результате.