僕は... 外国人です。
日本に住んでいてなんとなく自分なりに生活を送っています。
なんか難しいことを勉強することが好きなタイプでプログラミングの勉強も始めましたww
だから日本語だけじゃなくてプログラミングに関しても知らないことはまだまだたくさんあります。
1年半ぐらい前にプログラミングの勉強を始めて、今までかなり苦労してきました。プログラミングはすごく魅力があって何か作りたいなって思ってたきっかけで始めたけど、一体どこから始めればいいかは全く分かりませんでした。
正直はそういう気持ちはまだよくあります。でも、独学で習ったことを、ビギナーのプログラマーのために書き置きたいなと思ったのでこの記事を書きました。
① プログラムが作りたいなら、言語を習うだけじゃ足りない
GUI が必要です。当たり前じゃないか?って思うかもしれないけど、プログラミングが習いたいって思った時、言語を習うだけで済むんだと甘く思っていました。何が GUI かさえ知らなかったからです。最初はターミナルで自分の作ったプログラムをコンパイルしてたけど、なんか本格的なプログラムじゃないな〜って感じがしました。そしてある友達と android アプリのプロジェクトを始めました。Android Studio で XHTML と Java を使ってアプリを作ります。そうか。 Java 側でコードを書いて、 XHTML 側で見た目を実装する訳です。
アプリだろうがサイトだろうが、GUI が必要で、プログラミング言語だけで作れません(ほとんどの場合)。ウェブサイトだったら HTML と CSS は基本。そして Ruby on Rails とか、Django といったフレームワークもあります。アンドロイドは Android Studio で Java を書きます。 IOS は cocoa touch で Objective-C か Swift を書きます。Unity で C# か Unity JavaScript を書きます。言語だけじゃ足りないな。
② 言語だけじゃ足りないから、習うべきこと
ただ、GUI だけじゃないです。深い説明は割愛するけど、これを習ったらいいよって本当に言ってほしかったことを書いておきます。
1.ターミナルかコマンド・プロンプトの基本の操作やコマンド
先頭に「$」があるってやつを見かけたことがあります?
$ cd desktop
みたいなやつ。
それをターミナルやコマンド・プロンプトで打ち込む訳です
2.Git/Github:他人とプログラムが作りたいならこれは不可欠だし、自分のコードを安心にいじるためにも使えます
3.Qiita/Stackoverflow等:問題を解決するにはすごく役に立つウェブサイト
4.Sublime Text や Atom 等:コードを書くための専用のテキストエディター
5.Markdown:自分のプログラムの説明を Github で書く際、.md で書きます。Qiita の投稿もww
6.MySQL/SQLite3/PostgreSQL等:データベースだけなんだけど、back-end のウェブ開発がしたいなら、何かのSQL(データベースとのやり取りを行うための言語)を知らないといけません
7.フレームワーク:何かを作ろうとしたら、(いつもこうではないけど)フレームワークがあって、その中で開発します。HTML や JavaScript だけでフォルダーを作ってウェブサイトが作れるけど、現在は Ruby on Rails とか、Django とか、Unity とか、Android Studio とか、色々なフレームワークがあります。何が作りたいか知った上で、それを作るためのフレームワークを見つけて作ったらいいかもしれません。
それぐらいかな。長いリストじゃないけど、本格的なプログラムを作りたいなら、一冊のプログラミング言語の教科書だけじゃ無理ですね。
僕も初心者だから抜けてるところはあるかもしれないけど、この7つは結構大事だと思ってたから書いておきました。
③ まとめ
「コードが書きたい」と思う人は多いかもしれないけど、プログラムを作る時に、普通はコードを書くだけじゃないです。プログラミングの勉強を始める時に、プログラミング言語の教科書を買ったらいいけど、それだけじゃないです。「どの言語を習ったらいい?」という質問よりも、「ウェブサイトが作りたいからどのフレームワーク/環境で作ったらいい?」とか、「ゲームが作りたいからどのフレームワークで作ったらいい?」とかいう全面的な質問の答えを探せばいいです。
しょうもない記事かもしれないけど、素人プログラマーの私には本当に言ってくれればよかったのにって思ったことでした。