超初心者からはじめる
絶対に挫折しないプログラミング入門
ここでは、プログラミングを始めて見たいけど、なにから勉強したら良いのか 分からないという方を対象に、なるべく分かりやす解説を加えて、プログラミングの 学び方を紹介したいと思います。
プログラミングは誰でも始められる!
世間一般のイメージではプログラミングは、パソコンが好きな人や得意な人、 理数系が得意な人、向けな印象が強いですが、全くそんな事はありません。 今や、アンドロイド向けの開発環境にしても、Webサイト向けの開発環境、 Windows向けの開発環境などは、無料で誰でも手に入れられますし、やる気さ あれば何でも自分で準備が出来る時代になりました。(もっとも、高度なアプリケーション開発や、 ハードウェアを組み込んだシステム開発などは、それなりの知識や経験が必要になります) 本項では、目的別にどのような事に着目して、プログラミングを学んだら良いのかを 焦点に紹介したいと思います。
どんなプログラミングをしたい?
一口にプログラミングといっても、目的に応じて様々なジャンルにわけられます。例えば、
・アプリケーションを作りたい
・Webデザインをしてみたい
・機械制御をしてみたい
どれもプログラミングといっても間違いありませんが、ジャンルはかなり異なります。
特に、アプリケーション作りにおいては、プログラミング言語を習得する必要があります。
このプログラミング言語は種類が多く、初めてやってみたいという人にとっては
かなりややこしいものになると思います。
プログラミング言語は何を勉強したらいいの?
このテーマで説明をしてしまうと混沌としてしまうので、個人的な意見で紹介するならば何を
勉強しても良いと思います。 なぜならば、プログラミングは根気良く、継続してコーディング
(プログラムを書く事)しなければ上達が難しいからです。
どんなに、素晴らしい教科書、プログラミングの先生が、あなたのに付っきりでレクチャーをして
くれても、自分でコーディングをしなければ習得が難しいのです。 これは、どんなに模範的な
字や絵、スポーツのビデオを見て参考にする事ができても、習得をするのが難しいのと同じで、
自分で実践しないと習得が難しいのと同じです。とにかく自分で実践するのが大事なのです。
※つまり、プログラミングスクールに通うのも良いのですが、結局は自分でプログラムを
書かなければ上達が難しいので、スクール通えばすぐ出来るようになる、とはいきません。ただし、
スクールではあれば、分からない事をピンポイントで先生に教わることが出来るので、効率
良く勉強できると思います。 ただし、上記で述べた通りとにかく自分でコーディングしなければ
上達しないので、スクールに通えばプログラミングが習得出来るという訳でないと言う事です。
いま、Yutubeで話題のマコなり社長が運営する、プログラミングスクール
参加者限定特典あり。TECH::CAMPオンライン説明会
では、ご自宅でもオンラインでキャリア相談可能なので、独学に自信がない方は、受けてみるのもいいかもしれません。
2022/8/4にキャンペーン終了したようです。
もっとも、いまやプログラミング言語に関しては、インターネットで調べられないジャンルは無いといっ
ても過言ではない程、情報が豊富にあります。
とにかく継続して続け、嫌にならない為にも自分が興味を持った言語にトライすることが一番大
事です。
もしそれでもどの言語を勉強しらた良いの分からない方には、C言語(C++)、Java言語、を勉強
するのをお勧めします。 特にC言語は、理解できれば間違いなくどの言語も理解できます。
それほど文法体系が厳格で、曖昧な記述が許されない基本的なプログラミング言語だからです。
※似た言語にC#がありますが、これはWindows用のアプリケーションに特化した言語になるため
乱暴な言い方をすれば、C言語がらアレンジが加えられた言語と理解した方が良いでしょう。
Webページ作成の為の、CSSや、Javaスクリプトは、C言語の構造体や基幹的なプログラム構築
をするのにそっくりなので習得をして損をする事はまず無いでしょう。
C言語は難しい
たしかにC言語は難しいと思います。特に難解にしているのがポインタでしょう。 しかし、このポインタのおかげでより柔軟で奥深いプログラミングが可能になっているのです。 今では、あえてこのポインタ操作(メモリ操作)を考慮しない(※あえて出来ないようにしてる) プログラミングが多いですね。 しかしC言語は、より低級な(コンピュータに近い)言語であるため プログラムの実行速度の速さは他の言語を追随させません。 速さを求める高速な処理を行いた い時や、重たく負荷がかかるシステムを構築しなければならない時に、非常に活躍してくれます。
スマホのアプリは何の言語?
スマートフォンのアプリは、アンドロイドでは、java言語、iPhoneでは、Objective-C、 という言語が使われてます。 (いずれの言語もC言語から派生した言語になってます) ※アンドロイドでは、NDK(ネイティブデベロッパーキット)を導入する事で、C言語で作った ライブラリを活用したり、プログラムを組む事ができます。 結局は、C言語はとにかく応用幅が広いのです。
インターネットのページは何の言語
インターネットのWebページ(サイト)は、マークアップ言語といわれる見た目の装飾を 飾ったり、構造を定義するものになります。 いわゆるプログラミング言語とは少し異なります。 基本的には、文章テキストを表示しているのがWebページなるので、この文章にたいして、 htmlタグという、各種ルールが決められたタグで囲い、対象の 文章に装飾をおこなう事ができます。 上記のhtml部を<strong>html</strong> と囲うことで、太文字強調することが出来ます。 このhtm、 CSS(カスケードスタイルシート)とセットで使用するのが主になるので、Webデザインをしたい 人は html とあわせて CSS の理解も必要になります。
Visual Basic (ビジュアルベーシック)
最後に、VBについて簡単に説明します。 VBは、Basicという言語をベースに
マイクロソフトが、GUI(グラフィックユーザーインターフェース)と言う、部品を配置して
コーディングとデザインを融合させた、プログラミングを出来るようにしたものになります。
※GUIとは、ボタン、チェックボックス、タブ、などWindowsでおなじみの、マウス操作
が出来る部品を言います。
一番身近なVBとして、Microsoftの、Office_Excelの開発タブから、
VBのプログラミングできます。 Office、があれば誰でもすぐ出来るので、とにかく
プログラミングを触ってみたい方には、一番の近道でしょう。
・VBの特徴
先に紹介した、C言語、Java言語に、比べてより文章に近い、コーディングが可能な
言語となっています。(高級言語) 大きく違う点として、その実行速度に大きな違い
があります。 VBで作られたアプリは、インタプリタ(通訳者)型言語と呼ばれ、
アプリが、インタプリタを介して実行される為実行速度が劣ります。また、
実行環境も、インタプリタがいないと起動できないため、環境に依存するアプリとなります。
(汎用性が低い)
かなり大雑把に、プログラムの種類について紹介しましたが、これらの他にも たくさんの言語があります。 次項より、C言語とjava言語をメインに、プログラミング初心者向けに 重要な点に着目して勉強が出来るように紹介していこうと思います。 まずは、Androidのスマートフォン用アプリを作れるように、アンドロイド向けアプリの開発環境である、 AndroidStudio(アンドロイドスタジオ) の導入、環境構築方法の詳細を、 Android Studio入門のページで 紹介します。