Что читать о перспективных языках программирования

в 9:46, , рубрики: Go, Lua, Rust, scala, swift, Блог компании Mail.Ru Group, книги, книги по программированию, Программирование, разработка, языки программирования

image

Начнем с важной информации: совсем не обязательно перспективные языки являются новыми. Им не так много лет, как вашим любимым 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.

Что почитать сейчас

Что читать о перспективных языках программирования - 2

Лучшей книгой по языку является официальное издание от Apple — «Swift for Programmers». Книги известных преподавателей и программистов Харви Дейтела и Пола Дейтела в особом представлении не нуждаются — они славятся легким изложением материала любой сложности. «Swift for Programmers» содержит множество примеров реальных программ, которые помогут освоить азы создания собственных приложений. Обновленная версия книги вышла год назад.

Что читать о перспективных языках программирования - 3

Книга «Swift for Beginners: Develop and Design», вышедшая в 2014 г., не только рассказывает об основах Swift, но и знакомит со средой Xcode. Издание подойдет всем, кто обладает хотя бы минимумом знаний о программировании на любом языке высокого уровня и хочет научиться создавать программы для iOS, OS X или watchOS.

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

Что почитать в будущем

Что читать о перспективных языках программирования - 4

В «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.

Что почитать сейчас

Что читать о перспективных языках программирования - 5

Мартин Одерски, автор книги «Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition», является создателем языка Scala. Помимо этого, он разработал поддержку обобщенного программирования в Java (Generics) и создал текущую версию javac, компилятора Java.

В переводе с итальянского «scala» означает «лестница». Книга от Одерски определенным образом напоминает карабканье по лестнице: ступень за ступенью вы будете осваивать Scala, начиная с основных элементов и заканчивая дополнительными возможностями языка.

Вам также может пригодиться книга «Scala in Depth» (автор — Joshua D. Suereth). Конечно, во многих аспектах она уже устарела, но если вы собираетесь изучить паттерны и алгоритмы, можно рассчитывать на актуальность материалов.

Что читать о перспективных языках программирования - 6

«Scala in Action 1st Edition» — более свежий учебник (2013 г.). В нем содержится хороший обзор инструментов, расширяющих возможности языка. Подробно описаны и разобраны MongoDB, SBT, Scalaz, Squeryl, H2, jQuery UI, ScalaCheck, Specs, Akka, Lift, DSLs.

Что почитать в будущем

Что читать о перспективных языках программирования - 7

«Scala High Performance Programming» — это, по заверению авторов, первая книга, которая исследует возможности Scala по созданию высокопроизводительных приложений. Издание будет полезно разработчикам Scala, знающим Lift, а также Java-программистам, заинтересованным в переходе на Scala, но не желающим отказываться от производительности Java-кода.

Релиз книги намечен на июнь.

Что читать о перспективных языках программирования - 8

«Scala Design Patterns» — еще одна книга для Scala-программистов, которая поможет использовать накопленные знания для создания приложений в реальной жизни — своего рода быстрое справочное руководство. В книге рассматривается возможность применения хорошо известных в отрасли стандартов шаблонов проектирования с указанием, когда именно требуется использовать выбранный шаблон, а когда следует искать что-то более подходящее.

Lua

Lua — скриптовый язык, разработанный в далеком 1993 г. сотрудниками Католического университета Рио-де-Жанейро. По возможностям Lua ближе к JavaScript, однако его отличают более мощные и гибкие конструкции. Он получил известность как язык программирования многих игр (в том числе и World of Warcraft), однако может применяться не только для игр, но и там, где требуется использование данных, хранящихся в других файлах.

Lua является одним из самых производительных скриптовых языков в мире. Он используется в таких проектах, как Redis, nginx, Tarantool, OpenRes.

Что почитать сейчас

Что читать о перспективных языках программирования - 9

Читайте классиков. «Programming in Lua» (3-е издание) — книга, написанная одним из создателей языка Роберто Иерузалимски. Для разработчиков игр издание может стать настольной книгой. В ней рассматриваются практически все аспекты использования Lua, включая необходимые навыки по взаимодействию с С.

Один из самых простых способов изучить Lua вы найдете по этой ссылке: Learn Lua in 15 Minutes.

Что почитать в будущем

Что читать о перспективных языках программирования - 10

К сожалению, на ближайшее время интересных анонсов нет. Относительно новая (по сравнению с другими изданиями) книга вышла в 2015 г. — «Lua Game Development Cookbook». Начинающему гейм-девелоперу в этой книге будет полезно изучить концепцию простых 2D-игр, а затем перейти к современным 3D-проектам. Кроме того, возможности создания сценариев на языке Lua дадут вам полный контроль над игрой.

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

Go

Роберт Гризмер, Роб Пайко и Кен Томпсон создали Go в 2007—2009 гг. Язык создавался с прицелом на решение проблем масштабных разработок ПО. Go должен был сделать процесс разработки более эффективным. В отличие от более академических языков программирования, в Go постарались убрать все лишнее. Благодаря лаконичности и простоте языка изучить его будет достаточно просто.

Области применения Go разнообразны. Так, пуш уведомлений во «ВКонтакте» реализован на языке Go. На Go можно писать приложения для iOS и Android, и даже создавать собственную криптовалюту. В общем, где именно использовать Go, вы решите для себя сами, тем более что изучать его можно и без хорошего знания английского языка — существует множество переводов и хорошая подборка статей в хабе на Хабре.

Что почитать сейчас

Что читать о перспективных языках программирования - 11

Один из авторов этой книги — Брайан Керниган — настоящая легенда программирования. Он является одним из соавторов Unix, создателем множества программ под Unix, включая ditroff и cron, автором «The C Programming Language», написанной вместе с Деннисом Ричи в 1978 г.

На данный момент «The Go Programming Language» — наиболее интересный учебник по языку Go. Изучать этот язык вам помогут хотя бы начальные знания JavaScript, Ruby, Python, Java или C++. В книге представлены сотни реальных примеров кода Go, охватывающих все нюансы языка, наиболее важные библиотеки, а также демонстрирующих широкий спектр использования языка.

Что почитать в будущем

Что читать о перспективных языках программирования - 12

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») и с другой документацией.

Что почитать в будущем

Что читать о перспективных языках программирования - 13

Jim Blandy, автор «Programming Rust», майнтенер GNU Emacs и GNU Guile, рассказывает об уникальных преимуществах Rust. В этой книге представлены примеры четкого и экономичного программирования, позволяющего избежать большого количества общих ошибок.

Что читать о перспективных языках программирования - 14

В декабре этого года выйдет книга «Learning Rust», которая позволит C#/C++-разработчикам получить лучшее управление производительностью и памятью. В книге продемонстрированы возможности Rust при разработке крупного и масштабируемого ПО, а также рассмотрены основы языка, включая переменные, процедуры, управление памятью, etc. Прочитав эту книгу, вы сможете создавать сложные приложения в Rust.

Вместо заключения

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

Автор: Mail.Ru Group

Источник

Поделиться новостью

* - обязательные к заполнению поля