Перфолента.NET — это на удивление профессионально выглядящий язык программирования на платформе .NET, который поддерживает объектно-ориентированное и функциональное программирование, и на котором написан даже написан другой язык, функциональный язык программирования — Перфо.NET (интерпретатор).
Мой личный опыт
Когда я начал немного программировать на Перфоленте/Перфо, моё понимание языков программирования сильно изменилось. Я почувствовал себя как англоязычный программист, пишущий код на родном языке.
Это был очень интересный опыт. Я стал больше внимания уделять смыслу слов и терминов, стал строже относиться к названиям.
Раньше сложные понятия функционального программирования давались мне тяжело, но теперь всё стало проще. Лямбда-функции, замыкания, каррирование и т.д. — всё это я теперь понимаю по-другому. Особенно когда объясняю ребёнку.
Например, лямбда-функция — это просто формула из задачника по математике. Ребёнок понял это сразу! И мы пошли дальше, не останавливаясь.
По-моему, главный эффект даёт отказ от псевдонимов и алиасов. Я долго отучался давать названия, из которых сразу понятно, что это за сущность, а не «имена, которые означают...».
Второй эффект — это «сокращение контекста». Контекстное окно человека ограничено 3–5 вещами, которые он в состоянии держать в голове и обдумывать. «Псевдонимы/алиасы» съедают это контекстное окно. Поэтому избавление от прокладок в виде «print — это печать» и замена их на простые «вывести_в_консоль», «вывести_в_файл» и т.п. сильно облегчают понимание логики кода.
Некоторые говорят, что проблема окончаний в русском языке в коде — это проблема. Но на практике это не так важно, и по факту на это не обращаешь внимание.
Чем 100 раз прочитать лучше один раз увидеть, как это выглядит? Вот пара скриншотов:


Преимущества изучения программирования с помощью Перфоленты.NET
Изучение основ программирования с помощью языка Перфолента.NET даёт ряд важных преимуществ:
Оптимальная нагрузка при обучении. Для качественного усвоения материала 80% изучаемого должно опираться на уже имеющиеся знания, а 20% — быть новым. Это позволяет естественно связывать новую информацию с уже известной.
Русский язык ключевых слов. Нет необходимости учить английский: можно сосредоточиться на основных понятиях и концепциях.
Совместимость с синтаксисом 1С. Это упрощает переход для тех, кто уже знаком с 1С.
Простая и легковесная среда разработки (IDE). Установка и старт занимают минимум времени: поставил, открыл пример, скомпилировал. Это обеспечивает быстрый старт в изучении программирования.
Доступность для большинства пользователей. Язык изначально разработан для Windows 7/10/11, что делает его доступным для 99% пользователей.
Качество реализации языка Перфолента.NET
Язык профессионально реализован на платформе .NET. Он позволяет изучить ООП/Функциональное программирование, в том числе: параллельное программирование, лямбда-функции, замыкание, каррирование и т.п.
Развивается уже 12 лет: имеет устоявшийся синтаксис, полноценную документацию, официальный сайт и активное профессиональное сообщество.
Существует интерпретатор Перфо (2000 строк на Перфолента.NET) — лёгкая реализация языка Scheme/Lisp, предназначенная для изучения функционального программирования.
Отработана технология написания консольных приложений, пригодных для использования в бизнесе.
-
Имеется более сотни примеров проектов:
- заготовка «Тотал Командер» для консольного режима;
- игры (Тетрис, Змейка);
- простые веб-серверы;
- примеры для блокчейна и др.
Недостатки и ограничения Перфолента.NET
Оконные приложения в бета-версии. Разработка оконных приложений с помощью визуального редактора (как в Visual C++/Visual Basic) пока находится в бета-версии. Однако для начального изучения программирования это не критично: важнее быстро освоить базовые концепции и парадигмы.
«Зачем учить Перфоленту, если есть Си/Python/Паскаль?» Аргумент «лучше сразу учить популярные языки» не всегда оправдан. Человеческий мозг ограничен в объёме одновременно удерживаемой информации (обычно не более 3–5 элементов). Перфолента.NET предлагает необходимый и достаточный минимум для изучения основ ООП и функционального программирования — без погружения в второстепенные детали (установка и настройка IDE, языка, библиотек и т.п.). Освоив базовые концепции на Перфоленте (без англоязычных терминов), обучаемый легче перейдёт к Си++, Python, Haskell и сложным IDE.
«Перфолента — домашняя поделка?» Перфолента.NET основана на промышленном стандарте — платформе .NET, как и сотни других языков. Её архитектура и концепции соответствуют .NET со всеми его преимуществами и недостатками.
Нет версии для Linux. Однако возможна реализация Перфо на Linux хотя бы для переноса скриптов.
Как его можно использовать?
Ну, во-первых, изучить что-то принципиально новое.
Для профессиональных программистов: освоение Перфоленты — это как целый день управлять мышкой левой рукой, совершенно другой взгляд на обычные алгоритмы и код.
Для непрограммистов: возможность быстро понять основы программирования и написания простых алгоритмов без установки тяжёлых IDE и изучения объёмной документации, понять, вообще надо это вам или нет.
Позаниматься с ребёнком информатикой, вместо обычного морально устаревшего языка Кумир.
Прокачать собственные навыки.
Полезные ссылки:
Документация по языку Перфолента.NET
Документация по языку Перфо.NET
https://t.me/perfolenta — достаточно активное сообщество в Телеграмм.
P.S. Не надо ёрничать и в сотый раз писать тут выдуманные смешные примеры кода на русском языке на выдуманных языках программирования.
Комментарии (48)

NickDoom
04.01.2026 21:03Я так в итоге и не понял даже общий смысл этого всего. Даже принцип действия.
И я виню исключительно описания, которые мне случилось читать. Потому, что у меня был аналогичный опыт с «плюсами».
Любой учебник состоял исключительно из общего бла-бла о том, какая офигенная это штука, классы, наследование, и одна и та же картинка с молочной бутылкой, которую складывают с животным и получают корову, и складывают с рыбой и получают дельфина. К пониманию о том, что это такое в плане программирования, это не приближало от слова «совсем».
Никто не смог заставить себя сказать: «ну это просто взяли и добавили к хорошо известным вам структурам ещё и код, который специально обучен работе именно с этой структурой. Причём структура может ещё и делиться на «внутреннюю кухню» и «доступную снаружи», это касается и данных, и кода. И ещё специальный код, который надо вызывать после аллокации структуры и перед деаллокацией, чтобы вы не маялись и не забывали делать это вручную. И возможность добавить структуру в структуру напрямую, а не плодя матрёшки типа a->b->c. Просто c включает в себя всю b, а b включает в себя всю a. А сейчас перейдём к подробному описанию того, как оно делается, как работает, какими терминами называется и какими ещё интересными свойствами обладает».
После такого краткого введения, объясняющего суть «плюсов» по сравнению с Си, уже не получилось бы захлёбываться восторгами самолюбования по поводу того, какую чудесную инновационную парадигму я (автор) знаю, а вы (читатели) не знаете. Классы! Наследование! Это же как бутылка плюс рыба равно дельфин, неужели и сейчас непонятно?
Так же и с этими вашими лямбдами. Это является ключевым свойством декартово замкнутой категории, или, более общей, замкнутой моноидальной категории. Первой вполне достаточно для классической логики, однако вторая является удобной теоретической основой для квантовых вычислений. Различие состоит в том, что декартово произведение содержит только информацию о паре двух объектов, тогда как тензорное произведение, используемое в определении моноидальной категории, подходит для описания запутанных состояний. А сепульки — они, б*ядь, похожи на муркви, а по цветовой гамме напоминают мягкие пчмы. Описать простыми человеческими словами суть, смысл, основу? Ну, вот как я сейчас «плюсы» одним абзацем описал? Не, не слышали.

gybson_63
04.01.2026 21:03А это надо было лет 40 назад окончательно вызвериться от hWnd и subclassing, чтобы очень кристально ясно понимать почему появился Object Pascal for Windows а за ним Delphi. Очень доходчиво было. На C вы жестко привязаны к изначально задуманной абстракции и любая её модификация это боль и страдания. Вы на этапе задумки уже привязаны к реализации и это очень сильно ограничивает.

exesaLigno
04.01.2026 21:03Метис бутылки с дельфином - это конечно странная комбинация, но создается ощущение что это попытка показать концепцию наследования. Все таки приведенное объяснение на пальцах больше ориентировано на абстракцию и инкапсуляцию, но не затрагивает наследование и полиморфизм.
Имхо, попытки объяснить наследование на аналогиях - это хорошая практика, потому что без аналогий такие концепции вызывают у новообращенных отторжение (проверено лично, хорошо подобранная аналогия с животными лучше воспринимается человеком, не знакомым с ооп)
Ну и, справедливости ради, никто не мешает реализовать методы для работы со структурой внутри самой структуры в чистом C. Конечно, это не так интуитивно и приятно, но все же возможно и используется (если память не изменяет, видел такое в больших объемах в библиотеках для работы с UEFI). При этом такой подход не является ооп не сделает структуру классом.

Arragh
04.01.2026 21:03Как изучить программирование за 7 дней
Никак.

JBFW
04.01.2026 21:03Ну не все так плохо на самом деле.
Первый день - понятие программы как таковой, простой линейный скрипт с ветвлением. Никаких сложных ide.
Второй день - циклы, процедуры или функции. И простыми словами, без блямб
Третий - уже можно усложнять, переходить к специфике языка типа модулей или include, где хранятся уже знакомые функции.
Остаётся ещё 4 дня на понимание всяких сложностей.

Viktor-T
04.01.2026 21:03Только под винду можно скачать? Ни линукса, ни андроида? Всё желание попробовать с детьми разбивается о такую стену.

JBFW
04.01.2026 21:03А под линукс-то зачем?
Там своего хватает: bash, perl, python, c/c++, причем первые два как правило уже установлены, достаточно простого текстового редактора...

vabka
04.01.2026 21:03Ну типа импортозамещение))
А на винде из коробки тоже много всякого есть: C# (но без msbuild), Powershell, какой-то из вариантов Бейсика, JScript, батники

Apoheliy
04.01.2026 21:03В одном обзоре языков программирования с русским синтаксисом прочитал интересную мысль:
... математические функции [ в ЯП ], тем не менее записываются латиницей: sin, cos и т.д. Причина проста: на уроках математики никто не пытается русифицировать такие названия, зачем это делать в языке программирования ...
И действительно: ЗАЧЕМ? Ключевые слова, имена математических функций - пишите латиницей, нет тут никаких проблем. Названия переменных, функций пишите по-русски - и будет вам счастье.
И для этого не нужно изобретать ещё один велосипед.
---
Ну и есть ещё пара шероховатостей:
Охват аудитории:
Язык изначально разработан для Windows 7/10/11, что делает его доступным для 99% пользователей.
Тут интернеты говорят, что:
Общий анализ рынка десктопных ОС выявляет ещё одну значимую тенденцию — постепенное снижение совокупной доли всех версий Windows. В ноябре 2025 года этот показатель составил 66,67 % ...
И дело тут не только в линуксе - народ активно пользуется макбуками. А ещё, помимо десктопа, пишет на планшетах и всяком разном. И "только винда" - это существенное ограничение. А, например, паскаль (ПАСКАЛЬ!!!) работает под современной макосЁй - в виде lazarus;
Непонятная связка с 1С:
Это упрощает переход для тех, кто уже знаком с 1С
По-моему, кто освоил 1С - ему такие "шалости" уже не нужны.

Jhayphal
04.01.2026 21:03Программирование, в отличии от математики, не имеет английской основы. В советские времена когда компьютеры только зарождались были русские ЯП для них. Тогда у каждого компьютера был свой язык ассемблера. Поэтому нельзя сказать, что программирование должно быть на каком-то конкретном языке. Это скорее дело привычки.
Касательно 1С. Это предметно-ориентированный ЯП, он не подходит для решения общих задач. На этом же ЯП из статьи, у разработчика есть вся мощь платформы дотнет.

MAT-POC Автор
04.01.2026 21:03в 1С - нет ООП, и функционального программирования, Используя Перфоленту, программист 1С легко освоит ООП/ФП в необходимом для работы объёме, для написания нужных ему утилит.

codecity
04.01.2026 21:03Имх, в обучении ЯП - английские ключевые слова при родном русском (или любом другом языке с алфавитной и при этом не латинской письменностью) - дает преимущества. Как бы в мозгу разделение - англ. текст это управляющие инструкции - а наш язык - это данные. Слов нужно знать не так много, обычно проблемы в этом нет.

SHAD0W137
04.01.2026 21:03Ещё одно извращение в попытках куда-то засунуть непотребство в форме русификации ЯП под присыпкой "для обучения".
Хватит. Просто хватит. У нас уже есть 1С и хватит. Русификация ЯП не помогает в изучении программирования. Понимание алгоритмов? Да. Но для этого уже есть визуальное программирование.

vabka
04.01.2026 21:03Даже в 1С есть из коробки синтаксис с английскими ключевыми словами. Так что в идеале можно только предметную область оставить на русском (что будет правильно, имхо)

MAT-POC Автор
04.01.2026 21:03Не нравится - не используйте. Почему вы считаете для себя возможным запрещать что то другим людям ?

RealOd
04.01.2026 21:03Эх, вот #C бы

MAT-POC Автор
04.01.2026 21:03Перфолента собственно и есть аналог C#/VB.NET

sotland
04.01.2026 21:03Зачем аналог?
Выскажу сугубо личное мнение. Устанавливая ПО себе и детям, ставлю только англоязычные.
Print не нужно переводить, это не глагол, это вообще не слово - это набор символов выполняющий действие, ровно как sin в математике.
Сталкиваясь со словом import или settings не нужно это переводить, нужно этим пользоваться, это всегда одно и тоже, что в js, что в corel draw
-
Код программы, чужой код, тоже читается не как сочинение, это команды, манипуляции с данными, и все эти srv.Repos.Employee.Insert(ctx, data.ToDba()) с одной стороны просто вставка в базу, а с другой стороны много, много большее.
Да, для развлечения можно пользоваться чем угодно, но если есть хоть какая-то задача освоить программирование, то лучше использовать что-то максимально стандартное и обобщенное. Всякие узко специализированные, маргинальные вещи придут потом сами собой

gybson_63
04.01.2026 21:03Есть же OneScript.
Но для детей наверное хорошо. Интересно, условным болгарским детям, какой язык был бы удобнее? :)

denisemenov
04.01.2026 21:03По мотивам "Русский JavaScript — это не баг, это фича будущего."? Зачем пихать кириллицу туда, где она потом усложнит написание нормального кода?

Seraphimt
04.01.2026 21:03Русский язык ключевых слов. Нет необходимости учить английский: можно сосредоточиться на основных понятиях и концепциях.
Сомнительный плюс. Сейчас бы учить английский ради ~20 слов синтаксиса обычных яп. По такой логике когда на математике тригонометрию проходят - латынь и древнеарабский учить, чтобы разбираться во всех этих sin\cos\tg\etc?

equmag
04.01.2026 21:03Звучит как skill issue
А если серьезно, прочитав комментарии пропало какое-либо желание быть серьезным. Люди все равно будут верить в свою собственную байку. Была сформирована довольно хорошая мысль: это как целый день использовать мышку левой рукой; и ведь правда, только зачем бы кто-то, помимо "прикола", захотел бы пользоваться не доминантной рукой. Так и здесь

Diacut
04.01.2026 21:03Человеческий мозг ограничен в объёме одновременно удерживаемой информации (обычно не более 3–5 элементов)
Вот это откуда пошло? Чуть ли не каждую неделю где-нибудь да наиыкаюсь на подобное заявление. Просветите, кто в курсе.
И, вдогонку: иностранная лексика языка программирования должна усваиваться легче, потому как не имеет ненужных коннотаций. Хотя... в пределах несущественных погрешностей. Выше заметили, запомнить ~20 ключевых слов не очень сложно. Наверное? И да, главное! раскладку переключать не надо!

youzhick
04.01.2026 21:03Позаниматься с ребёнком информатикой, вместо обычного морально устаревшего языка Кумир.
Не понимаю этого стремления считать детей идиотами и учить их на искусственных упрощенных песочницах. В своем детстве мы прекрасно осваивали бейсик, паскаль и асм просто потому, что это интересно. А всякие искусственные учебные языки "на русском, чтобы проще" - это имхо как боковые ролики к детскому велосипеду: да, держаться с ними проще, но обучению нормальной езде вообще ни разу не помогают.

MAT-POC Автор
04.01.2026 21:03Простой Вопрос: Ребёнку таксиста/продавщицы, бухгалтера, врача в школе дали задание написать простой алгоритм. Как его родители смогут ему поставить и современную IDE и настроить её под язык программирования ?
Ваши предложения ? Кроме убогого Кумира (но под него хотя бы есть куча методической литературы для учителей) и заброшенного CodeBlocks или онлайнIDE я простых решений не знаю. И то они если родители не ИТ-шники сильно повышают порог входа.

Diacut
04.01.2026 21:03Родители должны делать за ребёнка домашнее задание?

MAT-POC Автор
04.01.2026 21:03Ну они ему должны создать условия. Или Вы предлагаете ребёнку 12-14 лет самому ставить Visual Studio Code/ GigaIDE/OpenIDE/PyCharm и настраивать или это ему будет делать учитель в школе на ноутбук?
Вы как себе это представляете ? У меня ребёнок в 16 лет сам бы не поставил.

withkittens
04.01.2026 21:03Я себе это представляю одним из двух вариантов:
если информатика/программирование даётся на базовом уровне -> это онлайн IDE типа Scratch, где ничего настраивать не надо.
если на более продвинутом уровне -> это что-то типа Turbo Pascal, ну или VS Code, если это какая-то современная школа. В первой снова ничего настраивать не надо, а вторую - в 12-14 лет дети будут способны её поставить, да.
У меня ребёнок в 16 лет сам бы не поставил.
Это немного грустно.

Diacut
04.01.2026 21:03Я вообще плохо представляю, что это за задание такое, где недостаточно листа бумаги и карандаша. (Напомню: "школе дали задание написать простой алгоритм ")

MAT-POC Автор
04.01.2026 21:03Среда ТурбоПаскаля/Си - гораздо проще Среды разработки Перфоленты. Я имея опыт настраивал в 5-7 раз GigaIDE + Python 3.12 ~ 1-1.5 часа. 99% школьников самостоятельно это точно не осилят даже по Ютюбу.
Я собственно говоря только двумя руками за если кто нибудь реанимирует CodeBlocks.

vlzh92
04.01.2026 21:03Есть старая шутка насчет книги "Выучить C++ за 21 день". И полная аналогия применима тут
Учить c++ 21 день
Продолжить учить плюсы еще пару лет и набирать опыта
Еще пару лет изучать техническую периферию
Устроиться на кафедру физики и начать разработку машины времени.
Когда она будет разработана, то переместить в тот момент, когда прошёл 21 день с момента начала изучения c++
Профит. Вы выучили плюсы за 21 день

sotland
04.01.2026 21:03Особенно порадовали на скринах названия переменных: Инд, бцц, бц1
А также функции чегототамБЦ
Получается весь смысл в том чтобы не писать:
`fmt.Printf( "Аргумент: %s\n", arg)`
а написать:
`Вывести "Аргумент"+Аргумент`


Jhayphal
Для детишек самое то, имхо.
JBFW
Не факт.
В 80-х годах прошлого века ввели в школах предмет Информатику. В одном из вариантов преподавания нового и никому непонятного предмета (бедный "физик"!) был подобный псевдоязык, НачалоЦикла, ВыводВФайл, вот тоже что-то такое.
Выглядело ужасно непонятно и громоздко. А вот примитивный Basic как-то сразу на ура пошел.
Несмотря на уровень английского "invalid command = команда инвалидов" - его синтаксис проблемы не создавал, просто это такой специальный компьютерный язык, со специальными компьютерными словами, который надо просто понять.
Но это личный опыт. Кому-то СложнаяФункцияНаРусскомЯзыке будет понятнее...
Moog_Prodigy
Вот судя по моему опыту, вот вообще ни один человек никогда не говорил что "так понятнее". Ровно кроме тех, кто продвигал свой "ни на что не похожий язык программирования на русском языке". Ну с этими то ладно, энтузиасты. Я сам подобный язык писал, правда не программирования а как замена G - кодам для тех станков, где g коды не очень удобны - типа термопластов, намотчики катушек, громадные роботы, которые таскали ковши с расплавленным металлом и разливали его в формы. Но это не язык программирования, циклы хоть и были но чисто номинально. А зачем? А просто по приколу. ВЕЗИ 1 ВЫЛИТЬ ЛЮМИНИЙ - ВЕРНУТЬСЯ. Оно хотя бы операторам литейки понятно было...
Даже программисты 1С морщатся, когда слышат про "русифицированное программирование". 1С это уже среда с устоявшимися законами, они их "на русском" почти и не воспринимают, те же for, else. Вот все, кого я знаю, и лично, и заочно, и даже просто коммент на форуме. Мало того, уже кучу переводчиков с 1с на С- подобный написали.
Никому не нужны сложные_функции_на_русском. Я бы сказал, что русским они еще тем более сугубо не нужны. Ну вот у китайцев тоже такие попытки были, и даже сделали. Однако ж у тех же китайцев те же ЯП что и во всем мире, а ихние с иероглифами не зашли и им.
Wakadakawaka
Вот прям уж так морщатся от программирования на русском? Я перешёл в 1С из C# и какого-то дискомфорта от русского не испытывал. Конфигуратор - да, отсутствие привычного синтаксического сахара - да, но от кодирования на русском языке - нет. Более того, есть и преимущества - можно писать почти предложениями, да и разбираться в чужом коде попроще. Особенно тем, кто плох в английском.
Moog_Prodigy
Ну по меньшей мере когда я с ними обсуждал старые советские учебники информатики 85 - 90 годов, даже им это казалось перебором. Далеко за примерами и ходить не надо. Вот я про что.
metallist88
2 года работаю 1С программистом, это офигенное чувство когда не нужно учить английский, который мне ну никак не даётся. Любую команду можно посмотреть в документации в самом конфигураторе, и все на русском языке. Самое сложное не синтаксис выучить, а смотреть документацию на русском в разы проще, когда не знаешь английский
gybson_63
Скорее англицизмы типа TableOfNDSForPay выглядят глупым сюсюсканьем и смешат. Спокойно пишется на русском языке и читается название функции "ТипСвойстваПоИмениИЗначениюСвойства". Намного хуже, когда у человека всего 26 вариантов названия переменной.