Що читати про перспективних мовах програмування

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.

Що почитати зараз



Найкращою книгою з мови є офіційне видання від 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 (Узагальнення) і створив поточну версію 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 при розробці великого і масштабованого, а також розглянуто основи мови, включаючи змінні, процедури, управління пам'яттю, тощо. Прочитавши цю книгу, ви зможете створювати складні додатки у Rust.

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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.