<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Memory-Safety on TrustLang</title>
		<link>https://trust-lang.net/ru/tags/memory-safety/</link>
		<description>Recent content in Memory-Safety on TrustLang</description>
		<generator>Hugo</generator>
		<language>ru</language>
		
		
		
		
			<lastBuildDate>Wed, 09 Sep 2026 15:37:53 +0300</lastBuildDate>
		
			<atom:link href="https://trust-lang.net/ru/tags/memory-safety/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Управление памятью и совместный доступ</title>
				<link>https://trust-lang.net/ru/docs/safety/memory/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/docs/safety/memory/</guid>
				<description>&lt;p&gt;Ни один способ управления памятью не является лучшим или универсальным: в разных условиях выигрывают разные подходы:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ручное управление памятью может делать всё, что угодно, кроме одного — гарантировать отсутствие ошибок.&lt;/li&gt;&#xA;&lt;li&gt;Анализ владения и заимствования на этапе компиляции позволяет доказать корректность кода без дополнительных&#xA;рантайм-проверок, но некоторые сценарии и алгоритмы не могут быть доказаны статически на этапе компиляции.&lt;/li&gt;&#xA;&lt;li&gt;Подсчёт сильных и слабых ссылок во время выполнения удобен для разделяемого владения, но имеет ненулевую&#xA;стоимость и не защищает от циклических и перекрёстных зависимостей.&lt;/li&gt;&#xA;&lt;li&gt;Сборка мусора упрощает работу со сложными циклическими структурами, но имеет самые дорогие накладные&#xA;расходы и недетерминированное выполнение.&lt;/li&gt;&#xA;&lt;li&gt;Ни один из перечисленных способов управления памятью не включает в себя вопросы межпотоковой&#xA;синхронизации доступа к памяти.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Поэтому выбирать только один способ управления памятью в языке программирования — это значит заранее ограничить его возможности и добавить лишние накладные расходы. Из этих соображений концепция управления памятью &lt;em&gt;TrustLang&lt;/em&gt; допускает расширение реализации модели управления памятью с минимальным влиянием на синтаксис языка и определяется требованиями (гарантиями) для работы с памятью.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Безопасность ПО</title>
				<link>https://trust-lang.net/ru/blog/safety/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/safety/</guid>
				<description></description>
			</item>
			<item>
				<title>Ахиллесова пята C&#43;&#43; и будущая  р̶е эволюция</title>
				<link>https://trust-lang.net/ru/blog/comparison/cpp-evolution/</link>
				<pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/comparison/cpp-evolution/</guid>
				<description>&lt;p&gt;Недавно я опубликовал мнение о фундаментальной экономической модели разработки ПО, которая не способствует (и объективно не должна способствовать) массовому переходу с C/C++ на «безопасные» языки программирования &lt;a href=&#34;https://trust-lang.net/ru/blog/comparison/code-safety-economy/&#34;&gt;Экономика безопасности кода или почему Rust не нужен&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Но чтобы оставаться честным перед читателями, решил опубликовать и статью-контраргумент с описанием обратной стороны медали, то есть почему C++ всё равно будет рано или поздно заменён, а заодно попробовать разобрать, каким будет новый язык программирования, который неминуемо придёт на смену C++.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Экономика безопасности кода или почему Rust не нужен</title>
				<link>https://trust-lang.net/ru/blog/comparison/code-safety-economy/</link>
				<pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/comparison/code-safety-economy/</guid>
				<description>&lt;p&gt;Прочитал статью  &lt;a href=&#34;https://habr.com/ru/articles/1018592/&#34;&gt;Параллелизм с общим состоянием в Rust&lt;/a&gt; и обратил внимание, что её общий смысл можно выразить известной фразой: &amp;ldquo;делай как нужно, а как не нужно, делать не нужно&amp;rdquo;. Другими словами, это точно такой же совет, какой можно дать разработчику любого другого языка программирования, например С++.&lt;/p&gt;&#xA;&lt;p&gt;И решил не продолжать дискуссию в комментариях, а выразить мнение в виде краткой статьи с описанием фундаментальной  экономической модели разработки ПО, которая не способствует (и объективно не должно способствовать) массовому переходу с C/C++ на «безопасные» альтернативы. Так как из-за особенностей распределения затрат у разработчика ПО отсутствует экономическая мотивация к полному устранению ошибок, и как следствие - к переходу на использование «безопасных» языков программирования.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Безопасность С&#43;&#43; и буридановы мыши в ИТ</title>
				<link>https://trust-lang.net/ru/blog/comparison/cpp-safety/</link>
				<pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/comparison/cpp-safety/</guid>
				<description>&lt;p&gt;В ИТ есть странная форма «информационной инерции»: когда фраза однажды удачно легла на реальность, стала цитатой, превратилась в маркер «своего» - и дальше продолжила жить сама по себе. Реальность уехала, практики сменились, инструменты стали другими, экономика разработки перевернулась, а штамп формулировки остался. И особенно охотно её повторяют те, кому нужно писать быстро и убедительно, но нет времени (или компетенции) разбирать в технических деталях.&lt;/p&gt;&#xA;&lt;p&gt;И проблема не в том, что старые тезисы изначально были бессмысленными. Проблема в том, что их продолжают подавать как вечные законы природы - без даты, без контекста и без поправок на то, что индустрия в корне изменилась.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Избавляемся от ошибок Segmentation fault из-за переполнения стека в С&#43;&#43;</title>
				<link>https://trust-lang.net/ru/blog/safety/stack-overflow/</link>
				<pubDate>Wed, 07 Jan 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/safety/stack-overflow/</guid>
				<description>&lt;p&gt;7 января в 14:53 2026&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://habr.com/ru/article/983394&#34;&gt;Fetching Title#4teb&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Развивая идею &lt;a href=&#34;https://trust-lang.net/ru/blog/safety/language-guarantees/&#34;&gt;доверенного языка программирования&lt;/a&gt; я пришел к выводу, что за счет ограничений синтаксиса и создания соответствующих проверок в статическом анализаторе кода, можно защититься практически ото всех технических ошибок, кроме двух - контроль динамически выделяемой памяти и переполнения стека.&lt;/p&gt;&#xA;&lt;p&gt;Причем, если для подсчета ссылок в рантайме, решения существуют, то контроль переполнения стека невозможно сделать не только во время анализа исходного текста программы, но это практически невозможно и во время выполнения приложения! Ведь ошибка переполнение стека (stack overflow) - это всегда фатально, так как не существует способа поймать и обработать эту ошибку изнутри выполняемой программы, чтобы потом продолжить её выполнение как ни в чем не бывало.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Возможное решение проблемы ссылок в языках программирования</title>
				<link>https://trust-lang.net/ru/blog/language-design/reference-solution/</link>
				<pubDate>Tue, 23 Apr 2024 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/reference-solution/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://habrastorage.org/webt/xl/4d/uy/xl4duyyseltgpsqlhu09_vp-zvk.jpeg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Любому программисту знакомо понятие &amp;ldquo;ссылка&amp;rdquo;. Под этим термином обычно понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, физически расположенному в другом месте. Из-за этого ссылки удобно использовать, они легко копируются, и с их помощью очень просто получить доступ к объекту, на который эта ссылка ссылается и можно получить доступ к одним и тем же данным из разных мест программы.&lt;/p&gt;&#xA;&lt;p&gt;К сожалению ссылки, точнее ручное управление памятью, является наиболее частой причиной  возникновения различных ошибок и уязвимостей в программном обеспечении. А все попытки автоматического управления памятью с помощью различных менеджеров упираются в необходимость контролировать создание и удаление объектов, а так же периодически запускать сборщик мусора, что отнюдь не положительно сказывается на производительности приложений.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
