プログラミング超基本 かみ砕き

  • このエントリーをはてなブックマークに追加

仕事とか学校で言語が決められているならば別ですが、自発的に勉強するにあたってはどれを選択すれば良いかとなると決め辛いですよね。オラの場合はN88Basicが最初でした。初心者にはこれしかなかった。時代を感じますね。C言語もありましたけど、C言語は偉人が扱うものだと感じていました。でもCで処理せざるを得ないことが起きて、やらざるを得なかったのですけど。Cを勉強するきっかけは「改行コードをデータとして扱いたい」というのが理由です。Basicだとそれができない(と思っている)ので。最初は用途に分けて言語を選んでいたのですが、そのうちある方向に偏っていきました。それは知らず知らずのうちにC系言語を利用するようになったのです。C系の良さは先ほど説明したように、テキストファイルを読み込んだ時に改行コードであるCRやLFもデータとして扱えるからです。ただ、ピュアなCはメモリの管理、確保や解放を常に気を付けていなくてはならず、ついうっかりメモリリークをさせてしまいます。人間は万能でないので仕方ないかもしれませんが、いざ完成して本番稼働したときにメモリリークが出て来るとやっかいなものです。このメモリ管理を行ってくれている言語でCっぽい代表的なものはJAVAやC#となります。Windows系ではC#が一番だと感じています。 先に白状しますが、オラはWindowsが中心で他のOS、Macやオープン系はたまにしか触りません。ですのでWindowsに偏ってしまいますがご容赦ください。
言語選びはあくまでオラの個人的な意見ですけどご参考までに。

使用しているパソコンのOSで選ぶ

Linuxなどオープン系だとJAVAしかないかと思います。MacOSだとSwiftだと思います。WindowsならばC#。Swiftはまだ新しい言語ですが、WindowsでのC#的な位置づけの気がします。JAVAやC#は今やマルチOS対応になってきました。メインの土俵OSはありますけど。これら代表的な言語も共通的なことがあります。コーディングがCっぽいんです。Swiftは行末のセミコロンは省略可能ですけど、波括弧でブロックを囲むとかCに通じるものがあります。C#はCと付いてるくらいですからC系で間違いないでね(笑)。

【 余談 】
オラは波括弧のことを中括弧と呼んでしまいます。そのように教育されたので。[ が大括弧、{ が中括弧 ( は普通に括弧です。欧米系では大括弧と中括弧が入れ替わっています。
最近の教育現場では{ を波括弧と呼んでいるそうです。

いろいろところで活躍したい

マニアックな言語を勉強しても使い道がないと無意味です。 その点ではJAVAが一番お勧め。理由は「世の中のITエンジニアで多く使用」だから。なぜそうなったのかはオープン系でガリガリと書くことができたからでしょう。JAVAを身に着けておけば全てのOSにおいて処理系のコーディングならば活用できます。アプリを作りたいということならば別です。それぞれのOSで主流となっている言語を使わざるを得ないです。「アプリも全てのOSで」ということならばC言語になりますが、OSに近い位置でプログラミングをすること以外ではお勧めはしません。

目的で選ぶ

目的で選ぶと別の条件に左右されます。例えばWebアプリを作りたいとしましょう。ざっくり説明するとWebアプリはWebサーバー上で動作しHTML形式でパソコンで表示されます。HTMLは標準化されているので大それた改変はできません。Webサーバーで動くとは、どのような意味でしょう。Webサーバーにもいろいろあります。代表的なところでオープン系のApacheやWindows系のIISがあります。Webアプリを作りたい=Webサーバーの種類で使用する言語が決まってくるということです。ApacheならばPHPとなります。このブログもPHPで動いています。IISならばVBも使用できますがオラはC#ですね。Webアプリはクライアント側も考慮しなければならなく、クライアント側での言語はJavaScriptの一点にしぼられます。今どきVBScriptを使用している方は聞いたことありません。
次、スマホアプリはどうでしょ。OSはAndroidとiOSしか今はないです。一番の悩みの種は両方のOSでアプリを展開したいというときです。それぞれ全く違う言語でガリガリと書いてしまうとバージョンアップする度に二度手間になります。そもそも開発時点で二度手間ですが。そこでなるべく双方で共通させる部分を持つことが望ましい、JavaScript+Htmlで基本的な部分を形成させAPIでサーバーに情報を飛ばして結果をスマホに返すということを考えてしまいます。もうお分かりかと思いますがサーバーにリクエストした時点でWebアプリと同じことなり、おのずと言語が決まってきます。

プログラミングにダイブ

実際に手を動かしてみることが重要だと思います。でも、その前にもう少しポイントを押さえておいてください。プログラミングに関する共通的なことをテーマごとにまとめました。こちらも読んでおいてください。

まとめ

迷っている方はざっくりと教えます。選ぶ言語はJAVAかC#。どちらから入っても、乗り換え時に抵抗感がさほどありません。最近はどちらの言語も全てのOSで利用できるようになっています。そして、この時代JavaScriptとHTMLは標準装備として身に着けておく必要があります。HTMLもCSSまで手を広げないとなりませんが仕方がありません。
でも、一番重要なのはフローチャートを書けるのか、アルゴリズムが書けるのかだと思っています。これができれば、後はコードに起こせば良いだけです。金銭に余力があるなら誰かに代打ちしてもらっても良いかもしれません。
最後はまったくの余談ですが、会話ではバイリンガルとかトリンガルとか言いますが、プログラマーで複数の言語を知っていても特別な呼び方はないですね。誰か言葉を作ってくれないかな。

SNSでもご購読できます。