Рубрика «системное программирование» - 19

Мое видение будущего D - 1 Когда Андрей Александреску покинул пост заместителя руководителя отдела языка программирования D, меня попросили взять на себя эту роль в будущем. Нет необходимости говорить об этом, но я все равно скажу, что эта шапка на меня великовата.
Я все еще вхожу в свою новую роль в обществе и выясняю, как я хочу действовать и что это вообще такое. Этот процесс происходит не в вакууме, так как Уолтер тоже с нами.

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

Рабочая группа rustup рада сообщить о выпуске новой версии, 1.20.0. Rustup — рекомендуемая утилита для установки Rust, языка программирования, позволяющего каждому создавать надёжное и эффективное программное обеспечение.

Если у вас уже установлен rustup, то для обновления до версии 1.20.0 вам достаточно выполнить следующую команду:

rustup self update

Также rustup автоматически обновляется после обычного обновления набора инструментов:

rustup update

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта.

Что нового в rustup 1.20.0

Изюминками данного выпуска являются поддержка профилей, возможность получить последний доступный nightly выпуск, имеющий все необходимые вам компоненты, и улучшения в команде rustup doc. Вы также можете посмотреть список изменений, чтобы узнать обо всех изменениях, включённых в этот выпуск.

Читать полностью »

Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?
Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.
Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?
На это я сказал, что всегда можно посмотреть открытые файл дескрипторы, например командой lsof и понять какое приложение заняло все доступное место, а дальше можно действовать по обстоятельствам, в зависимости от того, нужны ли данные.
Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?
«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».
«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».
Интервьюер остался доволен, а я нет.
Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать полностью »

Андрей Терехов (продолжение): «Когда говорят, что мы отстали от американцев навсегда, я отвечаю: „Не дождетесь!“» - 1

Вторая часть интервью с завкафедрой системного программирования Матмеха СПбГУ, доктором физмат наук, профессором, президентом компании «Ланит-Терком». Андрей Николаевич Терехов рассказал о создании кафедры матобеспечения ЭВМ и своих многочисленных учениках, языке PADLA, работе ассенизатора и технике бега в мешках.Читать полностью »

Rust в Microsoft (или cоздание Security Daemon Azure IoT Edge) - 1

Примечание от переводчика: Rust относительно молодой язык программирования, и на этом этапе развития всегда интересные опыты практического применения. Известно, что Intel, DropBox, Amazon, Facebook, Google и другие используют Rust в своих проектах. Про применение Rust в проекте от Microsoft было известно, но подробностей не было, и это вероятно первая официальная публикация про применение Rust в компании Microsoft. (технические детали по самому продукту приводятся «как есть», подробности уточняйте на сайте компании)

Azure IoT Edge — это кроссплатформенный программный проект с открытым исходным кодом, созданный группой разработчиков Azure IoT в Microsoft. Azure IoT Edge — “это служба Интернета вещей на основе Центра Интернета вещей. Эта служба предназначена для клиентов, которым необходимо анализировать данные не в облаке, а на пограничных устройствах. В результате перемещения части рабочей нагрузки в пограничную область устройства тратят меньше времени на отправку сообщений в облако и быстрее реагируют на события.” [взято из официальной русскоязычной документации (1) — прим. переводчика]

В этом посте объясняются некоторые причины, по которым мы выбрали Rust в качестве языка программирования для реализации компонента Security Daemon в продукте.
Читать полностью »

Привет! Представляю вашему вниманию перевод статьи "Learning Parser Combinators With Rust".

Эта статья учит основам комбинаторных парсеров людей, которые уже знакомы с Rust. Предполагается, что никаких других знаний не требуется, а всё, что не имеет прямого отношения к Rust, а также некоторые неожиданные аспекты его использования, будут объяснены. Эта статья не поможет вам выучить Rust, если вы его ещё не знаете, и в этом случае, вы, вероятнее всего, не поймёте комбинаторные парсеры хорошо. Если вы хотите изучить Rust, я рекомендую книгу "Язык программирования Rust".

Читать полностью »

Команда разработчиков Rust рада сообщить о выпуске новой версии, 1.38.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.

Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.38.0 вам достаточно выполнить следующую команду:

rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта.

Что вошло в стабильную версию?

Изюминка данного выпуска — конвейерная компиляция.

Читать полностью »

Андрей Терехов: «Можно сколько угодно говорить, что американское лучше, но наша машина никогда не ломается» - 1

Завкафедрой системного программирования Матмеха СПбГУ, профессор, доктор физмат наук, президент компании «Ланит-Терком» Андрей Николаевич Терехов — о том, как делал первый в СССР транслятор языков Алгол 68 и Ада, о силе обкома КПСС и рождении «Самсона», который никогда не ломался.Читать полностью »

Опровергаем четыре стереотипа о языке программирования Rust - 1

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

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

  1. Rust — сложный язык программирования
  2. Rust — ещё один "убийца C/C++"
  3. Unsafe губит все гарантии, предоставляемые Rust
  4. Rust никогда не обгонит C/C++ по скоростиЧитать полностью »

В предыдущей статье мы рассмотрели основы работы в защищенном режиме IA-32. Сегодня пришла пора научиться работать с виртуальным адресным пространством.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js