logoalt Hacker News

Rapira (Рапира) – Soviet programming language interpreter

76 pointsby begoonlast Monday at 8:37 AM46 commentsview on HN

Comments

grishkatoday at 1:13 PM

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.

show 3 replies
nivertechtoday at 1:05 PM

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

---

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...

show 1 reply
ahmedfromtunistoday at 11:10 AM

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.

show 3 replies
gus_massalast Tuesday at 5:49 PM

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;
show 7 replies
ymir_etoday at 9:50 AM

The playground on [demin.ws/rapira](https://demin.ws/rapira/) feels well made.

This is a pretty cool historical artifact.

Does anyone use "native language" programming languages in education or day to day?

show 2 replies
zerrtoday at 2:31 PM

Refal is an interesting functional programming language https://en.wikipedia.org/wiki/Refal

arcadialeaktoday at 9:59 AM

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

chaidhattoday at 2:19 PM

Missed opportunity to make all variables global and public.

mdtroopertoday at 11:28 AM

it remembers to me https://en.wikipedia.org/wiki/DRAKON a powerful flow chart (from the USSR) .

DeathArrowtoday at 12:30 PM

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.

youarenotyutoday at 1:48 PM

I need one for Japanese

danslotoday at 12:18 PM

I could be wrong, but I believe the name is in reference to the Divine Rapier, an item in Dota 2, which is very popular among Russian speakers.

show 2 replies