美文网首页Raku Programming Language大数据
Perl 6 - 编程未来是什么样的?

Perl 6 - 编程未来是什么样的?

作者: 焉知非鱼 | 来源:发表于2016-09-30 18:58 被阅读127次

PERL 6: 编程未来长什么样?

作者: Zoffix Znet

HASH SOME PASSWORDS

use Crypt::Bcrypt;
my @passes = rand.Str xx 32;

my @hashes;
for @passes {
    @hashes.push: bcrypt-hash $^pass, :15rounds;
}
say @hashes;

运行花费了 63 秒

要使我们的程序多线程化需要多少行额外的代码?

地球上还没有任何语言能比 Perl 6 做得更好!

我们不需要额外的代码行, 只要两个单词就够了!

多线程

use Crypt::Bcrypt;
my @passes = rand.Str xx 32;

my @hashes;
for @passes {
    @hashes.push: start bcrypt-hash $^pass, :15rounds;
}
say await @hashes;

在代码中添加两个额外的单词就比原来快了 2,000%。

但是等等, 我还有话说!

单线程

use Crypt::Bcrypt;
my @passes = rand.Str xx 32;

my @hashes = @passes.map: {bcrypt-hash $^pass, :15rounds};
say @hashes;

多线程

use Crypt::Bcrypt;
my @passes = rand.Str xx 32;

my @hashes = @passes.race.map: {bcrypt-hash $^pass, :15rounds};
say @hashes;

但是再等等, 我还要再唠两句!

这是 HYPER 运算符: »

@bunch-of-things».call-this-method-on-every-item;

短点!

use Crypt::Bcrypt;
my @passes = rand.Str xx 32;
say @passes».&bcrypt-hash: :15rounds;

再短点!

use Crypt::Bcrypt;
say (rand.Str xx 32)».&bcrypt-hash: :15rounds;

但是我们所有的核心怎样了呢?

  • 2016: 单线程化
  • 2018: 自动线程化

让编译器来解决这个东西。

有很多很酷的东西关于:
并发/PARALLELIZM/异步/PROMISES/SUPPLIES/CHANNELS/JUNCTIONS/FEEDS
它门都是语言自身的一部分(而非模块)!

编程未来是什么样的呢? 更多核心。更多的 Perl 6.

相关文章

  • Perl 6 - 编程未来是什么样的?

    PERL 6: 编程未来长什么样? 作者: Zoffix Znet HASH SOME PASSWORDS 运行花...

  • Perl6 的特别之处

    Perl6 是 Perl 语言社区开发的新的编程语言。它和 Perl5 不兼容。 所有的编程语言都会经历一个成长过...

  • 第二天 - Perl 6: 符号, 变量和容器

    第二天-Perl 6: 符号, 变量和容器 对容器的基本理解对于在 Perl 6 中进行愉快的编程是至关重要的。它...

  • 前言 Perl 6 介绍

    这个文档的目的是为您提供一个对Perl 6 编程语言的简要概述,对于刚开始接触Perl 6 的人来说,该文档可以让...

  • 编程语言

    一、编程语言分类 二、解释型编程语言 Perl Perl 是一种支持动态编程的高级解释型编程语言。它是由 Larr...

  • CentOS7下安装Perl编程环境

    因为工作的关系,需要改用Perl语言进行编程,下面以CentOS7为例安装Perl编程环境。 安装Perl 一个命...

  • 第一章 Perl6 介绍

    Perl 6 是什么? Perl 6 是一种逐渐演进的通用的多用途高级语言。Perl 6 是多范式的,它支持过程编...

  • Perl 6 .rotor - 列表操作之王

    Perl 6 .rotor - The King of List Manipulation 对于 Perl 6 程...

  • Perl 6 中的并发

    Concurrency 与大多数现代编程语言一样,Perl 6 被设计为支持并发(允许多个事件同时发生)和异步编程...

  • Perl 6 - stackoverflowWeekly1014

    Perl 6 List Concatenation without Slip Perl 6 List Concat...

网友评论

    本文标题:Perl 6 - 编程未来是什么样的?

    本文链接:https://www.haomeiwen.com/subject/mhcryttx.html