5 новых языков программирования, которые вы должны знать

Для некоторых людей изучение нового языка программирования является излишним, которого лучше избегать. Почему, о, они утверждают, нам нужен еще один язык?


Разве нам не хватает уже?

Разве существующие инструменты не делают работу??

И затем есть те неутомимые искатели, которые используют возможность попробовать что-то новое и наткнуться на драгоценные камни. Для них обучение является самоцелью, и им не нужно много убеждений, чтобы сжечь свои выходные, создавая консольную карточную игру на этом непонятном, новом языке.

Независимо от того, к какому лагерю вы принадлежите, что-то не подлежит обсуждению: мы все хотим тратить время на то, что будет иметь светлое будущее.

Для людей в старом лагере их любимый существующий язык уже обладает огромным импульсом и будет иметь светлое будущее. Им я должен напомнить, что их теперь уже зрелый инструмент для разработки был «kool-aid», который многие отказались пить. И так сегодня. новые технологии добавляются, чтобы решить новые проблемы или облегчить боль развития.

Если что-то делает это достаточно радикально, есть вероятность, что оно продолжит захватывать разум и достигать вершины. Когда это происходит, вы не хотите оставаться позади. ��

И для тех, кто любит бегать с блестящими вещами, предупреждение: веселье очень важно, как программист, но мы должны быть осторожны, чтобы не тратить свои силы бесцельно.

Конечно, Brainfuck это невероятно извращенный, похожий на головоломку, забавный маленький язык, но вряд ли вы выиграете, если будете серьезно к нему относиться. Вы хотите что-то новое, разумное и основательное.

Как были выбраны эти языки

Выбор языка – пугающая работа, особенно когда рассматриваются новые языки для будущей выгоды в трудоустройстве и удовлетворенности. Каждый автор языка твердо убежден, что он создал идеальный язык и решил все проблемы, на которые нужно ответить. Как тогда вы режете?

В этом посте я сосредоточился на нескольких параметрах, чтобы мой поиск не выходил за разумные рамки.

Дата выпуска

Я специально избегал языков, которые очень, очень новые.

Новый, я имею в виду языки менее 5-6 лет на момент написания, и особенно те, которые не достигли стабильности (то есть версия 1.0). Это, к сожалению, исключает некоторые реальные драгоценности, такие как кристалл, Но я надеюсь вернуться к этому и когда-нибудь написать о его успехе. ��

Фрагмент кода в Crystal («Быстро, как C, гладко, как Ruby»)

Для меня 5-12 лет – это самое приятное место, когда язык стабилизируется, и разрабатываются новые уточнения. Теперь, конечно, есть исключения из этого правила, и они будут рассмотрены, где это применимо.

Сильный интерес сообщества

Это легко и просто, но часто игнорируется, когда мы начинаем радоваться чему-то новому. Для многих людей поддержка крупной компании является достаточным прецедентом для успеха, но это не всегда так.

Да, Apple Objective-C и теперь Swift процветали, потому что это были единственные варианты в строго контролируемой экосистеме, но Facebook D а также мотыга (на мой взгляд, уродливый взгляд на и без того уродливый язык) остается чуть больше, чем эксперименты.

Идеальная комбинация – это язык, поддерживаемый крупной стабильной компанией и пользующийся популярностью (например, React).

Но главное в этом вопросе – сообщество. Если язык не создает ажиотажа и не хватает разработчиков для обучения и популяризации, он не собирается вылезать из могилы GitHub.

Для меня это исключает зрелые, увлекательные языки, такие как рэкет а также Erlang, так как они остались плоскими на кривой роста.

Сфокусированный, четко определенный USP

Третье, что я ищу, – это четкая цель языка. Например, лучшая версия PHP, которая исправляет проблемы с именами и компилирует в нативный PHP, не работает для меня.

Преимущества слишком малы, чтобы оправдать трещины, которые возникнут, если все попытаются перейти на него. По этому критерию я не могу не игнорировать такие попытки, как CoffeeScript, и многие другие похожие языки компиляции в JavaScript.

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

Четкий, последовательный синтаксис

Да, я знаю. Я только что сказал, что синтаксис не имеет значения. Ну, если быть точным, я сказал, что «только синтаксические улучшения» не имеют значения. Но, тем не менее, синтаксис остается одним из важных факторов производительности и удобства обслуживания программистов, поэтому он должен быть включен в мои расчеты здесь..

Наряду с синтаксисом приходит идея согласованности. Именование функций, структурирование модулей и т. Д. – это ключевые вещи, которые язык не может допустить, чтобы ошибиться. Ради Бога, наступил 2018 год, и другой дизайн, похожий на PHP, позорил бы всех нас. Итак, без лишних слов, давайте начнем с наших пяти лучших рекомендаций.

1. Юлия

Для людей из MIT языки, доступные для науки о данных, были в лучшем случае компромиссом. В Python, несмотря на всю его ясность и популярность, отсутствовали нативные конструкции для работы с объектами данных. Кроме того, будучи интерпретируемым языком, Python был медленным для них (не библиотеки, заметьте, поскольку они в основном написаны на C).

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

В результате, Юлия родился.

Юлия вышла на стабильный выпуск 29 сентября 2018 года, всего за несколько дней до написания этой статьи (поговорим о сроках!). Вот что официальный сайт говорит о своих возможностях:

Юлия отлично справляется с числовыми вычислениями. Его синтаксис отлично подходит для математики, поддерживается множество числовых типов данных, а параллелизм доступен прямо из коробки. Многократная отправка Джулии – это естественное соответствие для определения числовых и массивообразных типов данных.

Синтаксически, Юлию можно рассматривать как комбинацию Python и C. Да, это, вероятно, первый раз, когда язык нацелен на оба эти качества и добился успеха.

Чтобы не усложнять ситуацию, Джулия не требует строгой типизации, но все же работает быстро. Вот несколько тестов:

Официальные отметки Юлии

Как вы можете видеть, Джулия немного хуже, чем С, но уносит Java и Python из воды. А что за конфетка для глаз предлагает Юлия??

Итак, вот реализация функции для вычисления гипотенузы прямоугольного треугольника:

Наконец, пока большая часть Юлии экосистема сильно склонен к математической работе, я верю, что у него светлое будущее общего назначения.

Насколько мне известно, это первый язык с первоклассной поддержкой параллельных вычислений, поэтому неудивительно, что он приобретает все большую популярность в доменах Интернета и IoT..

2. Ржавчина

Если вы пробовали новые версии браузера Firefox, вы знаете, что, наконец, после многих лет работы, похоже, что они могут отобрать у Chrome некоторую долю рынка.

Если браузер выглядит легким, быстрым и рендерится быстро, это все благодаря языку, специально разработанному Mozilla: Ржавчина.

Сказать, что у Rust светлое будущее, будет ложью; язык уже пользуется огромным успехом, и если вы еще не слышали о нем, то это потому, что его область применения специализирована, а его цель страшна: замена C ++! Да, у нас наконец есть язык, который не только способен это сделать, но уже делает это.

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

Вот как выглядит программа Rust:

Краткий и элегантный, на мой взгляд. Rust следует принципу функционального программирования, который делает ваш код более компонованным, и нет никаких объектно-ориентированных иерархий, с которыми приходится бороться.

Итак, что дает Rust смелость идти за C ++? Это новая модель памяти. Вместо того, чтобы полагаться на старый танец new () / delete (), Rust вводит идею владения.

Вместо того, чтобы выделять и обращаться к памяти напрямую, переменные Rust «заимствуют» друг у друга со строгими ограничениями, установленными компилятором. Общая концепция слишком сложна для объяснения в нескольких словах, так что не стесняйтесь проверить официальные документы Узнать больше.

Дело в том, что это обеспечивает 100% безопасность памяти без необходимости сборщика мусора, что является большой проблемой.

Rust покорил мир системного программирования. Он уже поддерживается на некоторых платформах, мощные браузеры и механизмы рендеринга быстро заменяют код C / C ++ в производственных системах и используются для написания операционных систем..

Конечно, не каждый может создать еще один браузер или драйвер устройства, но Rust уже распространяется на другие домены. У нас уже есть несколько полнофункциональных, смехотворно быстрых веб-фреймворков в Rust, и разрабатывается все больше и больше библиотек приложений..

Честно говоря, если вас интересует захватывающее будущее, Rust – идеальный язык, а сейчас – идеальное время. Ржавчина – это взлетевший самолет, но у него еще есть время взлететь на борт, направляясь к звездам.!

Учить Руст от Дмитрия Нестерука.

3. Эликсир

Среди языков, ориентированных на счастье разработчиков, первое место было зарезервировано за Ruby. Это язык, который читается как поэзия и имеет достаточно быстрых клавиш, чтобы уменьшить умственные трения на порядок.

Неудивительно, что инфраструктура Rails продолжает доминировать в разработке полного стека для серьезных разработчиков и стартапов. Но не все были довольны Rails, особенно один из его основных разработчиков – Хосе Валим. Я думаю, что сам создатель лучше всего объясняет происхождение этого языка в интервью:

Это длинная история, но я постараюсь сделать ее короткой и приятной. Еще в 2010 году я работал над повышением производительности Rails при работе с многоядерными системами, поскольку наши машины и производственные системы поставляются с большим количеством ядер. Тем не менее, весь этот опыт был довольно разочаровывающим, поскольку Ruby не предоставляет надлежащий инструмент для решения проблем параллелизма. Именно тогда я начал изучать другие технологии и влюбился в виртуальную машину Erlang..

Я начал использовать Erlang все больше и больше, и с опытом я заметил, что мне не хватает некоторых конструкций, доступных на многих других языках, включая функциональные. Именно тогда я решил создать Elixir, как попытку привнести различные конструкции и отличные инструменты на вершине Erlang VM..

И вот, Эликсир родился!

Так же, как Scala улучшает язык Java, но ориентируется на ту же виртуальную машину (JVM), Elixir также использует преимущества проверенной в бою виртуальной машины Erlang, созданной десятилетиями..

Теперь обсуждение Erlang выходит за рамки этой статьи, но минимум, который вы должны знать, это то, что это самый большой секрет индустрии телекоммуникаций: если наши телефонные сети намного надежнее наших веб-систем, то все это благодаря Erlang.

Проще говоря, это означает следующее. Если вы создаете систему реального времени, такую ​​как чат, Elixir намного, намного менее требователен к оперативной памяти и стабилен, чем Ruby (или PHP, Python и Java, если на то пошло).

Машина, которая работает на Ruby и использует, скажем, 10 000 одновременных подключений, может легко обрабатывать 200 000 при использовании Elixir и при этом иметь достаточно оперативной памяти для запуска 2D-игр!

Кодовый фрагмент эликсира

Синтаксически, Elixir беззастенчиво копирует Ruby, а его доминирующий веб-фреймворк Phoenix беззастенчиво копирует Rails. Я бы сказал, что это тоже хорошо, потому что вместе с Laravel, Grails, Masonite и т. Д. Мы достигли точки, когда все языки имеют Rails-подобные фреймворки, которые могут облегчить переход. Некоторые могут посмеяться над «отсутствием оригинальности», но, по крайней мере, я не жалуюсь.

в заключение, Эликсир является одной из тех технологий, которые являются освежающими, приятными и чертовски практичными. Несколько магазинов Ruby (и даже не Ruby) переходят на Elixir, и крупные компании, такие как Pinterest, используют его в производстве с чрезвычайно удовлетворительными результатами..

Многие люди думают, что Node.js был импровизированной попыткой параллелизма и вскоре будет заменен Elixir. Я должен сказать, что согласен с ними. ��

4. Котлин

В 2017 году ввод / вывод Google выпустил бомбу на ничего не подозревающую толпу. Компания официально объявила Котлин в качестве основного языка для разработки Android, отправляя ударные волны по всей отрасли.

Теперь, когда Google активно ищет замену Java, неудивительно, что его укусил иск Oracle; тем не менее, принятие Kotlin было несколько неожиданным, и есть все еще хороший шанс, что Google скоро выпустит свою виртуальную машину. В настоящее время, однако, Котлин наслаждается волной.

Kotlin был разработан JetBrains, компанией, более известной своим набором безумно хороших редакторов кода. Один из них, IntelliJ IDEA, является основой Android Studio. Цели проекта Kotlin – безопасность, краткость и 100% совместимость с Java.

Больше всего на свете компилятор Kotlin работает очень усердно, чтобы исключить любые исключения с нулевым указателем, которые так распространены в мире Java. Это также немного уменьшает общеизвестное многословие Java, которое станет облегчением для многих.

Вот замечательное сравнение кода между Java и Kotlin:

Изображение предоставлено: hype.codes

Код Kotlin значительно короче и намного меньше когнитивной перегрузки, чтобы пахать через.

Но давайте проясним одну вещь: Kotlin вряд ли заменит Java, хотя быстро становится фаворитом. Я полагаю, что через десять лет малые и средние команды не будут смотреть дальше, чем Kotlin, в то время как большие группы продолжат использовать Java исключительно по старым причинам..

Тем не менее, у Kotlin очень светлое будущее, поскольку он делает все, что делает Java, может сливаться с кодом Java, не замечая этого, и гораздо приятнее.!

5. TypeScript

Бог знает, я должен был сдерживать себя для этого места! Все внутри меня кричало: «Вяз! Вяза! », Но независимо от того, насколько революционны его идеи или насколько божественен синтаксис, Вяза еще предстоит увидеть в качестве основной альтернативы для фронт-энда. �� В любом случае, давайте перейдем к тому, что является основным: TypeScript.

JavaScript подобен лесным ягодам: уродлив и неприятен, но его нужно переварить, если вы хотите выжить в джунглях внешнего интерфейса. Было предпринято много попыток заменить его (и, скорее всего, новый стандарт WebAssembly будет успешным), но что действительно привлекло всеобщее внимание, так это суперсет, разработанный Microsoft.

Есть прекрасные шансы, о которых вы слышали МашинописьAngular был первым фреймворком, который охватил его начиная с версии 2, и люди быстро заметили это. Это потому, что TypeScript добавляет некоторые столь необходимые и фантастические суперспособности к самому известному языку программирования в мире..

Да, наконец-то можно писать собственный код JavaScript без страданий и проклятий!

Вот улучшения, которые TypeScript вносит в таблицу:

✓ Сильный набор текста: Наконец, строка не является числом, а число не является объектом, который не является пустым массивом!

✓ Проверка типов во время компиляции: Если ваш код компилируется правильно, он более или менее гарантированно свободен от бредов во время выполнения JavaScript.

✓ Классы и модули: Да, классы являются стандартными в ES6, но они также включены в TypeScript, помимо аккуратной модульной системы.

✓ Тип вывода: Для сложных типов тип может быть легко определен компилятором, что избавит вас от головной боли.

✓ Асинхронный / жду: Ключевые слова и шаблоны async / await являются основополагающими, поэтому больше не нужно возиться с обещаниями и обратными вызовами!

Пространства имен, дженерики, кортежи. , , Я мог бы продолжать и продолжать, но достаточно сказать, что TypeScript превращает одну из худших разработок в одну из лучших.

Фрагмент кода TypeScript

Влияние TypeScript нельзя отрицать. Он вытолкнул с поля подобные попытки, такие как Google Dart (хотя он пытается вернуться через Flutter, среду разработки мобильных приложений), и открыл глаза разработчикам JS на преимущества более сильных типов..

В результате такие важные библиотеки, как React, D3, Vue (даже jQuery!) Теперь имеют версию TypeScript, а в лучших магазинах программного обеспечения по всему миру весь код JavaScript пишется как код TypeScript. Заголовки TypeScript теперь доступны и для Node.js (если честно, если узел может улучшить свою историю параллелизма и исправить свое паршивое управление памятью, он будет длиться вечно).

Вы можете быть удивлены, узнав, что создатель Node.js, после публичного Сожалея его творение, работает над новое время выполнения (официального сайта пока нет; только репозиторий GitHub), основным языком которого является TypeScript.

Лучшие новости? TypeScript это маленький язык для изучения со значительными выгодами в будущем. Если вы являетесь средним разработчиком JavaScript, вы получите достаточно TypeScript в течение двух дней, чтобы портировать весь существующий код!

Заключение и отказ от ответственности

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

  • Голанг: Уже признан основным, если не очень популярным языком. Я верю, что на данный момент у Golang есть несколько конкурентов, которые будут держать свою долю рынка на низком уровне..
  • R: R уже популярен среди исследователей данных, и вряд ли он сильно привлечет разработчиков приложений. Кроме того, мы не должны забывать, что библиотеки машинного обучения постепенно проникают во все основные языки (ради бога, даже в PHP они есть сейчас!), Поэтому все, что вам нужно сделать, это подождать некоторое время. ��
  • Swift: Apple имеет железную хватку в своей экосистеме, и Swift – единственный доступный язык. Без сомнения, ранее Цель C была яростью, как и Свифт сейчас. Я считаю, что это обман и поэтому отказываюсь включать это здесь. ��

Будущее всегда неопределенно, и один из способов продолжить свою карьеру – придерживаться того, что уже работает, и отказываться отвлекаться. Если вы сделаете это, Java, PHP, Python, Ruby и т. Д., Все это отличные языки, чтобы придерживаться. Однако для некоторых из нас нормы недостаточно. Они хотят пойти и исследовать и делать большие ставки на будущее. Если вы попадете в последний лагерь, один из этих пяти языков должен быть в верхней части вашего списка дел.

Наконец, пытаясь оценить язык, не позволяйте приложенным усилиям ошеломить вас, потому что это не так уж много. Если вы уже знаете несколько языков программирования, вы можете выучить любой из них в течение максимум двух месяцев, тратя 5-6 часов в неделю. Тогда как счастье и денежные доходы, которые могут быть получены в будущем, будут в несколько раз больше.

Я пропустил какой-то критический язык здесь? Или, может, у меня что-то не так с языками, перечисленными здесь? Если это так, пожалуйста, оставьте комментарий и помогите мне улучшить. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map