Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 350 words in the discussion.

Trending Topics

#end#fact#russian#pascal#done#should#feels#names#thread#https

Discussion (11 Comments)Read Original on HackerNews

gus_massa1 day ago
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;
dimava10 minutes 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;
vbezhenarabout 2 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;
xxs40 minutes 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.

yeputonsabout 3 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”.

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

ymir_eabout 1 hour ago
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?

voidUpdate19 minutes ago
I dont use any of them, but here's a list of non-english programming languages that some people probably use day-to-day

https://en.wikipedia.org/wiki/Non-English-based_programming_...

konart38 minutes ago
1C is widely used in Russia as part of 1C:Enterprise (https://en.wikipedia.org/wiki/1C:Enterprise think sap/abap)

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.

arcadialeakabout 1 hour 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