パスワードを忘れた? アカウント作成
13891243 story
数学

Mozilla、Pythonのデータサイエンス処理をブラウザー内で実行する「Pyodide」を発表 48

ストーリー by headless
実行 部門より
Mozillaは16日、Pythonで書かれたデータサイエンススタックを完全にWebブラウザー内で実行できるようにする実験的プロジェクト「Pyodide」を発表した(Mozilla Hacksの記事VentureBeatの記事Infoworldの記事)。

Mozillaではデータサイエンスの処理をすべてブラウザー内で実行可能にするIodideを3月に発表しているが、現在利用可能な唯一の言語であるJavaScriptには成熟したデータサイエンスライブラリがなく、数値計算に役立ついくつもの機能が不足している。MozillaはJavaScript向けにデータサイエンスライブラリを開発することにも意義があると考える一方、早道としてPythonをブラウザー内で実行できるようにしたとのこと。

Pyodideでは標準的なPythonインタープリターがすべてブラウザー内で実行され、ブラウザーのWeb APIにフルアクセス可能だという。ただし、スレッディングなどの機能は現在のところ動作せず、ブラウザーのサンドボックスがあるため、ローレベルのネットワークソケットは今後を含め動作するようになる可能性は低い。

JavaScript仮想マシン内でPythonインタープリターを実行するという仕組み上、パフォーマンス低下は避けられないが、ネイティブの処理時間と比較するとFirefoxで1倍~12倍、Chromeでは1倍~16倍の範囲に収まっているそうだ。IodideのWebサイトではPyodideの使用例として「Oakland 311 Case」が公開されているほか、demo notebookでは、Pyodideの高度な機能を一通り確認できる。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2019年04月20日 13時38分 (#3602723)

    CPU他の性能が向上していく中、実行環境をより高級に鈍足にすることで、
    計算処理を遅くし、さらに高性能なパーツの需要を上げていくスタイル?

    • by Anonymous Coward

      PC持ってるIT人足がいなくなってるんじゃないですかね

    • by Anonymous Coward

      目的は、コンピューターを効率的に使うことではなく、
      最短の手段で結果を得ることにある。

      1. JavaScriptで成熟したデータサイエンスライブラリを開発する。平行して、データサイエンティストがJavaScriptを学習する。
       実行コストは低い (CPUの利用効率が高い)。

      2. JavaScriptでPythonをエミュレートし、既存のデータサイエンスライブラリを使用する。データサイエンティストの再学習は不要。
       実行コストは高い (CPUの利用効率が悪い)。

      結果を得るという目的に照らし合わせると、2の方がコストが低いという結論になる。
      大方の場合、人間の再学習が最もコストが高い要因になる。出なければ、Win32や、x86はとっくに死滅している。

      ただ、そもそものWebブラウザ上でデータ処理しないといけない理由はしらない。

      • by Anonymous Coward on 2019年04月20日 23時43分 (#3602946)

        私は再学習のコストとcpuのコストを天秤にかけた結果としてPyodideなるプロジェクトが出現したとは思っていません。

        ソフトウェア業界では"性能を150%改善しました。”とか"bug fix"とかやっているだけでは、目新しさがなくてニュースにもならないので、新規のユーザーを獲得することができないのです。つまり地道な改善をしているだけでは利益は目減りしていきます。

        なのでコンピュータをいじめ抜くスタイルだろうが、実用性が有るか無いか等は置いといて、保守なんてするよりも、取りあえず新製品をどんどん出して既存製品には機能追加をすることが大切なのです(長期的には企業の信頼とかに響いてくるから何ともいえないですが、ITの世界は短期間で移り変わるので企業も短期的なプランを採用することが多い)。

        MozillaがPyodideを出したのも、MSがWindows10の大型アップデートに拘ってバグ修正に力を入れないのも、Googleがサービスを始めては終了するのも、こういった理由からです。
        IT企業にとってみれば新規ユーザー数の獲得と、ユーザーがプロダクトに費やす時間を延ばすことが大切で、ユーザービリティを重視することは実はあまりお金にならないのです。

        親コメント
        • by Anonymous Coward

          まあ真実
          したり顔で言われると腹立つけど、明文化するのも大事だわな

          今関わっている大手メーカーの製品もまさにソレ、
          要求仕様からユーザビリティ検討、設計、実装に到るまで質が低くて
          それが市場不具合頻発の原因とみんな分かっているのにソコへの対処は後回し、
          リソースは全て新機能・新オプションにつぎ込んで、
          最低限のドロナワ保守対応を同じ部署の開発者にやらせる方針

      • by Anonymous Coward

        いろいろ実験するのはいいことだと思うんですが、ある日削除されてしまうでしょ?Mozillaのプロジェクトって…

        • by Anonymous Coward

          それな

          それな……。

        • by Anonymous Coward

          実験なんだし、別にいいんじゃないの?

  • by Anonymous Coward on 2019年04月20日 13時56分 (#3602730)

    プログラミング教育をするときに最も面倒なのが環境構築なんで、そう言う意味でお手軽なJavascriptが選ばれることがあるんだけど、正直微妙だった。
    一方でPythonは環境構築がやっぱりちょっと面倒。

    そこでこれですよ。すばらしい。

    • by Anonymous Coward

      nodeのデタラメさを見たらPythonが極楽に見えるよ。

    • by Anonymous Coward

      はっきり言ってJavaScriptは手続き型の処理を書くための言語では無くなってますね。組み込みの文字列やコレクション操作もちょっと弱い。
      手軽に始められるけれど手軽さに特化した言語ではない歯痒さがあります。

      WindowsとかだとPythonの導入の仕方に迷うところですが、ブラウザで閉じた世界で何気なくPythonが利用でき、
      JavaScriptで培われた環境の恩恵まで受けられるとしたら少なからぬ期待を持ってしまうところ。

    • by Anonymous Coward

      TCCクソ便利よ。
      標準に準拠したC環境で、-runオプション使えばインタプリタ感覚で動かせる。
      コンパイル爆速だからそんな使い方でもストレスフリー。
      最適化がからきしって位しか目立つ欠点ないと思う。
      #個人的にはインラインアセンブラがgas系なのが気に入らんけど。

      Windowsの場合は小さいアーカイブ一個展開するだけで即使えてWinAPIも使える。

      • by Anonymous Coward

        C言語というのが欠点

      • by Anonymous Coward

        C++Builderはなんか遠くに行ってしまったなあ。

        • by Anonymous Coward

          主に価格面でね

          • by Anonymous Coward

            アンダース・ヘルスバーグさんが追い出された時点で終わったんですよ。

  • by Anonymous Coward on 2019年04月20日 14時23分 (#3602741)

    Python♪

    • by Anonymous Coward

      殺人ジョーク?

      • by Anonymous Coward

        買わなきゃハドソン♪ でしょ。

        • by Anonymous Coward

          買わなきゃハドソン♪

          KONMAI「ハドソン買ったけど腐らせてます」

          • by Anonymous Coward

            「ときめかないアイテムは処分しましょう」

            • by Anonymous Coward

              パロディウスでときめいてた人材はどこに行ったんだ……

  • by Anonymous Coward on 2019年04月20日 15時19分 (#3602752)

    Numpyが動くと言ってるんだな。ScipyとMatplotlibもかな?
    そこが重要だと思うんだが、そうじゃないの?
    データサイエンスなるものには詳しくないのでわからん。

    • by Anonymous Coward

      というかAnacondaからブラウザ内に相応しくないライブラリを除外したものをまるっと入れてくれればそれでいいんですが。。
      しかし、あの辺のライブラリはまだちょくちょくバグが見つかるし、それをブラウザ丸抱えにすると、ユーザー環境の切り分けが面倒になるし、そもそもあの辺のライブラリはネイティブ言語で実装されてスレッド使いまくりだし、、、

      ブラウザでPythonは夢があるけど、ベターJSの範囲を超えるのは難しいのでは。それ以上はwasmに期待したほうが良さげ。

  • by Anonymous Coward on 2019年04月20日 15時22分 (#3602754)

    WebAssemblyじゃないんだ。しかしこの表現はJavaScriptがホストなのかゲストなのか分かりづらいな

    • by Anonymous Coward

      IEがJScript以外にもVBScriptや(ActiveX経由?で)RubyだかPerlだか実行できたように、
      JavaScriptとは独立した実行エンジン積んでくれれば速度的には最高なのに……

      セキュリティ・サンドボックス実装を二重にやって他ブラウザで車輪の再発明させるより、
      JavaScriptエンジン上でインタプリタ動かす方が低コストっていう判断なのだろうか。

    • by Anonymous Coward

      リンク先の記事によるとWebAssemblyは使っているようだぞ

  • by Anonymous Coward on 2019年04月20日 15時31分 (#3602760)

    ほかにやることあるんじゃないの?
    Mozillaさんよぉ

    • by Anonymous Coward

      ブラウザいじくり回すプロジェクトの人がやってるんだから、別にいいんじゃない?
      (これやめたからって有意義なことに人と時間を費やすようになるとは思えないし)

      • by Anonymous Coward

        こんな聞こえもしない所で「Mozillaさんよぉ」なんて凄みながら
        「ほかにやることあるんじゃないの?」と「必要性」を問うところが笑いどころなのでは?

        …それはさておき、バリバリ処理系寄りの人がUI担当するのも勿体ないし、
        エキスパートにレイヤ違いの仕事を任せるとかえって酷い出来になることも多々ありますからね。

    • by Anonymous Coward

      必要性のあることは誰か他の奴がやるだろう?必要なんだから。

      必要性のないことをやる、それは自分が何をしたいか
      きちんと理解している人間にのみ許される行為なんだよ
      理解してない奴は永遠に他人の奴隷だ

      • by Anonymous Coward

        >必要性のあることは誰か他の奴がやるだろう?必要なんだから。

        その論理だと必要性のあることをやる奴誰もいねーなw

        • by Anonymous Coward

          「いや、そのりくつはおかしい」

          マジレスで悪いけんど、
          主語の事情やら差異やらをオミットした構造論なんて
          無意味どころか害悪だすよ

  • by Anonymous Coward on 2019年04月20日 17時07分 (#3602805)

    WebAssembly上で動くHTMLレンダリングエンジン、
    WebAssembly上で動くJavascriptインタプリタ、
    WebAssembly上で動くJava VM
    WebAssembly上で動くFlashエンジン
    WebAssembly上で動く〇〇〇・・・

    みたいにやっていけば、実装がスマートになる

    WebAssembly上で動くx86仮想マシンとか作れば、ブラウザ上でさらにOSも動かせる

    • by Anonymous Coward

      QEMU&FFMPEG&TCC開発者「呼んだ?」 [bellard.org]
      # 前にスラドで話題になったときより充実してやがる……GUIまで付きやがった

    • by Anonymous Coward

      WebAssembly上で動くMorphyOne

    • by Anonymous Coward

      Javaは死なせてやってくれ
      今更Java Appletとかあり得ない

      • by Anonymous Coward

        ブラウザ上でjavaが動く≠Java Applet

    • by Anonymous Coward

      WebAssembly上で動くx86仮想マシンとか作れば、ブラウザ上でさらにOSも動かせる

      それらをまるっとsystemdに組み込めば完璧だな

  • by Anonymous Coward on 2019年04月20日 18時55分 (#3602841)

    結局はブラウザに書き込んだコードをクラウド上のサーバーで実行する形式に落ち着くような
    簡単なコードは無料で実行できて、重くなると課金されると

    AWSでいいんじゃないですかね?

    • by Anonymous Coward

      クラウドごとにやれることやAPIが大きく違うので、特定または一部のクラウドサービスに強く依存する形になる方向性は取らないんじゃないかな?

    • by Anonymous Coward

      AWSで動かすものは今もこれからもAWSでいいだろうけど、クライアント環境でリソースが足りすぎるものをAWSでやりたくないでしょ。

    • by Anonymous Coward

      既に構築されたPython環境が使えるなら、ブラウザは入出力だけやれば良い訳で、それってJupyterあたりと何が違うのかと。

      # データサイエンティストとやらをクラウド上に持っていく方が……

    • by Anonymous Coward

      なんで税金も払わない会社のサービスに依存しないといけないのか

      • by Anonymous Coward

        政治家と競合他社が無能だからですよ
        無能のために私が何かを我慢する必要があるんですか?

  • by Anonymous Coward on 2019年04月20日 20時06分 (#3602871)

    Pythonのライブラリには、実態がネイティブバイナリのラッパーであるものが少なくないと思うけど、
    Numpyみたいな有名どころ以外はどうするの?

    • by Anonymous Coward

      CPUの機能をゴリゴリ使っているとかでなければ、ネイティブ部分はwasmにするとか。
      何かしら手を入れる必要はあるだろうけど、このプロジェクトがちゃんと回れば、
      やろうと思う人が出てくる程度にはハードルは低いはず。

  • by Anonymous Coward on 2019年04月21日 8時06分 (#3603026)

    なんて読むの?<Pyodide
    「パイオダイド」?

typodupeerror

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...