Results 1 to 8 of 8

Thread: Кириллица в языках современных программирования

  1. #1
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Cool Кириллица в языках современных программирования

    С 1960 года ведь прошло довольно много времени ? 64 года вообще-то со времени появления русской версии языка Алгол-60 , например. Правда традиционно с фортрана и PL/1 кругом "рулил" английский язык. Чудом почти подпольно существовал "русский КОБОЛ".
    Но через 64 года после начала англосаксонского террора против славянского мира в информатике ситуация стала изменяться к лучшему. В основных современных языках программирования ( не в Python ) идентификаторы можно писать кирилицей. На иврите , наверное , тоже. И на фарси можно.
    Last edited by crazy-mike; 04-26-2024 at 12:32 PM.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  2. #2
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    И так - GNU ассемблер

    PHP Code:
     .global main
     
    .text
    main
    :
      
    lea привет(%rip),%rdi
      push 
    %rdi
      call printf
      pop 
    %rdi
      ret
      
    .data
    привет
    :
      .
    asciz "прощай , безумный мир!\n"
      
    # old glory !!! 
    замечу - что main пока ещё обязательно. Правда на уровне компоновщика это досадное недоразумение можно обойти.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  3. #3
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    gcc и clang

    PHP Code:
    #include <stdio.h>

    int main(int argc,char** argv) {
      
    int вася 0;
      
    вася += 2;
      
    printf("\n%d\n"вася);
      return 
    0;

    всё по-настоящему - и даже без использования препроцессора.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  4. #4
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    julia:

    PHP Code:

    function привет()
      
    вася 13
      println
    ("Прощайте!")
      return 
    вася 666
     end

     петя 
    привет()
     
    println("петя = "петя 
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  5. #5
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    милашка-красафчег go

    PHP Code:
    package main

    func идиотизм
    () {
      print(
    "\nпривет!\n")
    }

    func main() {
      var 
    вася 6
      идиотизм
    ()
      print(
    "\n",вася,"\n")

    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  6. #6
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    суровый адски серьёзный ячзык rust

    PHP Code:
    fn main() {
      
    let вася 1;
      
    println!("вася = {}",вася);

    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  7. #7
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    кругом кирилица в кодировке UTF-8 под Linux
    Антиглобализм в языках программированя не коснулся python и mojo , но с учётом существующих альтернатив не слишком трудно написать кросс-компилятор с исконно славянского языка программирования в какой-нибудь "антиглобальный" - хоть в rust хоть даже в gnu as

    Мы вот попробовали на mojo что-то такое сделать. Поскольку Python суть есмь "змий" , а змий - это как бы гад ползучий , то компилятор тоже можно назвать gad. ( или даже гад кирилицей ). На входе файлы на русском диалекте этого языка , а на выходе файлы для rust c расширением rs.
    Прототип компилятора на языке mojo может выглядеть примерно так:
    PHP Code:
    from sys import argv
    @value
    struct MyRuntime
    :
      var 
    ok :Int
      
    var status :String
      
    var fname :String
      
    var xmain :String
      fn __init__
    (inout self):
        
    self.status "init"
        
    self.fname "?"
        
    self.xmain "?"
        
    self.ok 1
        pass
      fn setStatus
    (inout self,:String):
        
    self.status z
      fn setFname
    (inout self,:String):
        
    self.fname z
        pass
      fn about
    (inout self) -> String:
        return 
    self.status
    fn main
    ():
      print(
    "гад , версия 1.0")
      var 
    bb argv()
      var 
    rt MyRuntime() 
      var 
    need False
      
    for t in bb:
        if 
    need:
          print(
    "послушание (",t,")")
          try:
            
    servant(rt,t)
          
    except:
            print(
    "ересь",rt.about())
        
    need True
      
    print("аминь!")
    fn servant(inout rt :MyRuntime,:Stringraises:
      var 
    qn z.__add__(".гад")
      var 
    qp z.__add__(".rs")
      print(
    "  готовим ",qn)
      
    rt.setStatus("servant.open")
      var 
    open(qn,"r")
      
    rt.setStatus("servant.read")
      var 
    bf f.read()
      
    rt.setStatus("servant.close")
      
    f.close()
      
    rt.setStatus("buildCode")
      
    buildCode(rt,bf,qp)
    fn buildCode(inout rt :MyRuntime,bf :String,outf :Stringraises:
      var 
    open(outf,"w")
      var 
    dd bf.split("\n")
      var 
    dd.__len__()
      var 
    0
      
    while :
        var 
    dd.__getitem__(i)
        var 
    s.strip()
        print(
    "-->",z)
        
    rt.ok 0
        
    var ix z.find("пора ",0)
        if 
    ix == 0:
          
    goPora(rt,z,f)
        if 
    rt.ok == 0:
          
    ix z.find("аминь",0)
          if 
    ix == 0:
            
    goAmen(rt,z,f)
        if 
    rt.ok == 0:
          
    ix z.find("скрижаль ")
          if 
    ix == 0:
            
    goPrint(rt,z,f)
        
    1
      epilogue
    (rt,f)
      
    f.close()
    fn goPrint(inout rt :MyRuntime,bf :String,inout f :FileHandleraises :
      var 
    bf.find(" ")
      var 
    qq bf[k+1:-1]
      
    rt.ok 1
      f
    .write("println!(\"")
      
    f.write(qq)
      
    f.write("\")\n")
    fn goAmen(inout rt :MyRuntime,bf :String,inout f :FileHandleraises :
      
    rt.ok 1
      f
    .write("}\n")
      
    pass
    fn goPora
    (inout rt :MyRuntime,bf :String,inout f :FileHandleraises :
      
    rt.setStatus("genPora")
      
    rt.ok 1
      f
    .write("fn ")
      var 
    bf.split(" ")
      var 
    z.__getitem__(1)
      
    rt.setFname(p)
      
    f.write(p)
      
    f.write("() {\n")
      var 
    z.__getitem__(2)
      if 
    g.__eq__("поехали"):
        
    rt.xmain 
      pass
    fn epilogue
    (inout rt :MyRuntime,inout f :FileHandleraises :
      if 
    rt.xmain.__ne__("?"):
        
    f.write("\n")
        
    f.write("fn main() {\n")
        
    f.write(rt.xmain)
        
    f.write("()\n")
        
    f.write("}\n")
      
    pass 
    входная программа на языке gad как-то так:
    PHP Code:
    пора привет поехали
      скрижаль бог в помощь
    !
    аминь 
    ну а после обработки компилятором gad на выходе получаем файл для rust:
    PHP Code:
    fn привет() {
    println!("бог в помощь")
    }

    fn main() {
    привет()

    Last edited by crazy-mike; 04-26-2024 at 12:57 PM.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

  8. #8
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    178,151

    Default Re: Кириллица в языках современных программирования

    Правда я переписал этот компилятор почти на "современном C++". И поддерживает он довольно много интересных "фишек".
    Ну а python 3.11 поддерживает кирилицу для идентификаторов тоже.
    Жизнь дается человеку один раз и прожить ее надо так, чтобы не ошибиться в рецептах.
    Строить Асгардию побуждает тьма, посетившая людские души

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Russian America Top. Рейтинг ресурсов Русской Америки. Terms of Service | Privacy Policy Рейтинг@Mail.ru