\r\n\r\n
誰もがソフトウェア開発者になりたがるが、誰もソフトウェア開発者になりたがらない。存在意義のひとつは、「新しい用語をどうやって頭で覚えるのか?
ここでは、初心者の方が遭遇する最も基本的なプログラミング用語の入門編として、コードを学ぶ際に必要となる日常の基本を列挙します。
プログラミングの用語をいちいち覚える必要はない。練習を重ねることで、これらの用語の意味を直感的に理解することができるようになります。用語やその定義を覚えるだけでなく、それらがプログラミングの文脈でどのように使われ、なぜ使われるのか、その論理を明らかにすることを心がけましょう。
この方法は、混乱しやすいプログラミング用語の多くは、他の混乱しやすい用語を含んでいることを考えると、特に有効である。プログラミングの学習では、自分にプレッシャーをかけすぎないことが大切です。
テキストエディタとは、テキストを編集するためのプログラムです。一見簡単そうに見えますが、きちんとしたテキストエディタを使うことは意外に多いのです。
Windows用のメモ帳は、テキストエディタの代表的な例です。しかし、テキストエディタは、さまざまなキーボードコマンドや機能を統合することで、プログラミングの力を追求しています。これらにより、より速く、よりきれいなコーディングが可能になります。
シンタックスハイライトは、それだけ重要な機能なのです。これにより、テキストエディタは異なるパラメータを異なる色で強調表示することができます。そして、プログラマーはドキュメントを迂回することで、異なるコマンド、言語、シンボルを区別することができます。シンタックスハイライトは、エラーに気づいたり、コードのブロックを切り分けたりするのに欠かせない機能です。また、プログラミングのロジックを直感的に理解できるようになります。基本的な例を挙げると、赤い括弧は、近くに別の括弧を配置しなければならないことを意味します。
Notepad++とSublime Textは、ダウンロードし、使用し、探索することができる高品質のテキストエディタの2つの例です。
テキストエディタが書いているコードだけに着目するのに対し、IDEはアプリケーションを書き、コンパイル(テキストからコンピュータ言語への変換)、テスト、デバッグ(修正)するためのサンドボックスと言えるでしょう。統合開発環境」の環境という言葉がポイントで、IDEを使うということは、閉じたプログラムの中で、複数のプログラミングツールを使うということです。そして、これらのツールを使って、製品を作っていただきます。
IDEがあるからといって、テキストエディタよりプログラミングが簡単だったり難しかったりするわけではありませんが、ファイルのリンクなどプログラミングの重要な部分を容易にするため、IDEを信頼する人もいます。1つのHTMLファイルを1つのCSSスタイルシートで変更したものを追跡するのは簡単ですが、より複雑なプロジェクトでは、さまざまな言語やフレームワークなどをリンクさせる必要があります。
また、C++、C、Ruby などのオブジェクト指向のプログラミング言語でも IDE は非常に便利です。
"It's not a script, it's a language "というのは、プログラミング界では古くから言われている格言です。初心者は通常、すべてのコードにプログラミング言語が関わっていると考えますが、プログラミング言語とスクリプト言語には微妙な二律背反の違いがあります。
プログラミング言語はコンパイル型で、スクリプト言語はインタプリタ型です。
例えば、コンピュータ1でアプリケーションを作成し、それをコンピュータ2の誰かに送りたい場合を考えてみましょう。
コンピュータ1で作成したプログラムをコンピュータ2の人に使ってもらうためには、ソースコードをコンパイルして実行ファイルにし、それをコンピュータがダウンロードして実行しなければならない。
このニュアンスは、Windows PCで実行ファイルにコンパイルしたコードは、Macでは使えないと覚えておくとよいでしょう。
一方、コンピュータ2にインタプリタを使わせたい場合は、JavaScript(スクリプト言語の一例)をWebサイトに組み込んで、そのWebサイトへのリンクをコンピュータ2に送ればよい。リンクはウェブブラウザを介して他のコンピュータで解釈されますが、明示的なダウンロードやインストールは必要ありません。インタープリタブルコードはコンパイルする必要がないため、異なるコンピュータプラットフォームでも使用することができます。
ソフトウェアフレームワークは、コーディングプロジェクトのガイドラインを決定する厳密なコーディングの青写真です。言語とは異なり、フレームワークは、与えられたパラメータの中で言語のどの側面を使用するかを決定します。例えば、Bootstrapは、様々なWebuiツールを呼び出して様々な作業を行うフロントエンドフレームワークであり、rubyonrailsは、サーバーにデータをどのように格納するかを決定するバックエンドフレームワークである。
一方、ソフトウェア・ライブラリは、再利用可能なコードの一部であり、プロジェクトに統合してタスクを実行することができます。フレームワークは、多くの場合、ユーザーがライブラリを統合して機能を拡張することを可能にします。例えば、Ruby Gemsは、プログラミング言語Rubyを使って作成されたライブラリである。これらのライブラリは、コードの機能を拡張するために、rubyonrailsフレームワークに統合されます。
プログラマーとして、正しい構文を必要とする正しいコードと、擬似的なコードの2種類のコーディングを大まかに行うことになります。構文とは、ある言語の構造を定義するものです。プログラミング構文とは、より具体的には、ある言語で特定のコマンドを記述するための適切なルールやガイドラインを指します。
プログラミング構文の論理を正規の言語を使って説明するために、疑似コードを使用します。コマンドを書くために擬似コードを書くのではなく、コマンドのロジックを概説してから、シンタックスを使用して実装する。疑似コードは、コードのテンプレートを作成し、プロジェクトを完了させ、特定のコーディングフォーマットを頭に貼り付けることを容易にします。
例えば、テストを採点するためにどのような動作が必要なのか。 非常にシンプルな論理的順序から始めることができます。
SEE TestLOOK At QuestionMARK AnswerIF Correct, CheckIF Incorrect, XWRITE Grade以上、試験で得点するために必要なステップを正しく説明しましたが、意外と想像の余地があるものです。自分たちが何をしようとしているのか、明確に示しているか。回答はランダムに採点するのか、それとも数字順に採点するのか?スコアはパーセンテージで決まるのでは?その場合、正解、不正解、総問題数などの生データを比率に変換して、その比率を算出する必要があるのではないでしょうか?
コーディングの際に必要なのはこの厳密なロジックであり、疑似コードを書いてアウトライン化することで磨きをかける。時間が経つにつれて、擬似コードはコーディングプロジェクトの論理的な進行と実際の構文に、より近く一致するようになります。
今すぐソフトウェア開発のキャリアを積むのは難しいと思っている方、その通りです!ソフトウェア開発の世界は、宇宙のように広大で果てしなく広がっています。少なくとも、そう感じています。
しかし、やることは虚空に足を突っ込むだけ。プログラミング用語に初めて触れる方でも、上記の用語がプログラミングのキャリアアップのほとんどの側面に関連していることがおわかりいただけると思います。これは、プログラミングで使われる用語が相互に依存しているためである。新しい用語が増えるたびに、そうでないものを2つ学ぶことになります。
重要なのは、最も基本的な基礎の部分をカバーできているかどうかです。さて、プログラミングの用語を学んだら、次はプログラミングの基本的な考え方を学びましょう