コードを学ぶという見通しに直面したとき、意欲的なプログラマーは、その複雑さ、難解な記号、そして単にコードを学ぶのに十分な技術を持っていないのではないかという恐怖に襲われます。最初のプログラミング言語の最初の選択は、一か八かの決断のように感じられ、その旅が挫折で終わるか、永続的な成功につながるかが決まります。
Ruby は入門言語として最適で、コーディングは書くことよりも少しだけ難しいと感じさせる言語です。コーディング言語は平易な英語のように読め、複雑な処理を自動的に処理し、現代のソフトウェア アーキテクチャの中核となる概念を簡単に理解できるようにする必要があると信じているなら、Ruby を気に入るはずです。
コーディングについてほとんど知識がなくても Ruby を読むことができます
Ruby の最も興味深い点の 1 つは、その初心者に優しい性質であり、平易な英語の読み書きに驚くほど似た構文によって駆動されます。実際、Ruby は、他のほとんどの競合製品よりもはるかに大きな方法で人間の言語の自然な流れを反映しています。
Ruby コードのブロックを C++ または Java で書かれたスクリプトの隣に配置すると、違いは明らかです。これらのより難しい言語は、コンパイラーの要求を満たすためだけに厳密で不可解な記号、必須のセミコロン、および冗長な型宣言に依存することがよくありますが、Ruby は驚くほどシンプルで、必要なものがそぎ落とされています。
話し言葉と非常に似ているため、全くの初心者でも、コードをあまり見たことがなくても、基本的な Ruby スクリプトを見て、それが何をするのか正確に推測できるでしょう。次のような例を見ると、 5.times { print "Hello" }誰でもすぐに参加して、Ruby を使用したプログラミングのルールを学ぶことができる理由は簡単にわかります。
私は最初にプログラミングの仕方を学び、Ruby より先に Python を試しましたが、まだ混乱していたのを覚えています。コーディングは抽象的な数学か高密度の機械語のように見えます。ただし、Ruby は明確で単純な命令のように見えます。これは、ロジック自体よりも構文について混乱している場合に、そこに到達するための優れた橋渡しとなります。開発初心者の場合は、役立つサイトを試すことができますが、Ruby は慣れるのが簡単な言語です。
Ruby の作成者であるまつもとゆきひろ “Matz” は、開発者の幸福の原則に重点を置き、言語を人間の心にとって自然なものにしようと積極的に努めました。カンマや括弧をどこに配置するかについて、100 もの厳格なルールを覚える必要はありません。多くの場合、Ruby では、括弧がなくても意味がすでに明らかな場合は、括弧を完全に省略できます。
必要なことを直接表現できるため、構文と格闘するのではなく、プログラミングの中核となる問題解決の概念に集中できます。
とても簡単に作れるようになりました
Ruby の有名な使いやすさは、明らかに、幸運な偶然や時間の経過とともに起こったものではありません。先ほども書きましたが、常に人間を第一に考えるという核となる考え方に基づいて構築されています。 Matz が 90 年代半ばに Ruby を思いついたとき、彼の大きな目標は、純粋なマシンの速度よりも、プログラマーの生産性と満足度を重視した言語を作成することでした。当時、多くの言語担当者は、コンピューターの動作を高速化したり、データをより適切に処理したりすることに夢中でした。
マッツ氏は、ソフトウェア開発における本当の行き詰まりは、開発者がどれほどイライラしているかであることが多いと見ていました。彼の有名な言葉は、コンピュータは実際には単なる道具であり「奴隷」であり、私たち人間は「主人」であるということです。つまり、プログラミング システムは必要なものに合わせて作られるべきであり、その逆ではなく、マシンの厳格なルールに従わなければならないということになります。 Matz は、言語が数学的に何ができるかを単に誇示するのではなく、コードを書くことがどのように感じられるかに重点を置きました。
Ruby は、他の言語の新規学習者がつまづきやすい、トリッキーなバックグラウンド操作をスムーズに処理できるように設計されています。たとえば、Ruby には完全に管理されたメモリと自動ガベージ コレクション システムが組み込まれています。このユーティリティは、使用されなくなったメモリを特定し、自動的にクリーンアップします。手動作業は必要ありません。
Ruby は、柔軟性と安全性のバランスを完全にとった方法で入力を処理します。これは動的に型指定されており、基本的に変数を使用する前に変数が数値であるか文字列であるかを叫ぶ必要がないことを意味しますが、厳密に型指定されています。この厳密さにより、言語が数値にテキスト文字列を追加しようとするなど、奇妙なことを黙って実行することがなくなります。
これは、非常に厳密な宣言を画面いっぱいに表示することなく、これらの卑劣なバグを回避するのに非常に役立ちます。新しいプログラマーがコンパイラーと格闘する代わりに、問題の解決、ロジックの構築、創造性に集中できるように構築されています。
コーディングの方法がわからない場合は、Ruby が良い入門者です
Python を何度も試しても、プログラミングを学ぶことは決してできないと思っていましたが、Ruby のおかげでピンと来ました。 Scratch も役に立ちましたが、Python をすぐに学習してもうまくいかない人にとっては、Ruby は本当に素晴らしいと思います。
Ruby は、正確な構文に囚われることなく、プログラミングの中核となるロジックと構造を理解するのに役立ちます。そのアーキテクチャは人間の言語の自然な流れを反映するように設計されており、初心者でも自然に思考を進めることができます。
あいまいな句読点を覚えたり、厳格な書式設定ルールと格闘したりするのは最悪だと思っていました。だからこそ、私はコーディングを学ぶことは決してないと信じていました。 Ruby の可読性は認知負荷を大幅に軽減し、新しい開発者が複雑な命令を理解するのではなく、問題解決に完全に集中できるようにします。
構文を覚えるのが簡単だと思うなら、Python の方が優れたゲートウェイ言語です。他の言語よりも簡単な言語を学ぶことになりますが、私と同じで、構文が最も難しい部分である場合は、Ruby が最適です。その後、他の Web サイトや学習ツールを試すことができます。
Python は基本的に、オブジェクト指向プログラミングのオブジェクトとともに手続き型プログラミングの関数を備えたハイブリッド言語です。このため、オブジェクト指向機能が中心となる哲学ではなく、ボルトオンで追加されたもののように感じられる場合があります。
一方、Ruby は純粋なオブジェクト指向言語であり、文字通りすべてがオブジェクトです。単純な数値やテキスト文字列のようなプリミティブなデータ型であっても、独自の組み込みアクションとプロパティを備えたオブジェクトです。すべてがこの同じ一貫したルールに従っているため、初心者の学習曲線は実際に平坦になります。
手続き型関数とオブジェクト メソッドの間で考え方を常に切り替える必要はありません。この一貫したアプローチにより、アプリケーションを相互にメッセージを送信するオブジェクトの対話型システムとして考えるように脳が訓練され、これは現代のソフトウェア開発のアーキテクチャと非常によく一致します。
Ruby の設計哲学は非常にユニークで、効率よりもユーザーを重視しています。 Ruby を最後のステップにするべきではないと思います。実際、それは最初のものであるべきです。それでも、この親しみやすい言語から始めると、優れたプログラマーになるために必要な自信が生まれます。
学習しやすい言語だからといって、Ruby が他の言語より本質的に優れているわけではありません。実際のところ、トップには程遠いと言えるでしょう。ただし、Ruby を学習した場合は、次は Python を試してください。