DATA+ – 7 月 9 日から 13 日まで、アイントホーフェンでは、新しいプログラミング言語 Julia に関するカンファレンス JuliaCon が開催されます。しかし、Julia にはどのような機能があるのでしょうか?
プログラミング言語は、今日のすべてのソフトウェアの中核です。Python、MATLAB、C などの主要な言語は強力で正確ですが、バグや欠点も存在するため、新しいコーディング言語が登場します。
Julia は、科学計算、機械学習、データマイニングを目的とした汎用プログラミング言語です。数値解析や計算科学にも使用されます。Julia は 2012 年に導入され、現在最も使用されているプログラミング言語 (Python や C++ など) の長所を取り入れ、短所を最小限に抑えることを約束しています。比較的新しい言語であるため、成熟する必要がありますが、現時点では、約 16,000 人の開発者が使用しています。Python では、数百万人の開発者が使用しています。
より優れたプログラミング言語は、現代の課題を解決するのに役立つより優れたソフトウェアを開発するために不可欠です。
今年後半、アイントホーフェンではこの言語に関する世界最大のカンファレンス、JuliaCon が開催されます。7 月 9 日から 13 日まで、Julia コミュニティがこの都市に集まり、5 日間にわたってこの言語に関する講演、基調講演、ワークショップが行われます。フィリップス スタジアムがカンファレンス会場となり、1,000 人の来場者が訪れる予定です。
「私にとって、Julia には 3 つの特徴があります。1 つ目は数学の問題を解くスピードです。Julia を取り巻くエコシステムも注目に値します。ドメイン エキスパートがさまざまな問題に取り組み、コードを共有しています。さらに、Julia はオープン ソース言語であり、強力なコラボレーション メカニズムが存在します」と Gareth Thomas 氏は言います。同氏はソフトウェア コンサルティング会社 VersionBay の共同設立者であり、JuliaCon を組織するボランティアの 1 人です。
プログラミング言語は、コンピュータに特定の方法で動作し、特定のタスクを完了するように指示する構文および意味の規則のセットです。したがって、各言語には独自の語彙、つまり構文に従ってコンピュータ命令を作成し実行する独自のキーワード セットがあります。プログラミング言語は、私たちが使用し、体験するすべてのソフトウェアの背後にあります。Web サイトでは HTML、JavaScript、CSS などの言語が使用され、C++ や Python は、より複雑なアルゴリズムやプログラムをコーディングし、広範なデータ分析を行うための頼りになるオプションであることがよくあります。
世界で最も使用されている言語の 1 つであるにもかかわらず、Python の主な欠点の 1 つはその遅さです。ASML の開発エンジニアであり、JuliaCon 組織委員会のメンバーでもある Jorge Vieyra 氏によると、Python で書かれたコードと C で書かれたコードには桁違いの違いがあるそうです。実際、Python は他の言語でコンパイルされたライブラリ (タスクを高速化するためのコード コレクション) に依存しています。「あるライブラリを使用して別のライブラリを呼び出す場合、Python の内部 (言語インタープリターのソース コード ed.) を調べて、それらを接続する必要があります。これがボトルネックの原因です」と、開発エンジニアは説明します。
さらに、Python でコーディングするときに使用されるライブラリのほとんどは、暗号化、機械学習、Web アプリケーションなどのドメイン固有の領域にあり、他の言語でコンパイルされています。対照的に、Julia は、Julia で書かれたすべてのドメインのパッケージを提供しています。これにより、2 つの良い結果がもたらされます。言語が誰にとっても向上し、共有が高速化されるため、コーディング プロセスが迅速化されます。
トーマスは、この側面を明確にするために比喩を使っています。「ポルトガル人とイタリア人が仲良くしているところを想像してみてください。彼らは同じ言語を話さないので、同じ考えを持つまでに時間がかかります。しかし、全員が同じ言語を話せば、全員が非常に生産的になります。」
Julia が違いを生む可能性があるのは、いわゆる物理学に基づく機械学習、または科学的機械学習です。従来の機械学習は、大量の入力データをアルゴリズムに与えて処理し、相関関係を提供することで機能します。この種のアプローチは、OpenAI の ChatGPT などのモデルの背後にあります。対照的に、科学的機械学習には別のアプローチがあり、アルゴリズムに科学的知識を与えて、たとえば複雑な方程式を解くのに使用します。「基本的に、アルゴリズムに私たちが持っている知識を与えて、機械学習に不足している部分を補わせます」と Vieyra 氏は説明します。
アルゴリズムに複雑な計算をさせると、計算が難しい定数の値を定量化し、与えられた問題を解決する方法を提案するのに役立つ。「これにより、機械学習が現実世界の仕組みに近づきます。Julia はマルチプロセスを通じてそれを可能にします。これは数学者の考え方に似ています」とトーマス氏は付け加える。ある意味で、このアプローチは理解しにくいものに常識をもたらすことになる。すべてが同じ言語でコード化されているため、他のプログラミング言語では実現できない計算を実行することも可能だ。
Julia でコンパイルされたコードは、すでに多くのアプリケーションが登場する中で、大きな変化をもたらしています。その例は、電力網の保護からエネルギー取引まで多岐にわたります。一般的に、この言語は統計分析とモデリングに優れています。もう 1 つの興味深い使用例は、Zipline です。同社は、Julia を使用して、医薬品を効率的に配送するための最適な飛行経路を見つけています。注目すべきことに、この言語は製薬業界のいくつかの開発にも利用されており、Pfizer や AstraZeneca などの業界リーダーが活用しています。
オープンソース コミュニティである Julia は、どの企業からも支援を受けていません。しかし、オープンソース プロジェクトを支援するアメリカの慈善団体 NumFOCUS が Julia をサポートしています。大企業がこの慈善団体に寄付し、慈善団体はこれらのプロジェクトに資金を再分配して、サーバー費用の支払いを支援し、法的見解を提供しています。
Julia はコミュニティの努力によって完全に推進されています。言語がオープン ソースであるということは、言語のソース コードが使用または変更可能であることを意味します。この種のソフトウェアは、公開されたオープンなコラボレーションで開発され、一般に無料で公開されます。Julia の開発者コミュニティは、その構成要素の作成に積極的に取り組んでいます。Vieyra 氏によると、これは言語の開発、バグの発見、およびバグの報告に大いに役立っています。
来年 7 月の JuliaCon では間違いなくこの言語が注目され、オランダでもさらに多くのユーザーを引き付ける可能性があります。
元記事: https://innovationorigins.com/en/there-is-a-new-coding-language-in-town-meet-julia/