У давно используемых языков, таких как Си и Java, есть масса достоинств, но у лучших современных языков программирования тоже немало преимуществ.
Например, они порой лучше подходят для конкретной задачи.
Некоторые из наиболее распространенных на сегодня языков, такие как Си, появившийся в 1972 году, и Python (1989), созданы десятилетия тому назад; другие наиболее популярные языки, в том числе Java, JavaScript и PHP, сложились в 1990-х. Таким образом, лучшие языки программирования, наиболее востребованные сегодня, родились давным-давно. Можно подумать, что более молодые языки бесполезны, однако это ошибочное мнение.
Новые языки программирования продолжают создаваться, в среднем появляется примерно по шесть в год https://www.quora.com/How-many-new-programming-languages-are-being-created-yearly. Вероятно, вы ничего не слышали о многих из них, но это не означает, что они не заслуживают внимания. В некоторых случаях они предпочтительнее уже давно зарекомендовавших себя языков.
Я предлагаю вашему вниманию обзор четырех самых полезных языков программирования, появившихся за последние 10 лет. Учтите, что речь пойдет именно о новых языках, а не новых версиях старых.
1. Go
Язык Golang, более известный как просто Go, был спроектирован специалистами Google для использования внутри компании. Проект стал общедоступным в 2009 году, а первая производственная версия выпущена в 2012 году.
Если охарактеризовать Go одним предложением, то можно сказать так: «Похож на Python, но быстрее и с лучшим параллелизмом». Как и Python, Go рассчитан на интенсивное использование функций, что позволяет разработчикам сравнительно быстро создавать мощную функциональность.
Однако, в отличие от Python, Go — компилируемый язык (технически Python также компилируется, но не в традиционном смысле). Как правило, это сокращает время выполнения программного кода. Кроме того, важной целью при проектировании Go было обеспечить удобный параллелизм (несколько задач могут выполняться одновременно). В большинстве других языков также реализован параллелизм, но благодаря таким функциям, как собственные встроенные подпрограммы, goroutine, проще реализовать высокоэффективный параллелизм в приложении Go. Это значимое преимущество в наш век микрослужб и многоядерных процессоров, когда нужно полностью использовать преимущества параллельных вычислений.
Если вам нравится Python, но хотелось бы, чтобы язык был чуть быстрее и больше соответствовал современной архитектуре приложений и инфраструктуре, попробуйте поработать с Go.
2. Swift
Язык Swift, созданный компанией Apple в 2010 году, вероятно, самый известный и наиболее широко применяемый язык программирования, появившийся за последние 10 лет. Его популярность выросла настолько быстро, что в 2015 году разработчики сообщества Stack Overflow назвали его (https://stackoverflow.com/research/developer-survey-2015#tech-super) любимым языком программирования.
И это неудивительно. В сущности, Swift — переработанный язык Objective-C из 1980-х, который широко использовался в экосистеме Apple до появления Swift. Swift отличается от Objective-C более простым синтаксисом и современными подходами к программированию, в частности протокол-ориентированным принципом, что частично устраняет утомительную рутинную работу (https://medium.com/ios-os-x-development/how-protocol-oriented-programming-in-swift-saved-my-day-75737a6af022), свойственную традиционному объектно-ориентированному программированию. Но вместе с тем поведение и облик Swift во многом похожи на Objective-C, а значит, программистам OS X и iOS не придется изучать новый язык, чтобы работать с ним.
В настоящее время Swift — обязательный язык для программистов, работающих с macOS (именно так компания Apple теперь называет свою операционную систему). Возможно, то же самое будет справедливо и для тех, кто строит приложения на платформах, принадлежащих Google, где теперь работает автор Swift. Как отмечалось выше, большинство разработчиков считают, что освоить и использовать язык довольно просто.
3. Hack
В целом Hack для PHP и Facebook — то же, что Swift для Objective-C и Apple. Точнее, Hack — альтернатива PHP, спроектированная с тем расчетом, чтобы уменьшить количество ошибок и упростить обслуживание базы кода. Так утверждают представители компании Facebook, выпустившей Hack (https://code.fb.com/developer-tools/hack-a-new-programming-language-for-hhvm/) в 2014 году. Один из основных приемов, используемых для этой цели, — поддержка одновременно статического и динамического ввода с клавиатуры. В PHP предусмотрен только динамический ввод.
В остальном же Hack очень похож на PHP — настолько, что программный код PHP в большинстве случаев может работать как код Hack.
Это означает, что если вам не нравится PHP (например, непомерно большое количество символов доллара, которое приходится вставлять в программный код), то вряд ли понравится и Hack. Но если PHP в целом устраивает и вам нужен лишь более простой способ отыскивать ошибки в коде PHP перед его развертыванием, то Hack может быть полезен.
4. Crystal
Еще один новый продукт, созданный по принципу «возьмите интерпретируемый язык и сделайте его лучше», — Crystal, выпущенный в 2011 году. В прошлом известный как Joy, Crystal многое заимствовал у Ruby.
В синтаксисе Crystal и Ruby много общего. Важное различие между ними в том, что Crystal — компилируемый язык, а Ruby — интерпретируемый.
Поэтому, если вам нравится Ruby и языки сценариев вообще, но вы хотели бы получить более высокую производительность компилируемого кода, Crystal подойдет как нельзя лучше.