<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Programming-Languages on TrustLang</title>
		<link>https://trust-lang.net/ru/tags/programming-languages/</link>
		<description>Recent content in Programming-Languages 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/programming-languages/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Статьи</title>
				<link>https://trust-lang.net/ru/blog/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/</guid>
				<description></description>
			</item>
			<item>
				<title>Если вы думаете, что знаете, чем отличается «Expression» от «Statement», то, скорее всего, вы ошибаетесь</title>
				<link>https://trust-lang.net/ru/blog/language-design/expression-statement/</link>
				<pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/expression-statement/</guid>
				<description>&lt;p&gt;Я занимаюсь изучением &lt;a href=&#34;https://trust-lang.net/ru/blog/comparison/cpp-rust-vs-python/&#34;&gt;синтаксиса языков программирования&lt;/a&gt; и пытаюсь отделить фундаментальные закономерности от исторических случайностей. Одна из таких случайностей - почти повсеместное использование терминов &lt;strong&gt;выражение&lt;/strong&gt; (expression) и &lt;strong&gt;инструкция&lt;/strong&gt; (statement) при описании и классификации синтаксиса языков программирования.&lt;/p&gt;&#xA;&lt;p&gt;Интуитивно кажется, что &lt;code&gt;2 + 2&lt;/code&gt; и &lt;code&gt;if (x) { foo(); }&lt;/code&gt; - это совершенно разные сущности, но при более глубоком анализе оказывается, что подобное разделение искусственное и возникло из-за архитектурных особенностей вычислительных машин почти полвека назад и с тех пор просто «переходит» из языка в язык.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Почему C&#43;&#43; или Rust никогда не смогут заменить Python</title>
				<link>https://trust-lang.net/ru/blog/comparison/cpp-rust-vs-python/</link>
				<pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/comparison/cpp-rust-vs-python/</guid>
				<description>&lt;p&gt;На Хабре периодически появляются статьи с анализом феномена Python - как один из самых медленных языков программирования стал королём нейросетей, и ответ всегда один: за счёт простого синтаксиса и развитой экосистемы. Но экосистема у C++ значительно больше и богаче, значит, дело не в ней и остаётся только синтаксис. А если проблема действительно в синтаксисе, тогда должен быть ответ и на другой вопрос: почему C++ &lt;strong&gt;не&lt;/strong&gt; стал основой для исследований в этой (или любой другой) области?&lt;/p&gt;</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>Обобщённое программирование в разных языках</title>
				<link>https://trust-lang.net/ru/blog/comparison/generics/</link>
				<pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/comparison/generics/</guid>
				<description>&lt;p&gt;Обобщённое программирование (generic programming) - парадигма, позволяющая описывать алгоритмы и структуры данных в абстракции от конкретных типов. Несмотря на единую концепцию, каждый язык реализует её по-своему: через шаблоны, параметрический полиморфизм, стирание типов или утиную типизацию. В данной статье проводится детальный анализ механизмов обобщённого программирования в восьми языках - C++, Java, C#, Python, Rust, Haskell, TypeScript, Julia - с оценкой сильных и слабых сторон каждого подхода и сравнительным итогом.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;1-введение&#34;&gt;1. Введение&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#1-%d0%b2%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d0%b5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Идея обобщённого программирования восходит к работам Александра Степанова и Дэвида Мусера в конце 1980-х годов. Её суть - отделение алгоритмов от конкретных типов данных при сохранении типовой безопасности и управляемой производительности. На практике разные языки решают эту задачу через разные механизмы:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Размышления о машине Тьюринга и причинах возникновения ошибок в языках программирования</title>
				<link>https://trust-lang.net/ru/blog/theory/turing-machine/</link>
				<pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/theory/turing-machine/</guid>
				<description>&lt;p&gt;Пару лет назад я написал статью &lt;a href=&#34;https://trust-lang.net/ru/blog/theory/structured-programming/&#34;&gt;Размышления о структурном программировании&lt;/a&gt;, в которой пытался разобраться с заблуждением, будто Эдсгер Дейкстра доказал, что любой алгоритм можно построить всего из трех конструкций (следования, ветвления, цикла). Тогда как на самом деле:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Эту теорему доказали (с условиями и ограничениями) итальянские ученые &lt;strong&gt;Бём и Якопини&lt;/strong&gt;, а Дейкстра лишь ссылался на неё.&lt;/li&gt;&#xA;&lt;li&gt;Трех указанных базовых алгоритмических конструкций &lt;strong&gt;недостаточно&lt;/strong&gt; для современного программирования (например, требуется обработка исключений).&lt;/li&gt;&#xA;&lt;li&gt;Знаменитая критика оператора &lt;code&gt;goto&lt;/code&gt; от Дейкстры (а также оператора присвоения, о чем всегда забывают рассказать) была не строгим запретом, а всего лишь &lt;strong&gt;рекомендацией по улучшению стиля кода&lt;/strong&gt;, чтобы программы было легче анализировать.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;А вот теперь настало время написать про некоторые проблемы машины Тьюринга - фундаментальной основы всех информационных технологий.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Гарантии языка программирования как основа безопасной разработки программного обеспечения</title>
				<link>https://trust-lang.net/ru/blog/safety/language-guarantees/</link>
				<pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/safety/language-guarantees/</guid>
				<description>&lt;p&gt;Ошибки при составлении программ для ЭВМ появились даже раньше, чем были придуманы самые первые языки программирования. Собственно, языки программирования и были придуманы как раз для того, чтобы программы писались проще, а количество ошибок в них было как можно меньше.&lt;/p&gt;&#xA;&lt;p&gt;Для уменьшения количества ошибок было разработано множество методов, включая создание специализированных инструментов анализа исходного кода и даже целых языков программирования.&lt;/p&gt;&#xA;&lt;p&gt;Но по прошествии многих десятилетий проблема чисто технических ошибок в программном обеспечении так и остаётся нерешённой по сей день, однако подход, предложенный в языке Rust, меняет всё.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Строительные блоки языков программирования</title>
				<link>https://trust-lang.net/ru/blog/language-design/building-blocks/</link>
				<pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/building-blocks/</guid>
				<description>&lt;p&gt;В результате обратной связи по статье с &lt;a href=&#34;https://trust-lang.net/ru/blog/theory/structured-programming/&#34;&gt;размышлениями о структурном программировании&lt;/a&gt;, было много отзывов и споров в комментариях, за которые я хочу сказать всем большое спасибо.&lt;/p&gt;&#xA;&lt;p&gt;И под впечатлениями от обсуждения предыдущей статьи я задался вопросом, а существует ли минимальный набор лексем, операторов или синтаксических конструкций, с помощью которых можно построить произвольную грамматику для современного языка программирования общего назначения?&lt;/p&gt;&#xA;&lt;h2 id=&#34;ведение&#34;&gt;Ведение&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d0%b5&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Практически все языки программирования строятся либо по принципу подобия (сделать как вот этот, только со своим блекждеком), либо для реализации какой-то новой концепции (модульность, чистота функциональных вычислений и т.д.). Либо и то и другое одновременно.&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>
			<item>
				<title>Новый язык программирования</title>
				<link>https://trust-lang.net/ru/blog/language-design/trust-lang/</link>
				<pubDate>Fri, 18 Feb 2022 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/trust-lang/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://trust-lang.net/ru/blog/langs.jpeg&#34; alt=&#34;КДПВ&#34;&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;&#xA;&lt;p&gt;Внимание!!!&lt;/p&gt;&#xA;&lt;p&gt;Данная статья содержит описание синтаксиса NewLang предыдущей версии.&lt;/p&gt;&#xA;&lt;p&gt;Актуальную версию синтаксиса языка можно посмотреть &lt;a href=&#34;https://trust-lang.net/ru/docs/&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Более года назад я начал публикацию статей с описанием особенностей нового языка программирования.&#xA;С тех пор утекло много воды, было протестировано множество идей, в итоге несколько раз все поменялось кардинальным образом&#xA;и сейчас представляю на суд читателей описание предфинальной версии языка и его особенностей.&lt;/p&gt;&#xA;&lt;p&gt;Данная статья предназначена в первую очередь для проверки основных концепций нового языка программирования, а также для получения обратной связи от читателей Хабра.&#xA;Ведь согласно наблюдению &lt;a href=&#34;https://habr.com/ru/post/539674/&#34;&gt;Хабр-ума палата&lt;/a&gt;, не замыленный взгляд со стороны очень сильно помогает в проработке новых идей.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Необычная концепция синтаксиса языка программирования</title>
				<link>https://trust-lang.net/ru/blog/language-design/unusual-prog/</link>
				<pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/unusual-prog/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://trust-lang.net/ru/blog/langs.jpeg&#34; alt=&#34;КДПВ&#34;&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;&#xA;&lt;p&gt;Внимание!!!&lt;/p&gt;&#xA;&lt;p&gt;Данная статья содержит описание синтаксиса NewLang предыдущей версии.&lt;/p&gt;&#xA;&lt;p&gt;Актуальную версию синтаксиса языка можно посмотреть &lt;a href=&#34;https://trust-lang.net/ru/docs/&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Хочу представить на обсуждение читателей немного необычный концепт языка программирования, в котором отсутствует проблема,&#xA;присущая практически всем промышленным языкам -  постоянное увеличение сложности синтаксиса языка из-за его естественного развития по мере выхода новых версий и добавления новых фич.&#xA;Эта проблема описана в статье &lt;a href=&#34;https://trust-lang.net/ru/blog/programming/complex-prog/&#34;&gt;&amp;ldquo;Простое сложное программирование&amp;rdquo;&lt;/a&gt; и &lt;a href=&#34;https://trust-lang.net/ru/blog/language-design/lang-final/&#34;&gt;Какая &amp;ldquo;идеальная&amp;rdquo; цель развития у языков программирования?&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;После нескольких экспериментов с синтаксисом, хочется проверить выработанную идею на широкой аудитории &lt;a href=&#34;https://habr.com/ru/companies/timeweb/articles/558738/&#34;&gt;Хабра&lt;/a&gt;, которая как нельзя лучше подходит для этих целей.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Какая «идеальная» цель развития у языков программирования?</title>
				<link>https://trust-lang.net/ru/blog/language-design/lang-final/</link>
				<pubDate>Wed, 07 Apr 2021 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/lang-final/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://trust-lang.net/ru/blog/language-design/lang-final/lang-final.jpeg&#34; alt=&#34;КДПВ&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;С постоянной периодичностью появляется информация о выходе новой версии того или иного языка программирования.&#xA;И с каждой новой версией расширяются его возможности, добавляются новые синтаксические конструкции или иные улучшения.&lt;/p&gt;&#xA;&lt;p&gt;И это очень сильно напоминает развитие технологий, как и в любой другой области техники.&#xA;Когда с очередным этапом совершенствуются создаваемые творения.&#xA;Быстрее, выше, сильнее … и одновременно значительно сложнее.&lt;/p&gt;&#xA;&lt;p&gt;Об этой проблеме меня заставила задуматься первоапрельская статья &lt;a href=&#34;https://habr.com/ru/post/550270/&#34;&gt;«Доказательное программирование»&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Понятно, что дата публикации статьи говорит сама за себя.&#xA;Тем не менее, новые стандарты С++, постоянно выходящие спецификации Java или новый синтаксис у PHP 8,&#xA;невольно заставляют задуматься, а в нужную ли сторону идет развитие языков программирования?&#xA;Ведь большинство нововведений добавляют сложность в основной рабочий инструмент и решая одни проблемы, неявно добавляя множество других.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Проблема логических языков программирования</title>
				<link>https://trust-lang.net/ru/blog/theory/logic-prog/</link>
				<pubDate>Sat, 09 Jan 2021 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/theory/logic-prog/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://trust-lang.net/ru/blog/langs.jpeg&#34; alt=&#34;КДПВ&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Некоторое время назад я писал про &lt;a href=&#34;https://trust-lang.net/ru/blog/language-design/inter-prog/&#34;&gt;«Интернациональное программирование на естественных языках»&lt;/a&gt;,&#xA;в которой попытался представить достойную цель для абстрактного языка программирования,&#xA;попробовав примерить на него роль связующего звена между миром программистов с компьютерами и не программистов.&lt;/p&gt;&#xA;&lt;p&gt;Но в результате оказалось, что это не нужно в принципе, т.к. «не программистам» просто не требуется учиться писать программы.&#xA;А если иногда такое желание и возникает, то вполне хватает обычных формализованных языков программирования,&#xA;которых уже сейчас насчитывается наверно более десяти тысяч.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Интернациональное программирование на естественных языках</title>
				<link>https://trust-lang.net/ru/blog/language-design/inter-prog/</link>
				<pubDate>Sat, 05 Dec 2020 00:00:00 +0000</pubDate>
				<guid>https://trust-lang.net/ru/blog/language-design/inter-prog/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://trust-lang.net/ru/blog/langs.jpeg&#34; alt=&#34;КДПВ&#34;&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;pageinfo pageinfo-primary&#34;&gt;&#xA;&lt;p&gt;Внимание!!!&lt;/p&gt;&#xA;&lt;p&gt;Данная статья содержит описание синтаксиса NewLang предыдущей версии.&lt;/p&gt;&#xA;&lt;p&gt;Актуальную версию синтаксиса языка можно посмотреть &lt;a href=&#34;https://trust-lang.net/ru/docs/&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;В последнее время часто попадаются на глаза статьи о новых языках программирования,&#xA;а так же различные рейтинги и прогнозы, связанные с популярностью компьютерных языков.&lt;/p&gt;&#xA;&lt;p&gt;Заявляют о себе и новые &lt;a href=&#34;https://habr.com/ru/company/testo_lang/blog/521682/&#34;&gt;инструментальные средства&lt;/a&gt;,&#xA;которые в своей работе используют  собственные форматы описания конфигурационных файлов или последовательности выполняемых команд,&#xA;которые так же очень сильно приближает их к понятию «язык программирования».&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
