Pull to refresh
0
0

User

Send message

Как самый недооценённый контрибьютор спасал язык Rust от смерти

Reading time6 min
Views24K

Дэйв Херман, самый недооценённый контрибьютор Rust

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

Я считаю, что язык Rust сейчас явно на подъёме. Вспоминаю, как много нужно было сделать правильно, чтобы достичь успеха. Команда неоднократно принимала судьбоносные решения, в которых не была полностью уверена. Каждое неверное решение могло привести проект к провалу. Иногда мы просто не знали правильный ответ. Но в каждой такой ситуации как будто происходило маленькое чудо, и проект двигался дальше. Конечно же, эти «чудеса» происходили не на пустом месте: нас выручала интуиция нескольких очень опытных профессионалов, которые горели проектом и действительно хотели создать что-то крутое.

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

Mozilla Research


К 2009 году Mozilla получила крупную сумму денег от прибыльной сделки с Google (он стал поисковиком по умолчанию в браузере Firefox). И, насколько я понял, именно в этот момент руководство Mozilla решило вложить деньги в новые проекты.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments2

Понимаем красно-черное дерево. Часть 1. Введение

Reading time5 min
Views42K

Довольно долгое время я воевал с красно-черным деревом. Вся информация, которую я находил, была в духе "листья и корень дерева всегда черные, ПОТОМУ ЧТО", "топ 5 свойств красно-черного дерева" или "3 случая при балансировке и 12 случаев при удалении ноды". Такой расклад меня не устраивал.

Мне не хотелось заучивать свойства дерева, псевдокод и варианты балансировки, я хотел знать: почему. Каким образом цвета помогают при балансировке? Почему у красной ноды не может быть красного потомка? Почему глубину дерева измеряют "черной высотой"?

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

Эта статья разделена на 3 логические части. Я рекомендую прочитать их в указанном порядке. Первая часть (данная) будет направлена на введение в кчд и знакомство с ним. Во второй части мы поговорим о балансировке и вставке в кчд. В третьей, завершающей, части мы разберем процесс удаления ноды. Наберитесь терпения и приятного чтения.

Читать далее
Total votes 32: ↑31 and ↓1+30
Comments6

Современный C++ нас не спасет

Reading time5 min
Views22K

Я часто критикую небезопасные при работе с памятью языки, в основном C и C++, и то, как они провоцируют необычайное количество уязвимостей безопасности. Моё резюме, основанное на изучении доказательств из многочисленных крупных программных проектов на С и С++, заключается в том, что нам необходимо мигрировать нашу индустрию на безопасные для памяти языки по умолчанию (такие как Rust и Swift). Один из ответов, который я часто получаю, заключается в том, что проблема не в самих С и С++, разработчики просто неправильно их готовят. В частности, я часто получаю в защиту C++ ответ типа: "C++ безопасен, если вы не используете унаследованную от C функциональность" [1] или аналогичный, что если вы используете типы и идиомы современного C++, то вы будете застрахованы от уязвимостей типа повреждения памяти, которые терзают другие проекты.

Хотелось бы отдать должное умным указателям С++, потому что они существенно помогают. К сожалению, мой опыт работы над большими С++ проектами, использующими современные идиомы, заключается в том, что этого даже близко недостаточно, чтобы остановить наплыв уязвимостей. Моя цель на оставшуюся часть этой заметки - выделить ряд совершенно современных идиом С++, которые порождают уязвимости.

Читать далее
Total votes 52: ↑32 and ↓20+12
Comments313

«Котовий брызгатрон» — или боевая турель против кота ^_^

Reading time5 min
Views72K

Предыстория: у меня есть пожилая мать, которая живет в другом городе. И лечит свои недуги с помощью алоэ. Метод хорошо помогает - и она постоянно сажает новые ростки, взамен потраченных. У нее проживают 2 представителя хвостатой фауны: Кузя и Марек (кот и кошечка). Почему кошечка стала вдруг "Мареком" - долгая история. Вкратце обозначим причину как "потому что так сложились звезды". То бишь, сделаем допущение, что Cat cat = new Cat ("Марек")...

Читать далее
Total votes 156: ↑150 and ↓6+144
Comments186

Information

Rating
Does not participate
Location
Алтайский край, Россия
Date of birth
Registered
Activity