Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Symposiumに参加した。Machineプロジェクト(source)を紹介した。Runtime(source)(DLR)と類似しており、どちらのプロジェクトも、それぞれの仮想マシンでの動的言語のサポート改善を目指している。その問題に対するアプローチはかなり異なる。Hugunin氏が作成したIronPythonに基づくもので、もっと簡単に.NETのCLR上で動的言語を実装するために設計されたライブラリやツールである。DLRは、(言語にとらわれない表現木による)コンパイラやインタプリタ生成、(動的呼び出しサイトの自動更新による)素早い動的実行、言語間でのメソッドのディスパッチや型システムのサポートのための機能を提供している。DLRの作業の大部分は、その基礎となっているCLRはほとんど変更せずに、DLRの上部のライブラリ群として行われた。Vinciプロジェクトの範囲はもっと広く、動的言語と関数型言語の両方を対象としている。JSR-292に基づいて進められており、SunのリファレンスJVMの実験用ブランチの一つである。この仮想マシンには、Javaではない言語をJavaそのものに匹敵するレベルの性能で効率的に実行できるように、いくつかの拡張機能のプロトタイプが作成されるだろう。動的実行の実装は、重要なサブプロジェクトである。言語のコンパイラに対し、Javaではない呼び出しサイトのコンパイルを可能にするメカニズムを提供するが、これは実行時に呼び出しサイトのリンケージを決定する言語固有のハンドラによる。リンケージは動的引数の型に影響を受けやすい場合があり、時間とともに更新されたり破棄されるだろう。他にも、もっと小さなサブプロジェクト(source)があり、(新しい末尾呼び出しのバイトコードのプレフィックスによる)末尾呼び出しや末尾再帰のサポート追加や、(新しいタグ付きタプルの署名文字列を使った)タプルなどがある。仮想マシン仕様の一部を形にすることである。Rose氏は、JVMとCLRにおける新しいプログラミング言語への関心の高まりについて語っている。IronRubyを含む)DLRは、私達がプログラミング言語設計の、ある種の再生あるいは復活の時期にいることを示しています。何らかの理由で、人々は再び大々的ににプログラミング言語を考案していますが、関心を持ってもらうことを期待していますし、時には関心を持たれることもあります。私は「何らかの理由」というのは、より優れたツールや、もっと高いレベルの実行環境、もっとコストのかからないCPUサイクル、そしてオープンソースの動向が組み合わされたものだと思います。MachineとDLRの類似点についても書いている。私が作成しているJVMでの動的実行では、SmalltalkやSelf、CLOSで実証されているアイデアを適用していたことは自覚していましたが、同業者(であり競争相手)がこうしたアイデアの実用性の証明に忙しかったと知り、勇気付けられました。CLRそのものの変更を最小限にして実装されているため、DLRに対する開発の大半は、CLRとは離れたところで動的言語の性能を上げることに重点が置かれていた。Rose氏の主張によると、JVMのJITでは既にかなり積極的な最適化技術がサポートされているので、これはJavaの世界では重要ではない。Nutter氏も、同じような意見を、このシンポジウム参加について書いたブログ記事(source)で述べている。JVMが備えているのと同じレベルの動的最適化が(まだ)ありません。JITでは既にサポートされている、コードのデオプティマイズは今のところサポートされておらず、コードの最適化方法を検討する際に、型の情報が必ずしも含まれているとは限りません(時々?めったにない?)。動的言語の性能を出すためには、単に余分な作業をしなければならないのです。早くにJITできて、決して変更されないと当てにすることができる静的な呼び出しパスはありません。そのサイトから呼び出されるのはずっと同じコードであることが検証可能な形でわかっているので、呼び出しサイトを特定のメソッドの本体に結びつけることはできません。結局それは、プロファイリングやルールを構築した呼び出しサイトの自動更新、そして集められた情報に基づいたターゲットのセットを使い、そのような機能をあなた自身が実装しなければならないことを意味しています。」もちろん、どちらのアプローチもそれぞれ長所と短所がある。Microsoftがとったライブラリのアプローチでは、市場に出すまでにかかる時間が短く、そして修正したものはCLRとは別に出荷することができる。Vinciが無くても、JRubyは既にオリジナルのCコードのバージョンのRubyよりも優れたベンチマークの性能を示している)が、開発のサイクルはかなり長くかかっている。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。