Hacker News new | past | comments | ask | show | jobs | submit login
ПП-BESM – a Soviet language (1955) (xav.io)
125 points by 082349872349872 on May 21, 2023 | hide | past | favorite | 28 comments



My father was a programmer on the BESM-series computers back in the 80s, particularly BESM-6. Him and a few former friends/colleagues maintain a site about it:

https://www.besm6.org/

Sorry, the site's all in Russian, and it's running on my dad's NetBSD server at his house. Please be gentle :)


The stuff at https://github.com/besm6 is great! Being much later, the programs are substantial, but it gives a better sense than the simplified examples like https://github.com/xldenis/besm/blob/master/examples/chapter... .


Indeed, I only provided direct translations of the programs Ershov and Knuth wrote, I never did much in the way work beyond that, my focus was mainly on recreating the compiler itself.

For that I actually copied the pages of the book into the the comments of the code: https://github.com/xldenis/besm/blob/master/compile-pp/src/B...


Ahh, I hadn't found that one! That's a great example, thanks for highlighting it.


Several of BESM creators were my professors. All things I know about low level computer architecture started with their lectures.


in the former ussr?


Yes. It was already just Russian Federation at this point.


Hi! I'm the author of this project :) Happy to answer any questions, and yes I know I need to finish it.

The project includes a VM for the BESM which I think has pretty sexy visuals: https://twitter.com/xldenis/status/1035557182337499137

I've been meaning to return to it now that I'm finishing my PhD thesis.


There were number of innovative but relatively obscure languages that came out of the first wave of cybernetics. Glushkov, one of Lyapunov's contemporaries, created a language called Analytik [1], with early support for linear algebra and symbolic differentiation. REFAL is another language that emerged during the same era and still under active development [2]. At its foundation is an alternative and surprisingly rich algebraic theory of computation based on abstract rewriting systems and so-called word problems [3].

[1]: https://link.springer.com/content/pdf/10.1007/BF01070461.pdf

[2]: https://github.com/bmstu-iu9/refal-5-lambda

[3]: https://en.wikipedia.org/wiki/Word_problem_for_groups


Nice. My grandfather (1) was part of the team for another language, Alpha (2) led by the same person, Ershov (3). My grandfather told me he never was particularly fond of programming, but it was a good way to get paid — guys some things haven't changed much since 1950s.

[1] https://ru.m.wikipedia.org/wiki/Янков,_Вадим_Анатольевич

[2] https://ru.m.wikipedia.org/wiki/Альфа-язык

[3] https://ru.m.wikipedia.org/wiki/Ершов,_Андрей_Петрович


https://github.com/xldenis/besm

Last commit:

first complete version of PP-2


Is there anything more on this language? I do not understand this example source code, but I'd really like to.


Here's the scanned copy of ПП-БЭСМ book, in Russian: http://ershov-arc.iis.nsk.su/archive/eaindex.asp?lang=1&did=...

From the ToC it seems to be a complete description of the language.


I have perused those archives many times, more important than the book (of which I have a translated hardback copy), are the notes which include the hand written (and commented) assembly for every draft of the compiler. The hard part is that its not the same as the final version so you have to interpolate the changes.


I have a commented example: https://github.com/xldenis/besm/blob/master/examples/chapter...

I tried to transliterate the syntax to ascii but the 'real' syntax uses some characters which are hard to represent in monospace text.


Cyrillic and Latin letters in the same name? How come?


The П here is uppercase Pi, not P in Cyrillic. The original name of BESM is БЭСМ, Бйстродействуйусхцхайа Електроннайа Сцхотнайа Масхина, i.e. "High-Speed Electronic Computing Machine [0].

[0] https://en.wikipedia.org/wiki/BESM


Быстродействущая Электронная Счетная Машина. Your Cyrillic seems to be doubly transliterated.


reminds me this hotel receptionist in Russia who, when writing my name down the registration paper (visa reasons), did so with this same double/direct transliteration (eg, "shch" to "схцх"). gave me a funny name in the end, and a good chuckle)


Reminds me of a story: My father's parents were Lithuanian, so I have their surname, but I am American. In 2011 I had a Russian visa for a short trip to Moscow. They transliterated my name in a way that I don't think a Lithuanian travelling to Russia would have. Notably, Š was С and not Ш because the diacritic obviously won't appear on my US passport. I think they also had И where I might have put Й.


That's a very odd way to transliterate, especially considering the shch in Khrushchev is the latinization of the letter щ


Ah so before there was PyPy there was PiPi.


Wow, someone’s really butchered the actual name, Большая/быстродействующая электронно-счётная машина.


Originally it was ПП-БЭСМ, «программирующая программа».

Ershov's archive: http://ershov-arc.iis.nsk.su/archive/eaindex.asp?lang=1&gid=...


(a) sorry about the poor transliteration, I cut-n-pasted from TFA

(b) speaking of Ershov — anyone know what became of Рапира? It looks like a nice little language, and presumably many of the same ideas floating around the IFIP that inspired it also eventually led to Python (by way of ABC).


Рапира was provided (IIRC in ROM) with «Агат» computer, and then seems to have died the death of other Soviet programming languages, being replaced by Western imports.


Last update was in 2018. Would love to know how far the guy got https://xav.io/posts/besm-update/


this is interesting, even for a non programmer like me




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: