どのプログラミング言語が最適ですか?この質問には答えがないかもしれません。人によって好みは異なります。AI エンジニアや科学者は、プロジェクトのニーズに応じて、さまざまなプログラミング言語から最適なプログラミング言語を選択できます。 かつて誰かがプログラミングを料理に例えましたが、プログラミング言語は最初に準備する材料または調理器具です。 C: 包丁、フライパン、とても便利なコンロ、そして隣には野菜市場があります。 Java: 野菜チョッパー、野菜カッター、ミートグラインダー、生地ミキサー、オーブン、電子レンジ... Python: 大きなスーパーマーケットの冷凍食品売り場には、完成品、半完成品、その他あらゆるものが揃っています。すぐにテーブルに食べられる料理を並べることができますが、味や調理時間を正しく決めるのは簡単ではありません。 C++: 肉を切ったり、スライスしたり、切り分けたりするための十数本のナイフが付いた最高級のキッチン用品セット。炒め物、蒸し煮、肉の揚げ物、オムレツ、スープ煮込み用の鍋もあります... 21日間でこのツールセットの使い方をマスターしようとする人もいますが、結局は怪我をしたり、キッチンを爆破したりしてしまうことがよくあります。 AI 開発を始めたばかりの頃のニーズを満たすプログラミング言語は数多くありますが、プロジェクトごとに目標が異なるため、特定のアプローチが必要になるため、AI プログラミングの問題をワンストップで解決できるプログラミング言語はありません。 料理をするときに慎重に選ぶのと同じように、「達人」になる過程で学ぶ必要があるのは、自分に最も適したプログラミング言語を見つけることです。 パイソンPython は、読むことができる最も強力な言語です。 —ポー・デュボア Pythonプログラミング。画像出典: Unsplash. Python は 1991 年に開発されましたが、世論調査によると、AI を開発する際には、開発者の 57% 以上が C++ ではなく Python を優先プログラミング言語として選択しています。 Python は学習が簡単なので、プログラマーやデータ サイエンティストが AI 開発の世界に参入しやすくなります。 Python は、プログラマーがどの程度の自由を求めるかを示す「実験」です。自由すぎると、誰も他の人のコードを理解できません。制限が多すぎると、表現力がなくなります。 —グイド・ヴァン・ロッサム Python を使用すると、優れたコミュニティ サポートと幅広いライブラリ セットを利用できるだけでなく、柔軟性も得られます。おそらく、Python から得られる最大の利点は、プラットフォームの独立性と、ディープラーニングおよび機械学習のための幅広いフレームワークです。 Python でコーディングする楽しみは、多くの動作を少しの明確なコードで表現する、小さくて読みやすいクラスを見ることです (大量のコードで読者を退屈させるのではなく)。 ——グイド・ヴァン・ロッサム Python コード スニペットの例: よく使われるライブラリ
さらに、GitHub ライブラリの貢献により、Python は Java を上回り、世界で 2 番目に人気のある言語になりました。 Stack Overflow は、Python を「最も急速に成長している」主流のプログラミング言語と呼んでいます。 ジャワ一度書けばいつでも実行できます。 Java は、過去 20 年間の使用実績からもわかるように、世界最高のプログラミング言語の 1 つとして広く認められています。 Java は、その使いやすさ、柔軟性、プラットフォームの独立性により、次のようなさまざまな方法で AI の開発に関わってきました。
Java コード スニペットの例: Rロス・イハカとロバート・ジェントルマンは 1995 年に R 言語の最初のバージョンを公開しました。現在、R 開発コア チームによって管理されている R は、統計ソフトウェアの開発とデータ分析に使用される S プログラミング言語の実装です。 R の基本的な特徴は、大量のデータの処理に優れていることです。Python の不完全な NumPy パッケージと比較すると、R はより良い選択肢です。R を使用すると、関数型プログラミング、ベクトル コンピューティング、オブジェクト指向プログラミングなど、さまざまなプログラミング パラダイムを処理できます。 R 用の AI プログラミング パッケージ:
データ マイナーと統計学者の間で広く使用されている R の機能は次のとおりです。
プロローグロジックプログラミングの略語。 Prolog は 1972 年に初めて登場し、人工知能、特に自然言語処理の開発に適しています。 Prolog はチャットボットの作成に最適であり、ELIZA は Prolog を使用して作成された最初のチャットボットです。 最初の成功したチャットボット。 Prolog を理解するには、Prolog の動作をガイドするいくつかの基本的な用語に精通している必要があります。
Prolog は、長い間存在し、データ サイエンティストや研究者の間でよく知られている AI 実装の 2 つのアプローチを提供します。
リスプLisp を使用して、n 入力と m ユニットを持つ 1 層パーセプトロンを作成します。 リスト処理の略。これは Fortran に次いで 2 番目に古いプログラミング言語です。 AIの創設言語の1つとしても知られ、1958年にジョン・マッカーシーによって作成されました。 Lisp は不可能を可能にする言語です。 ——ケント・ピットマン プログラミングのための実用的な数学表記法である Lisp は、すぐに開発者が選ぶ AI プログラミング言語になりました。 Lisp は、次のような独自の機能を備えているため、機械学習 AI プロジェクトに最適な選択肢の 1 つです。
他の競合プログラミング言語が大幅に改善されるにつれて、他の言語にも Lisp の独自の機能がいくつか取り入れられるようになりました。 Lisp に関連する有名なプロジェクトには、Reddit や HackerNews などがあります。 Lisp といえば、少なくとも Haskell が登場するまでは、世界で最も美しい言語でした。 ——ラリー・ウォール ハスケルHaskell は 1990 年に作成され、有名な数学者 Haskell Brooks Curry にちなんで名付けられました。 Haskell は、遅延評価と短いコードに適した、純粋に機能的で静的に型付けされたプログラミング言語です。 Haskell は他のプログラミング言語に比べてエラーが少ないため非常に安全なプログラミング言語であり、エラー処理の柔軟性が高くなります。エラーが発生した場合でも、ほとんどの非構文エラーは実行時ではなくコンパイル時に検出できます。 Haskell が提供する機能は次のとおりです。
私が知る限り、タイピングではなく考えることに時間を費やせるプログラミング言語は、SQL、Lisp、Haskell だけです。 ——フィリップ・グリーンスパン Haskell の機能はプログラマーの生産性の向上に役立ちます。 Haskell は他のプログラミング言語と非常に似ていますが、ごく一部の開発者によってのみ使用されています。課題はさておき、開発者コミュニティでの採用が拡大するにつれて、Haskell は AI 向けの他の競合言語と同様に優れていることが証明される可能性があります。 ジュリアJulia は、ほぼすべてのアプリケーションを作成できる高性能な汎用動的プログラミング言語ですが、数値解析と計算科学に最適です。 Julia で使用されるその他のツールは次のとおりです。
Julia ソースコードの構成。 Julia には、AI プログラミング、機械学習、統計、データ モデリングに最適な機能がいくつかあります。これらの機能は次のとおりです。
Julia は他のプログラミング言語の弱点を解消するように構築されており、TensorFlow.jl、MLBase.jl、MXNet.jl などの他のツールと統合することで機械学習に使用でき、Julia のスケーラビリティを利用してさらに多くのことを行うことができます。 Google トレンド - Julia の使用傾向。 要約するAI エンジニアや科学者は、プロジェクトのニーズに応じてさまざまなプログラミング言語を選択できます。すべての AI プログラミング言語には長所と短所があります。これらの言語が改良され続けるにつれて、AI 開発はより快適な体験となり、より多くの人々がこのイノベーションの波に参加できるようになります。優れたコミュニティ サポートにより、新しい人にとって物事が容易になり、パッケージや拡張機能へのコミュニティの貢献により、全員の仕事が容易になります。 |
>>: フェイフェイ・リー氏のチームは、一人暮らしの高齢者のCOVID-19症状を監視する家庭用AIシステムを開発
デジタル時代が進化するにつれ、世界的なデータ損失を防ぐための高度なテクノロジーの役割がますます重要に...
[[390714]]機械学習は複雑化していますか? 「博士号なしで機械学習の仕事を得るのはますます...
スペイン紙エル・ムンドのウェブサイトが2月20日に報じたところによると、ソフトウェア、ハードウェア、...
ボストン・ダイナミクスのロボット犬は、ダンスビデオを毎年リリースしているほか、さまざまな産業や警察署...
COVID-19の流行が続き、核酸検査が広範囲で徐々に常態化している中、複数の組織が核酸検査用ロボ...
ロボット工学の世界では 4 年というのは長い期間ですが、特にオレゴン州立大学 (OSU) が開発した...
[[233174]]もしある日私を殴りたくなったら、ただ殴って終わりにできると思いますか?今はそんな...
編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:blog)次世代のス...
今日は古い知識を学んだのですが、普段私たちが使っている携帯電話の顔認識は顔の部分だけを認識するもので...
ハイパーオートメーション、ブロックチェーン、AI セキュリティ、分散クラウド、自律デバイスは、今年の...
人間の進化と発達は、脳の潜在能力を最大限に活用して世界を変えるプロセスです。その中で、インターネット...