8
2918

Я тут делал маленький ресеч и перечитал ответы на вопрос «Какими особенностями должны обладать языки будущего?», который был задан почти в каждом интервью, опубликованном в журнале за последние два года. Вот какая сложилась картина из ответов :-)

Параллельность: параллелизм; работа с распределенными ресурсами; параллельность; хорошая модель распараллеливания; поддерживать сопрограммы и многоядерность элегантным и интуитивным способом; параллелизм; безопасного распараллеливания операций; встроенная закулисная многопоточность; Качественная абстракция над сложными вещами вроде многопоточности параллелизм; хорошая поддержка распараллеливания; многозадачность.

Гуманизм: сообщество; человечность; опенсорс; прагматизм; управляемыми сознанием; возможность просто объяснить задачу компьютеру; легко решать задачи в конкретной области; ненавязчивость.

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

Объектная система: гибкий и надежный вывод типов; надежную объектную систему; интроспекции самого языка.

Синтаксис: похожий на натуральный язык; здоровый минимализм; расширяемость.

Не знаю: я не знаю; нет хорошего ответа.

  • vti
    2015-04-03 15:30 #

    Самое главное, чтобы была рабочая реализация :D

    или CTRL+Enter формат
    • dm_ivanovvti
      2015-04-03 17:00 #

      :) А как же желание подхачить, или создать еще десяток нерабочих реализаций.

      или CTRL+Enter формат
      • rvsdm_ivanov
        2015-05-07 15:38 #

        А это уже предусмотрено в пункте:

        > Гуманизм: сообщество; человечность; опенсорс.
        А дальше автоматически подключаются все радости опенсорса: лицензии GNU, BSD, свобода для форков с созданием кучи несовместимостей между потомками проектов и т.п. :-)

        или CTRL+Enter формат
  • ZlieTapki
    2015-04-26 22:40 #

    Низкий порог входа и наличие догматических принципов программирования.

    Низкий порог привлекает новых юзеров. Простые вещи должны делаться просто, первую программу можно написать за пару минут изучения - это очень нравится начинающим.

    Наличие догматических принципов делает язык интересным для преподователей вузов. Язык имеет шанс быть изучаемым в вузах и школах. А именно оттуда ростут новые последователи языка. Java не просто так обрела свое комьюнити - её преподают в вузе )

    или CTRL+Enter формат
  • rvs
    2015-05-07 16:02 #

    Отправлю с продолжениями из-за слишком длинного текста:

    Давно подумывал о чём-то таком для перла. Начну издалека.

    Есть в нынешнем перле операторы преобразования переменной, которые выглядят так:

    $переменная =~ s/выражение1/выражение2/;
    Эта операция преобразовывает переменную так, будто мы сделали действия, похожие на такие:
    $переменная = оператор($переменная, другие аргументы оператора);

    или CTRL+Enter формат
    • rvsrvs
      2015-05-07 16:02 #

      Но в конструкциях такого вида немного огорчает то обстоятельство, что для преобразования переменной эту переменную надо указывать и в правой части выражения для передачи оригинального значения внутрь алгоритма преобразования значения. А вот в операторах типа =~ преобразовываемую переменную не требуется указывать в правой части выражения, что придаёт некоторое удобство писателям программ, т.к. значение переменной из левой части выражения всё-равно откуда-то появляется в правой части самостоятельно.

      Для фич будущего (на основе уже имеющихся в перле идей) хотелось бы увидеть фичу такого же типа, когда в правой части операции преобразовываемую переменную указывать бы не требовалось, но её значение каким-то образом из левой части в правую всё-равно передавалось бы для преобразования подобно тому, как это неявно делается в операциях типа =~

      Может быть для функций придумали бы что-то типа спец-переменной или спец-приёма извлечения значения, например: `

      или CTRL+Enter формат
      • rvsrvs
        2015-05-07 16:02 #

        sub operator
        {
          # предположим, что в будущем значение из переменной
          # в левой части в вызывающей операции можно будет брать
          # из @_ по специальному индексу -1:
          return $_[-1] * 2;
          # хотя это только идея, а мало ли как можно придумать
          # доступ к значению переменной из правой части :-)
        }
        my $a = 5;
        # предложение для фичи:
        $a =~ operator(); # в итоге после преобразования: $a = 10
        # заметим, что значение переменной $a мы не передавали явно
        # в аргументах operator, но внутри operator доступ к значению
        # всё-равно получили

        Идея на правах бреда мозгового штурма :-)

        или CTRL+Enter формат
        • rvsrvs
          2015-05-07 17:13 #

          Писал-писал тут идею упрощения написания операций, а сейчас добрался до темы "Метаоператоры в Perl 6" на странице http://pragmaticperl.com/issues/27/pragmaticperl-27-метаоператоры-в-perl-6.html и думаю, что описанная мною идея уже может работать в одном из языков будещего перл 6, в котором, похоже, можно создавать свои новые операции. :-)

          или CTRL+Enter формат
Чтобы ответить, залогиньтесь или зарегистрируйтесь.
  • @user
  • _italic_

    italic

  • **bold**

    bold

  • [PP](http://pragmaticperl.com)

    PP

  • <http://pragmaticperl.com>

    http://pragmaticperl.com

  • module:Plack

    Plack

  • release:URI

    URI

  • author:VTI

    VTI

  • `my $foo = 'bar'`
  • ```
    my $multi;
    $line;
    ```