このブログを見ていただいている方はかなり少数だとは思いますが、プログラミングをしている方はどのくらいいるでしょうか…? 今回の記事は「既にプログラミングをしている方」ではなく、「プログラミングをしてみたい!」という方へのアドバイス記事みたいなものを書こうかと思っています。 まあ、記事を書き始めたのには理由があって、私の友達で「プログラミングをしてみたい!」と私に言ってきた人がいました。 そこで適当にレクチャーしたネタを何かしらの形でメモ、というか他の人にも知っていただけたらと思って…。 実のところ、5W1Hが基本です。いつ(When)、どこで(Where)、だれが(Who)、なにを(What)、なぜ(Why)、どのように(How)。これらがはっきりすれば、作るものもはっきりしてきます。

まず何を作ろうか?(What)

まず、プログラミングを始める前に、「あなたが何を今作りたいか」を考えてみてください。 プログラミングに限らず、何かを制作するときでも「何を作るか」という最終着地点が決まっていなければ予定を立てることも出来ません。 たまーに「プログラミングをしたいのですがオススメの言語はありますか」などとまず言語を決めてからなにかをしようとする人を何人か見かけたことがあります。 プログラミング言語にも行う動作によって、どのような環境で行うかによって、など、色々な判断材料があります。それを手っ取り早く決められるのが「まず何を作りたいか」です。 しかし、ここであまりにも高度なことを考えてはダメです。できるだけかんたんそうな、そんなものを作りたい!と考えてみましょう。

作りたいものを決めたら、どこでそれを使うか考えよう(Where)

プログラム、と一言に言ってもどのような分類の制作物なのか、どのような場所(環境)で用いるのか、など、色々な分けられ方があります。 とりあえずここでは、何を作りたいかを考えたらどこで使うか、を考えてみましょう。 例として、自分のサイトを持ってみたい!と思えばWebサイトがその場所になります。Windowsで時計のアプリケーションを作ってみたい!と思えばWindowsのアプリケーションがその場所になります。 ただし、ここでiOSやAndroidなどのめんどくさい場所を指定しない方が良いです。環境構築(プログラミングをする環境の構築)がめんどうくさく、途中で飽きます。

いつ(When)、だれが(Who)、なんで(Why)使うのか?

どのようなものを作るか決まれば、いつ、だれが、なんで使うのかは決まるとは思います。しかし、これらがはっきりしていないと、どのようなGUI(画面の配置)が適切か、何を設置すればよいか、などが解りづらくなります。 これらを決めておけば、何が優先なのか、適切な配置などがはっきりし、より早く、作っている本人でも分かりやすいデザインとなるでしょう。

どのように作るか?(How)

さて、ここまで決まったらどの言語を使うか、を決める段階になります。 私もプログラミングをやり始めてまだ数年しか経っていませんからはっきり言って詳しいことは言えません。ただ私が触ってきてなんとなく使いやすい、と思ったものを並べておきます。

C

Windowsでアプリケーションを制作する場合にかなり用いられる言語だと思います。 Visual Studioでデザインは直感的にいじれますし、nuget等を用いて簡単にライブラリを導入できます。 Visual Studioをダウンロードしてインストールするだけで環境構築はほぼ完了、という形になるので初心者の方にはわかりやすく、とっつきやすい言語かもしれません。

PHP

Webサイトのサーバ側プログラミングをする際によく使われる言語です。明確な型宣言などがないため、ガチのプログラマーのみなさんにはあまり評価が高くはありませんが、適当に考えて適当に作りたい、と思う人にはとっつきやすいかもしれません。 PHPに対応するサーバが必要となりますが、最近は無料でPHPが使えるサーバも多少は増えてきました。しかしその分C#やJavaなどの「ビルド」作業が必要ないですし、やろうと思えばスマホひとつだけでプログラミングすることもできます。 公式のリファレンスも日本語があってわかりやすいですし、大体は調べたら出てくるので制作するには楽かも。

JavaScript

Javaとよく間違われますが、こちらはWebサイトのクライアント側(利用者側)のプログラミング言語。 デザインを変更したり、動的に動かしたりなどの視覚的効果をもたらすほか、利用者の行動制御などが容易にできます。 知っておけば好きなサイトを開いてブラウザの拡張機能やらからそのページを加工(サーバ上のデータを変更できるわけではありません)したりすることができたり、色々遊べることは遊べる。 環境構築とかは必要ないけれど、かと言ってじゃあそこまでオススメする言語でもないかなと。まあ若干さわりだけでも覚えておいて損はないかもしれない。

Java

私はBukkitのプラグイン作成程度にしかJavaを使わないのでよくわかりませんが、とりあえず情報が大量にあるという点は初心者には良いのかも? ただし環境構築が若干面倒くさい。環境変数とか通さないとならないので多少の知識は必要かも? あとかなりバージョンに左右される部分が大きいかもしれません。書き方ががらっと変わったりするので検索するときにはバージョンを要チェック。

いま思いつく言語はこれだけ。他にもNode.jsやらなんやら言語はたくさんあるけれど、よく分からない。 こういうところは私はあまり詳しくないので、他のページを見てみるのが一番かと。

どんな関数やら、ライブラリやらを使うか考える

まあ、これ以降は調べるのが手っ取り早かったりする。 例えば外部のページから情報をPHPで取得したいならfile_get_contents関数、C#でTwitter関連取り扱うならCoreTweetライブラリとか。

最後に

どうも分かりづらい説明になったような気がする。 とりあえず、言いたかったこととしては「何を作るか考えずに作り始めてもよくわからないまま終わってしまう」ということは確か。 プログラミングをする上で大切なのは「思いつき」。何をしたいか、という思いつきがでなければ正直なところプログラマーとしての素質はあまりないと思ったほうが良いかもしれない。 まあ、仕事としてプログラミングをするならこの記事のとおりにはとてもいかないとは思う。それは仕方ないこと。 でも趣味としてプログラミングをしたい!というのならどのような言語を使っても、どのようなものを使っても、人に迷惑さえかけなければ自由っちゃ自由。 あくまでここで書いたことは私の個人的な意見でしかないし、多分、どこかの他のサイトでは私の考えと真逆なことが書いてあったりするかもしれない(別に見つけたわけじゃないけど)。 ぜひ、「思いつき」を大切に。何か思いついたらすぐにメモ。できるか出来ないかはともかく、やってみることは良いことだから…。

Categories: 日記