\r\n\r\n
サビは刺激的です。それは、ほとんどすべての分野の開発者が言っていることです。プログラミング言語ってたくさんあるけど、どれを学べばいいんだろう?ある言語が他の言語よりエキサイティングであるわけがない。
Rustを次に学ぶべき言語であることを証明する良い例があります。本日は、Rustを学ぶべき7つの理由を取り上げますが、その前に、イントロダクションです。
Rustは、Mozillaが開発したプログラミング言語です。他の多くの言語と比較して、RISTは非常に若いですが、表面的にはCやC++によく似ています。
にもかかわらず、Rustは最新のパッケージ管理システムを持ち、ほとんどすべてのオペレーティングシステムにインストールでき、さらに組み込みハードウェアでも使用することができる。
Rustは公式サイトからインストールすることができ、言語のドキュメントも提供されています。
もちろん、もっと簡単に学べる言語もありますし(でも、Pythonも万人向けではありません)、なぜRustを学ぶのでしょうか?
コーディング言語は目的によって適するものが異なります。低レベル言語はその速度から、ハードウェアやメモリに負荷のかかる作業に適しています。しかし、潜在的な問題も抱えています。経験豊富な開発者でも、デバッグがほとんど不可能なプログラムエラーに遭遇することがあります。
一方、高級言語(Python、Ruby、JavaScriptなど)は、低級言語ほど性能は良くないが、読み書きが簡単なことが多い。高レベル言語では、ユーザーのメモリ管理を行うため、より安全に使用でき、デバッグも快適になります。
Rustは、低レベル言語のスピードとコントロール、高レベル言語が提供するツール、セキュリティ、デバッグを兼ね備えています。
Rustは、Cargoというパッケージマネージャを使用しています。JavaScriptのNPMやRubyのGemsのように、Cargoはプロジェクトに必要なものをすべて集めてコンパイルしてくれます。Rustで新しいプロジェクトを作成するには、Cargoを使用します。Cargoは、コードのエラーチェック、コードのコンパイルとビルド、依存関係の管理にも使用されます。
新しいRustyプロジェクトはそれぞれ、プロジェクトの詳細と依存関係を含むgoods.tomlファイルを持っています。goods.toml ファイルを使用して、チェックまたはビルドするたびに、プロジェクトに必要なすべてのものをパッケージ化します。
フレームワークの中には、初心者が操作しにくいものもあります。パッケージマネージャを使ったことがない人でも、Cargoなら初めて使う人でも簡単に使えます。
Rustの大きな魅力の1つは、そのスピードです。その巧妙に構築されたメモリ管理ルールにより、ゴミの収集は必要ない。他の多くの言語では、問題を防ぐために、実行時に何が実行されるかを常にチェックしなければならない。
Rustは、コンパイラが不正なコードの生成を防ぐため、実行時のチェックがありません。スクリプトによっては、コンパイルに時間がかかるものもありますが、すぐに実行されます。
これは、コンピュータ上で動作するプログラムに限ったことではありません。同じインテリジェントなメモリ使用システムで、オーバーヘッドがほとんどないため、Rustは組み込みハードウェアに最適です。ラストもラズベリースキンと非常に相性が良いのは当然です。
WebAssemblyは、オンラインでコードを実行するための言語とポータブルな実行ファイルの両方です。低レベル言語なので、どんな言語でもWebAssemblyにコンパイルすることができます。
Rocketのようなフレームワークでは、開発者は純粋にRustでWebアプリケーションを構築することができ、オンラインのスピードが重要であることを考えると、完璧なオンライン言語と言えるかもしれません。
Web開発用のJavaScriptはすぐにどこかに行ってしまうわけではありませんが、RustとWebAssemblyの組み合わせは非常に強力で、将来の多くのプロジェクトで重要な役割を果たすでしょう。
あらゆる種類の開発者がRustを愛しているのは、一目瞭然です。2016年、2017年、2018年のStack Overflowの開発者アンケートでは、最も人気のある言語となりました。ウェブ開発者、音楽**の人、ゲーム開発者、組み込みハードウェアのプログラマーなど、誰もが自分の職業にぴったりだと口を揃えて言うのです。
どの分野でも、「さび病」を知っておくと、今後に役立つかもしれませんね。そうでなくても、語学を学ぶ理由はもうひとつある。
最近では、ほとんどの人が独学でコーダーを学び、多くは高級言語を使用しています。コーディングに長けていても、プログラムがどのような仕組みで動いているのかをよく理解していないことがあります。さらに悪いことに、あなたのコードは正しくコンパイルされても、実行できないコンピュータ上ではずっと合理的なタスクを実行しているように見えるにもかかわらず、実行がうまくいかないことがあります。
低レベルの言語は、コードをより速く実行することができます。C言語やその他の低レベル言語で初心者向けのプロジェクトを試してみると、これらの言語はそれほど難しくないと思われます。問題は、メモリ管理を十分に理解していないと、デバッグが困難な問題に陥ってしまうことです。
Rustは、プログラミングをしっかりやることを要求しますが、始める前にすべてを知っていることは求めません。プログラムの中で何か問題が発生したとき、コンパイラは問題の原因を教えてくれるだけでなく、コードの修正も提案してくれます。
Rustを学ぶということは、低レベルの言語を学ぶために必要なことをすべて学ぶということです。その違いはRISE思考のルールにあり、便利なコンパイラを使えば、CやC++でうっかり宇宙を壊してしまうことなく、良い練習をすることができます。
ほとんどすべての言語のドキュメントには、新規ユーザーが構文や使い方に慣れるための入門編が用意されています。Rustはさらに悪い。Rustプログラミング言語(単にBookと呼ばれる)は、単なるマニュアル以上のものだ。
本書は、20章にわたり、例題を通して言語のあらゆる要素を網羅したガイドブックです。初心者が読みやすいように、しかしプロがイライラしないように、どちらにも合うような口調を心がけています。
プログラミング言語Rustは、それ自体はコーディングの基礎本ではありませんが、この言語の仕組みを学ぶ過程は、自分の実践のための鏡となるものです。
Rustは、プログラミングに興味がある人なら、ほとんど誰でもワクワクするようなものです。言語を完全に習得するつもりがなくても、プログラミング言語「Rust」に関する本書は一読の価値があります。
この記事で述べてきたことをすべて踏まえた上で、まったくの初心者であれば、やはりPythonをお勧めします。Pythonは、まったくの基本を学ぶには最適ですが、将来のテクノロジーを担う言語として十分に強力です。