1. Куча / Говнокод #26431

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    吾有一數。曰三。名之曰「甲」。
    為是「甲」遍。
    	吾有一言。曰「「問天地好在。」」。書之。
    云云。

    Программист из Шанхая создал язык программирования wenyan-lang, основанный на старинном классическом китайском языке.

    Язык может компилироваться в JavaScript, Python и Ruby. К нему уже успели написать плагины для VSCode, Vim и Sublime. С полной документацией можно ознакомиться на гитхабе:

    https://github.com/wenyan-lang/wenyan




    Перевод на "JavaScript":

    var n = 3;
    for (var i = 0; i < n; i++) {
    console.log("問天地好在。");
    }

    Запостил: 3_dar, 10 Февраля 2020

    Комментарии (31) RSS

    • Переведи на "PHP"
      Ответить
      • Вишни расцвели.
        Не открыть сегодня мне
        Тетрадь с песнями.
        Ответить
      • Перевел тебе на Ruby, проверяй
        for n in 1..3
          puts "こんにちは世界!"
        end
        Ответить
        • ну кто так делает?
          (1..3).each do
          	p "nakasika suka sena"
          end
          Ответить
          • «Google Переводчик» переводит это выражение с «индонезийского» как «Накасика любит Сена». Именно поэтому я за «индонезийский».
            Ответить
            • https://en.wikipedia.org/wiki/Buka_Suka_Dimka
              Ответить
              • Даже на «русском» статья есть. Какой багор )))
                Ответить
            • Я тоже за индонезийский. На нём мой юзернейм означает «человек леса».
              Ответить
            • Реальные примеры индонезийского:

              https://youtu.be/P4gCXCt_ghs

              https://youtu.be/ZuROZ7V9OME

              https://youtu.be/DWvk-gCJXzg

              https://youtu.be/Wmda1UJoE5M
              Ответить
          • Ну у меня подстрочник был, а ты профессионально перевел.
            Ответить
            • в руби просто неприлично итерироваца без блока
              Ответить
          • ну кто так делает?

            3.times do
              p 'output'
            end
            Ответить
            • рубист!
              Ответить
            • Ну кто так делает?
              puts "output\n" * 3
              Ответить
              • Умножение строки тормозит, так как тормозной анскильный руби не оптимизирует эту операцию
                0000 trace            1                                               (   1)
                0002 putself          
                0003 putstring        "output\n"
                0005 putobject        3
                0007 opt_mult         <callinfo!mid:*, argc:1, ARGS_SIMPLE>, <callcache>
                0010 opt_send_without_block <callinfo!mid:puts, argc:1, FCALL|ARGS_SIMPLE>, <callcache>
                0013 leave


                Поэтому нужно оптимизировать всё вручную

                puts "output\noutput\noutput\n"
                
                0000 trace            1                                               (   1)
                0002 putself          
                0003 putstring        "output\noutput\noutput\n"
                0005 opt_send_without_block <callinfo!mid:puts, argc:1, FCALL|ARGS_SIMPLE>, <callcache>
                0008 leave


                Или в крайнем случае генерировать этот код при помощи "РНР"
                puts "<?php for ($i = 0; $i < 3; ++$i) { ?>output\n<?php } ?>"
                Ответить
                • Фу, кокой позор.

                  То ли дело Python:
                  from dis import dis
                  dis(r'print("output\n" * 3)')
                  '''
                    1           0 LOAD_NAME                0 (print)
                                2 LOAD_CONST               0 ('output\noutput\noutput\n')
                                4 CALL_FUNCTION            1
                                6 RETURN_VALUE
                  '''
                  Ответить
          • p это не puts.
            Ответить
    • Перевод плохой, у автора нет двойных кавычек
      Ответить
    • Еще блядь зарази нас всех короновирусом
      Ответить
    • > с полной документацией

      Она вся на старо-китайском, само собой?
      Ответить
      • Ruby появился в 1996 году, но до 1999-го был мало популярен за пределами Японии.
        Возможно потому, что документация у него была только на японском.
        Ответить
        • «Рапира» появилась в 1980 году, но до сих пор малость популярна за пределами России.
          Возможно потому, что документация у неё только на русском.
          Ответить
    • 中国語が分からない。Переведи на 「日本語」
      Ответить
    • Надо еще язык основанный на индусском, для разработчиков из Microsoft.

      http://lurkmore.to/%D0%A4%D0%B0%D0%B9%D0%BB:IE7_developers. jpg
      Ответить

    Добавить комментарий