Rust Входит В Двадцатку Лучших Языков


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

В этом месяце вышел индекс TIOBE, и мы не собирались писать об этом в новостях, потому что на первый взгляд это скучно. Тройка лидеров, C, Java и Python, по-прежнему входят в тройку лидеров, но C отодвинул Java с первого места. Это лишь незначительно интересно, поскольку они настолько близки, что статистическая вариация вызовет такие свопы. Но если вы посмотрите на нижнюю часть таблицы, вы увидите новую запись — Ржавчина в позиции 20 по сравнению с 38.

Имейте в виду, что в абсолютном выражении награда не так уж велика — в 19 лет это классический Visual Basic, в 18-Scratch, который, как мы сообщали, снова вошел в топ-20 в апреле, а в 17-PL/SQL. Вряд ли существуют основные языки общего назначения. Вы можете видеть странный прогресс Ржавчины за десять лет:

Что вызвало пик и крах 2017 года?

Значит, ржавчина, похоже, вернулась на прежнее место? Не совсем, мы все, кажется, много вложили в ржавчину в эти дни. Люди, которые не знают языка, иногда будут ссылаться на него как на единственный способ написания безопасного кода. Конечно, это не единственный способ написать безопасный код, и даже если вы знаете и используете Rust, это не гарантирует, что ваш код будет безопасным. Это гарантия того, что вы будете тратить время на борьбу с правилами владения Rust, пока не узнаете, как правильно думать об этом.

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

Так почему же вера в Ржавчину?

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

структура MyStruct {    int номер;};

struct MyStruct *pStruct(void) {   struct MyStruct st; return &st;}

Эффект этого невинно выглядящего кода заключается в том, что у любого опытного программиста на языке Си волосы встают дыбом на затылке. Продвинутый новичок не видит ничего плохого — создайте структуру, верните указатель на структуру. Немного продвинулись в том, что мы работаем с указателями, адресами операторов и так далее — но совершенно учебник. За исключением, конечно, того, что все это происходит в функции и когда вы пишете:

struct MyStruct *ps = pStruct();

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

С прост в принципе, сложен и утончен в применении. Ржавчина не особенно проста в принципе или применении, но, как правило, если вы понимаете ее достаточно хорошо, чтобы вызвать проблему, вы знаете достаточно, чтобы реализовать решение.

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

Я не знаю, является ли Ржавчина ответом или нет. Я даже не уверен, что точно знаю, в чем заключается вопрос, но я рад, что мой любимый язык — при всех его болевых точках — номер один, а мой второй любимый язык, при всех его болевых точках, наконец — то вошел в двадцатку лучших.

Гарри Фэрхед-автор книги «Фундаментальный Си», в которой он подробно рассматривает Си для использования в любом близком к аппаратному контексте. Его другие книги включают Raspberry Pi IoT в C, Micro:bit IoT в C и, Применяя C Для Интернета вещей с Linux-это книга, которая вам нужна, если вы программируете для одноплатных компьютеров, работающих под управлением Linux, или если вы выполняете какое-либо кодирование на C, которое взаимодействует с оборудованием.


Добавить комментарий