This Soviet project developed two Russian-language PLs: Robic[1] and Rapira[2]. Robic was similar to Logo, but unlike Logo, which had only one actor - a turtle, Robik had several: a Train, an Ant, a Painter, and so on
Rapira was more like SETL + Python. It was a dynamic interpreted PL with a rich set of compound data types, such as sets, records (associative arrays), and so on. Compared to the contemporary BASIC, it was ADVANCED
Like Logo, Robik was used to teach programming to kindergarthen-age children, while Rapira was aimed at high school students
By the way, there's one Cyrillic programming language still in wide use today. It's part of 1С (1S), an ERP system that's absolutely everywhere in Russia.
The language itself is quite similar to Visual Basic. It's awkward to write with a regular Russian keyboard layout, but I was told that there exist special layouts just for it.
flexagoon 44 minutes ago [-]
There's also Kumir, which is an educational programming language used in Russian schools
grishka 42 minutes ago [-]
Hm. That must be new, I was taught Turbo Pascal
flexagoon 38 minutes ago [-]
Somewhat new, or at least wasn't used in schools until fairly recently. It's a programming environment with tools like Turtle Graphics built in, specifically for teaching the basics of coding. There are even some tasks in ЕГЭ for it.
The website screenshot shows it on Windows XP though, don't know if it actually existed back then or if it's just typical Russian institutions still using Windows XP.
throw-the-towel 20 minutes ago [-]
In fact, the language itself dates to rhe 1980s I think. No idea whether its use in schools is recent though.
ahmedfromtunis 3 hours ago [-]
I wish the Soviets had focused more on developing an independent computer industry and their own distinct flavors of programming languages.
Imagine the thrill of studying languages built to run on completely separate hardware architectures, featuring entirely novel paradigms and structures.
This would be the closest thing to experience reverse-engineering a computer from an alien spaceship.
przemelek 2 hours ago [-]
But they simply weren't able to sustain it.
In the West, while the military industry initially pushed computer development, private companies quickly adapted those technologies for the consumer market. Over time, the Western consumer market became vastly larger than the military one.
In the USSR, this cross-pollination wasn't possible because anything that even touched the military was immediately classified as a state secret. This obsession with secrecy even affected civilian infrastructure like nuclear power plants. Plant operators weren't fully trained on how the systems worked under extreme conditions, and they were kept completely in the dark about inherent design flaws—because in the Soviet system, everything was by definition perfect and superior to the West.
Furthermore, because the consumer market was strictly controlled by the government and the party, the Soviet economy lacked any organic market signals regarding what people actually wanted or needed. Apparatchiks had to look elsewhere for data, so they resorted to copying Western solutions—sometimes just copying the basic concept (like a radio where users could choose their own stations), and sometimes cloning the entire machine.
While Soviet scientists had some highly innovative and interesting ideas in the beginning, central planners eventually decided it was faster and easier to copy a Western solution that was already 5, 10, or 15 years ahead in mass production.
vbezhenar 2 hours ago [-]
I think it's a bit different.
USSR just wasn't rich enough to afford experimentation and innovation. Resources (including human brain power) were quite limited. So they had to copy proven solutions. Simple as that.
It's easy to judge them in the retrospective. But they had to make decisions, using the information the had at the moment, weighing risks as they saw them at that moment.
ajcp 9 minutes ago [-]
The comment you are replying to is correct. The Soviet Union had massive amounts of resources and capital (both human and economic) to be able to develop and support technical innovations. The wider-Soviet bloc itself was of such a scale as to be able to completely support their own divergent technologies and innovations. The higher education systems themselves were sufficient to provide and foster the talent, even if they were overly-politicized.
Of issue, especially as time went on, was the overly-centralized nature of national resource and economic strategy and planning. Especially ESPECIALLY constraining was the dual-circuit monetary system of its economy, which literally prevented half of its "capital" to follow innovation or market forces outside of centralized allocation.
I highly recommend the book Collapse: The Fall of the Soviet Union by Vladislav Zubok
przemelek 31 minutes ago [-]
It wasn't a lack of raw brainpower or wealth; it was a structural and ideological failure of resource allocation.
The USSR and the Iron Curtain bloc had a massive population and world-class scientific talent. The problem was that the Soviet system viewed independent thought and individuality as a threat, actively sabotaging its own geniuses:
Persecution of Top Minds: Sergei Korolev, the literal architect of the Soviet space program, was sent to the Gulag, where he lost his teeth to scurvy and survived a broken jaw before being pulled out to work in a sharashka (a prison lab). Andrei Sakharov, the father of the Soviet hydrogen bomb, was relentlessly persecuted and exiled later in life for pointing out systemic flaws.
Ideology Over Reality: The state actively banned the teaching of modern genetics for decades because Trofim Lysenko’s fraudulent agricultural theories were deemed "more communist."
When you look at where the USSR did choose to spend its massive resources, it wasn't on pragmatic, cost-saving solutions. It was on hyper-expensive, top-down military prestige projects—many of which the West mathematically evaluated and discarded as impractical.
They built the RBMK reactors (like the one at Chernobyl) specifically because the dual-use design allowed them to generate civilian electricity while simultaneously harvesting plutonium for weapons, creating a fundamentally unstable system. They spent fortunes building the "Caspian Sea Monster" (a giant ground-effect vehicle) and the Tsar Bomba.
The tragedy of the Soviet computer industry wasn't a lack of money or smart people. It was that any "von Neumann" or "Seymour Cray" born in the USSR who asked the wrong questions or challenged a party bureaucrat's stupid idea was far more likely to end up in a labor camp than heading an independent tech company.
Those born in countries like Poland, Hungary, Bulgaria or Czechoslovakia were usually "asked" to leave country and they were working for the West ;-)
lo_zamoyski 13 minutes ago [-]
> Those born in countries like Poland
One famous example is Jacek Karpiński [0]. Soviet pressure, opposition to the use of Western parts, and intense jealousy of the commie state bureaucracy which sought to hold a monopoly over computer production (e.g., through the state-owned companies Odra and Elwro) halted production.
Here's some English language documentation for one of his models (the K-202) which was exported to the UK [1]. (The state-produced Mera 400, a heavily modified version of the K-202, did achieve a great deal of success, however, despite high production costs.)
There was an article posted here about him about 10 years ago [2].
It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC):
FUNC FACT (N);
NAME: R;
1 -> P;
FOR I FROM 1 TO N ::
R * I -> R
ALL
RES: R
KNC;
FOR N FROM 0 TO 6 ::
? "FACT(", N, ") = ", FACT(N)
ALL;
vbezhenar 5 hours ago [-]
Few fixes:
1. "ИМЕНА" is plural, so instead of "NAME:" it's a bit more appropriate to use "NAMES:". Probably should be "VARIABLES" or "VARS" in modern context.
2. You've got few typos mixing "R" and "P". Should be "R" everywhere.
3. Instead of "ALL" you should use "DONE".
4. Instead of "KNC" you should use "END".
So it would look like this:
FUNC FACT (N);
NAMES: R;
1 -> R;
FOR I FROM 1 TO N ::
R * I -> R
DONE
RES: R
END;
FOR N FROM 0 TO 6 ::
? "FACT(", N, ") = ", FACT(N)
DONE;
xxs 4 hours ago [-]
>It feels like Pascal in Cyrillic
replace cyrillic w/ russian and it'd be ok.
КНЦ = end (конец in russian is end). However, in bulgarian in means 'thread' (as in sewing thread) and it has lots its meaning of end, aside from 'from needle to thread' expression where it means from the tip of the needle to the end of the thread.
Also 'ALL' (и все = it's over/that's all), which should be 'end' as in begin/end in pascal.
The main point still stands - it's Pascal.
bojan 2 hours ago [-]
Being Serbian, I also find equalising Cyrillic with Russian mildly annoying. Or even worse, when people call it "Russian letters".
With that being said, I do think it's harder to make a clear programming language based on is a Slavic language, due to all the case and gender forms.
stodor89 3 hours ago [-]
> However, in bulgarian in means 'thread'
You can use "конец" for "end" in Bulgarian too, even though it's antiquated.
xxs 2 hours ago [-]
... and it has lots its meaning of end
it's in the original post
dimava 3 hours ago [-]
Since I know russian well, here's a proper translation for y'all
FUNC FACT (N);
NAMES: P; (* variable names *)
1 -> P;
FOR I FROM 1 TO N ::
P * I -> P
DONE (* endif *)
RET: P (* return value *)
END; (* end of function *)
FOR N FROM 0 TO 6 ::
? "FACT(", N, ") = ", FACT(Н) (* print *)
DONE;
yeputons 5 hours ago [-]
I would read «КНЦ» as «КОНЕЦ», literally “an end” or “the end” (Russian does not have anything resembling articles). Who needs vowels, anyway.
Also, «ВСЕ» feels like «ВСЁ» in this context, I’d translate that as “that’s all”.
varjag 3 hours ago [-]
The acronyms are because it was originally russified by substituting character codes in Pascal binary. Thus VAR became ИМЯ, END became КНЦ and so on. Same reason JOB hilariously became ЗАД in the liberated OS/360.
Everyone's happy, head of development celebrates his 3rd degree Lenin's premium.
orbital-decay 2 hours ago [-]
Is it really Pascal though? There's a lot of academic/educational languages with the similar syntax, and I think РАПИРА had additional data structures. (I've read a book on it and tinkered with it as a kid, but it was in the early 90's and I barely remember any of it)
> Don't post generated comments or AI-edited comments. HN is for conversation between humans.
youarenotyu 12 minutes ago [-]
I need one for Japanese
arcadialeak 4 hours ago [-]
There is also an independent open-source interpreter for 1C language (which is to this day reported to be extensively used in Russian enterprise) implemented in C#. I haven't tried it myself, but just though that it's also worth mentioning here as the project seems to be actively worked on:
https://github.com/evilbeaver/onescript
DeathArrow 2 hours ago [-]
In an alternate universe where Soviets won the Cold War, we would be writing in Russian on новостихакеров.рф and arguing which vacuum tubes make the best computers.
Rapira was more like SETL + Python. It was a dynamic interpreted PL with a rich set of compound data types, such as sets, records (associative arrays), and so on. Compared to the contemporary BASIC, it was ADVANCED
Like Logo, Robik was used to teach programming to kindergarthen-age children, while Rapira was aimed at high school students
---
1. https://en.wikipedia.org/wiki/Robic / https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B8%D0%BA
2. https://en.wikipedia.org/wiki/Rapira / https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%BF%D0%B8%D1%80...
The language itself is quite similar to Visual Basic. It's awkward to write with a regular Russian keyboard layout, but I was told that there exist special layouts just for it.
https://www.niisi.ru/kumir/
The website screenshot shows it on Windows XP though, don't know if it actually existed back then or if it's just typical Russian institutions still using Windows XP.
Imagine the thrill of studying languages built to run on completely separate hardware architectures, featuring entirely novel paradigms and structures.
This would be the closest thing to experience reverse-engineering a computer from an alien spaceship.
In the West, while the military industry initially pushed computer development, private companies quickly adapted those technologies for the consumer market. Over time, the Western consumer market became vastly larger than the military one.
In the USSR, this cross-pollination wasn't possible because anything that even touched the military was immediately classified as a state secret. This obsession with secrecy even affected civilian infrastructure like nuclear power plants. Plant operators weren't fully trained on how the systems worked under extreme conditions, and they were kept completely in the dark about inherent design flaws—because in the Soviet system, everything was by definition perfect and superior to the West.
Furthermore, because the consumer market was strictly controlled by the government and the party, the Soviet economy lacked any organic market signals regarding what people actually wanted or needed. Apparatchiks had to look elsewhere for data, so they resorted to copying Western solutions—sometimes just copying the basic concept (like a radio where users could choose their own stations), and sometimes cloning the entire machine.
While Soviet scientists had some highly innovative and interesting ideas in the beginning, central planners eventually decided it was faster and easier to copy a Western solution that was already 5, 10, or 15 years ahead in mass production.
USSR just wasn't rich enough to afford experimentation and innovation. Resources (including human brain power) were quite limited. So they had to copy proven solutions. Simple as that.
It's easy to judge them in the retrospective. But they had to make decisions, using the information the had at the moment, weighing risks as they saw them at that moment.
Of issue, especially as time went on, was the overly-centralized nature of national resource and economic strategy and planning. Especially ESPECIALLY constraining was the dual-circuit monetary system of its economy, which literally prevented half of its "capital" to follow innovation or market forces outside of centralized allocation.
I highly recommend the book Collapse: The Fall of the Soviet Union by Vladislav Zubok
The USSR and the Iron Curtain bloc had a massive population and world-class scientific talent. The problem was that the Soviet system viewed independent thought and individuality as a threat, actively sabotaging its own geniuses:
Persecution of Top Minds: Sergei Korolev, the literal architect of the Soviet space program, was sent to the Gulag, where he lost his teeth to scurvy and survived a broken jaw before being pulled out to work in a sharashka (a prison lab). Andrei Sakharov, the father of the Soviet hydrogen bomb, was relentlessly persecuted and exiled later in life for pointing out systemic flaws.
Ideology Over Reality: The state actively banned the teaching of modern genetics for decades because Trofim Lysenko’s fraudulent agricultural theories were deemed "more communist."
When you look at where the USSR did choose to spend its massive resources, it wasn't on pragmatic, cost-saving solutions. It was on hyper-expensive, top-down military prestige projects—many of which the West mathematically evaluated and discarded as impractical.
They built the RBMK reactors (like the one at Chernobyl) specifically because the dual-use design allowed them to generate civilian electricity while simultaneously harvesting plutonium for weapons, creating a fundamentally unstable system. They spent fortunes building the "Caspian Sea Monster" (a giant ground-effect vehicle) and the Tsar Bomba.
The tragedy of the Soviet computer industry wasn't a lack of money or smart people. It was that any "von Neumann" or "Seymour Cray" born in the USSR who asked the wrong questions or challenged a party bureaucrat's stupid idea was far more likely to end up in a labor camp than heading an independent tech company.
Those born in countries like Poland, Hungary, Bulgaria or Czechoslovakia were usually "asked" to leave country and they were working for the West ;-)
One famous example is Jacek Karpiński [0]. Soviet pressure, opposition to the use of Western parts, and intense jealousy of the commie state bureaucracy which sought to hold a monopoly over computer production (e.g., through the state-owned companies Odra and Elwro) halted production.
Here's some English language documentation for one of his models (the K-202) which was exported to the UK [1]. (The state-produced Mera 400, a heavily modified version of the K-202, did achieve a great deal of success, however, despite high production costs.)
There was an article posted here about him about 10 years ago [2].
[0] https://en.wikipedia.org/wiki/Jacek_Karpi%C5%84ski
[1] https://web.archive.org/web/20241012182627/https://www.zenke...
[2] https://news.ycombinator.com/item?id=41072026
This is a pretty cool historical artifact.
Does anyone use "native language" programming languages in education or day to day?
UPD: 1C can be used in both Russian and English. And I'm pretty sure it can be used outside of 1C:Enterprise.
It also has BSL Language Server and IDEA\VSCode extensions.
https://en.wikipedia.org/wiki/Non-English-based_programming_...
1. "ИМЕНА" is plural, so instead of "NAME:" it's a bit more appropriate to use "NAMES:". Probably should be "VARIABLES" or "VARS" in modern context.
2. You've got few typos mixing "R" and "P". Should be "R" everywhere.
3. Instead of "ALL" you should use "DONE".
4. Instead of "KNC" you should use "END".
So it would look like this:
replace cyrillic w/ russian and it'd be ok.
КНЦ = end (конец in russian is end). However, in bulgarian in means 'thread' (as in sewing thread) and it has lots its meaning of end, aside from 'from needle to thread' expression where it means from the tip of the needle to the end of the thread.
Also 'ALL' (и все = it's over/that's all), which should be 'end' as in begin/end in pascal.
The main point still stands - it's Pascal.
With that being said, I do think it's harder to make a clear programming language based on is a Slavic language, due to all the case and gender forms.
You can use "конец" for "end" in Bulgarian too, even though it's antiquated.
it's in the original post
Also, «ВСЕ» feels like «ВСЁ» in this context, I’d translate that as “that’s all”.
Everyone's happy, head of development celebrates his 3rd degree Lenin's premium.
> Don't post generated comments or AI-edited comments. HN is for conversation between humans.
> 1982