こんにちは
みなさん、こんにちは。今回から「超入門プログラミング」のシリーズを始めていこうと思います。このシリーズはYouTubeの「ゼロ」チャンネルと並行して投稿していきますので、先に動画視聴→この記事という流れがおすすめです。
自己紹介
投稿者:ゼロ スキル:特にこれといったものはない 使用可能言語:PHP,JAVA,C...(その他あり) コメント:すべて独学になりますので、間違ったことやコードで遠まわししていることが多いです。ですが、この分野に興味のある方々に役に立てればと思い作成しています。
本題に入る前に
今回はゼロが解説するとしたら、ということでPHPという言語を主に扱っていこうと思います。PHPを学ぶことによりJAVAもほぼ同然にあとで扱うことができるようになります。プログラミング言語というものはほぼほぼ似ているので何かしら特異な言語があれば後は心配しなくても大丈夫なんです。
この記事もしくは動画を見ている方々は「プログラミングを始めたい!」という方が大半だと思います。ほかにも基礎からまた見てみようという方もいらっしゃるかと思います。まず皆さんはプログラミングをできるようになったら何がしたいですか?
まず、本題に入る前にプログラミングというものは目的があってこそするものだと僕は思います。(自分の意見)
「なんかかっこいいからプログラミングしたい」などはいい目的ではありますが、続くかといわれると「うーん」となってしまいますよね。僕の考えでは「●●を作ってみたい!」→「プログラミングしよう」
のほうが流れ的にはよいと思います。ですから、まず作りたいものを自分の中で決めてみましょう。
作りたいものが決まった方は続きを見てください。
プログラミングとは
最初に行ってしまえば、プログラミングとは「コンピュータを動かすための指示を順番に書くこと」を意味します。
コンピュータというものは、命令されたことを 素早く 正確 にこなすことが強みです。しかし、コンピュータ自体は人間のように意志を持って動くことができないため、どのように動くかなどを人間が命令をする必要があるわけです。皆さんのパソコンも何もしなかったら何も動かないですよね?もし勝手に動き出していたらそれは乗っ取られているか、ウィルスが悪さをしていると思っていいと思います(笑)。
プログラミング言語とは
プログラミング言語とは、コンピュータとのやり取りに用いる言語のことを指します。
コンピュータは私たちが普段使っている言語をそのままでは理解できないのです。コンピュータの内部では、すべてのデータが0
と1
のデジタル信号で処理しています。これは少し聞いたことがある人も多いと思います。そのため、コンピュータに命令を出す際には0と1を使用して命令をしなければ理解してもらえないのですが、人間が0と1を使って命令をそのまま出すには時間がかかるし、もうわけわからんくなるかと思います。その問題を解決してくれるのが、プログラミング言語です。
プログラミング言語にはたくさんの種類があります。ほとんどのプログラミング言語は英語を使った記述方法が用いられているものが多いです。
どの言語を選べばいいのかな?
では、上記のほうでも言った通りまずは作りたいものがあったほうが良いです。その作りたいものが決まったら次にプログラミング言語を選ぶわけなのですが、どれにしよう…?となってしまいます。正直答えはありません。プログラミング言語によっては得意不得意がありますが、基本的にどの言語を選んでも作りたいものをなんでも?実現することはできると思います。(例外あり)
種類
プログラムが動く場所は大きく分けて2つあります。1つ目は皆さんのデバイス(OS)上で動くものです。2つ目はサーバー上で動くものです。この2つを簡単に説明していきます。
・アプリケーション
まずはアプリケーション。これは普段皆さんが「アプリ」とよく言っているものですね。基本的にデバイスにインストール
して使用するものです。アプリケーションの場合は基本的に処理はデバイス上で行われます。
・Webアプリケーション
このタイプはZSHAREでよく使われているものですが、ブラウザなどを使用して動作するものをいいます。Webアプリケーションの場合はサーバ上で処理を行う場合が多いです。
僕が得意とするものはWebアプリケーション系です。つまり「サーバ上で処理をさせる」タイプですね。
Webアプリケーションを使うことによりYouTubeやTwitterのようなコンテンツ投稿プラットフォームを作成することができます。ほかにもWEB上で動くゲームなども作ることができます。最近ではOS上で動くツールで存在していたものがWeb版として出てきているものがあります。
なぜWebアプリケーション系を選ぶのか
もちろん普通のアプリケーションでもいいのですが、Webアプリケーションにはたくさんのメリットがあります。
1.「ユーザ側にインストール(配布)する必要がない」
普段、アプリケーションの場合はアプリストアからインストールなどをしなければ使うことができません。ですが、Webアプリケーションの場合はブラウザさえあればそのツールのURLにアクセスするだけで使用することができます。
2.「更新が一瞬」
Webアプリケーションの場合、システム自体は「サーバ側」に配置されているため、こちら側で内容などを更新してしまえばユーザ側が次回アクセスしたときには更新された状態になるわけです。ですが、アプリケーションの場合は自分でアプリケーションを更新しなければならないのです。「アプリのアップデートってやつですね」
3.「マルチプラットフォーム対応が可能」
Webアプリケーションの一番でかいところはこれかなと思います。例えば、YouTubeなどを閲覧する際に「この端末だとYouTube対応してないから、見れない」何てことないですよね。Webサイトの場合は基本的にどの端末(PCやスマホなど)でも閲覧、動作することが可能なのです。(こちら側も見やすいようにしたりする工夫は必要)
もちろんデメリットもあります。
Webアプリケーションにはデバイスの機能をフル活用できないというデメリットがあります。つまり限界があるということですね。ですが、可能性は無限です。またシステムが配置されているサーバーが落ちるとすべてのユーザがアクセスできなくなるというデメリットもあります。最終的にどっちがいいかといわれると、難しいですが僕はWebアプリケーションの開発をおすすめします。
大事なこと
何かを開発する際には、構成などをしっかり決めておくと後々楽になるかもしれません。僕の場合はホワイトボードを買ってそこに開発するものの構成を書いています。こうなったら→こうなる
のような簡単な感じで書いているだけで、頭の中では処理しきれないものを書くこともできます。
例) 通知機能システム 字が汚くても自分が読めれば何でもいいですw
他人が見ても何が何だかわからないかと思われます。しかし自分でわかっていれば、いいのです。こうやって絵に描くだけで作るときの助けになりますのでやってみてはどうでしょうか?
最後に
冒頭でも言った通り、目的がないとプログラミングは続かないと僕は考えます。いわれた通りにやっているだけでは多分面白くないし、続きません。まずは目的を作るもしくは学びながら目的を作るでもいいです。とにかく「これを作りたい!」というのを決めておきましょう。
例えば「ゲームを作りたい」だとしても、どのようなゲームを作るかという詳細をメモなどをしておくと今後開発する際に楽になります。
では次回へまた。
動画はこちら