【プログラミング】初心者にお勧めする言語


小学生のころ、ファミベから、PC6001 , MSX など いじってきましたし UI歴、IT勤め歴も10年以上です。 そんな自分がおすすめする言語やポイントを なんか悩んでいる人に向けて、お伝えします。 必ずしも正しいわけではないですが 判断材料の参考にでもしてください。

JavaScript

無料ですぐできるし、どこでも動かせる。オンラインでも、オフラインでもできるので いろんな人に見てもらえる。 プログラミングとして基礎は十分。まよっているぐらいならこれでOK。iphoneが一段落したらWebに回帰してくると思いますし、JavaなどEnterprise用途、OS横断型デスクトップアプリなど絡めるので、実用性や、稼ぎ等に役に立ちます。

2nd言語

自分な好きな道の言語を習得すればいいというスタンスなので あなたが興味ある道に関連するか判断できそうなことや 何ができそうなのかを中心に書いてみます。

スクリプト系

Perl/Ruby/Python

スクリプト言語は、まだまだ現場で使われます。 手軽にテキスト処理やバッチ処理、ファイル処理が使えるので 余裕があったら使うといいですね。 インフラ系であれば、shellなどと合わせてかなり重要な言語です。 やはりスクリプト言語は型付がないと 小規模なプログラムどまりになります。 Rubyは人気です。日本人が作ったし、比較的最近なのでとっつきやすさはると思います。 pythonも世界的に人気があります。Googleなどよく pythonと親和性の高い Perlは普及もすごくライブラリもあります。404 Not Foundの小飼弾さんもCPANなどに貢献していました。 まあどれも似ているので、そこまで神経質になる必要はないと思います。

バッチ系sh/bash

Sed/ awkやバッチ系sh/bash もそれほど覚えることは多くありません。これらやperlはBSDやUnixのコマンドにインスパイアされていると思うし、かなり似ています。 ログ・監視・パフォーマンス、NWなどインフラ絡みではバッチ系に活用できます。 Windows で Ubuntu / SELinux /  Debianなどが動くようになったので、PowerShellも今後来るかもしれませんね。

ノーマル系

Java

オブジェクト指向を学べ、GUIやグラフィックから、普及がすごい。 Webサーバも、Androidもこれを基礎にできる。

Lisp

Lisp / Scheme なども 異色ですが学んでおくと勉強になります。 極度に抽象化して柔軟なため括弧の嵐ですが、 オブジェクト指向やGCなど実用的な実装を初期のころからされています。 (効率的なプログラミングの世界を垣間見えると思います) 幅広さは確実に身につく!

BASIC

昔は入りやすかった言語です。 Office製品にもありますし、NINTENDO DSにも 簡易BASICがあり 子どもには親しみやすいと思います。

C#

Windowsソフトを作りたいなら、便利です。 Javaのような文法で、マニュアルやライブラリも以前C++に比べ格段と良くなりました。

C

Linuxの世界やハードウェアに近い世界IoTやモジュールに興味がある場合 こちらのほうがいいかもしれません。 バリバリメモリなどリソースに直接アクセスできます。その分、CPUやOS、アーキテクチャに影響を受けるので WindowsやAndroidのような大衆OSに乗せるには向きません。

3DCG

コンピュータグラフィックスをやりたい場合、JavaやCをやっていればまあうまくいくと思います。 それよりも、DirectXや Unity , Unreal で直接作り始めるのが一番早いと思います。 最初は、へこたれるかあまりできないかもしれませんが、意外と作っている本人は楽しいはずです。 (楽しくないのであれば作るの向いていない) 3DCGを無料でやってみたいけど初心者だから動けない人向けのサンプル

あまりお勧めしない

COBOL/FORTRUN

COBOLは銀行系などで、必須のの場合があるのでレア人材になれます。 必要でないなら、あまり学ぶメリットはないでしょう。

Go

並列処理言語。 よほどの高性能を求められなければ、 そのうちOSやCPU、コンパイラで対応してくれると思います。 興味がないのであれば、Javaやスクリプト言語を理解していたほうがつぶしが効きますし 応用範囲も広いです。

どうでもいいと思うポイント

最初の言語はこれ

やればいい。 好きなら続きます。 やれば成長しますし、わかってきます。 言葉ですべて説明できないし、 教えてもらえるようなことは大抵古いし普通のことです。 「百聞は一見に如かず」 ちょっと調べて概要を理解したら、 わかる範囲でもうどの言語を選択するか決め打ちしても そんなに悪い判断ではありません。

どの言語が優秀か

いろいろ、惑わされるかと思いますが、 どの言語が早いとか、どの言語が優秀とかは関係ないと思います。 あまり抽象的に議論したり、一般論で話すのは時間の無駄です。 言語によって得意なことは場合によりけりですので、 あなたがやりたいことにあわせてひとまず一つやってみるのが 結果的にその経験が一番早く前に進みます。

理解しないでたくさんの言語に手を付ける

合う言語を探している最中であればいいですが あまりおすすめしません。 それよりも、プログラミングに限らず、 他の理化学や、歴史、政治、人など 世の中の色々なことも含めて興味があったほうがいいかもしれません。

まとめ

何か一つどれでもいいから、学ぶのが良いと思います。 楽しければ続けると思うし合わない人は、どうせやめます。 気になることを学んでいくのが一番深くなるスタイル。 ずーっとやっていれば、 いろんな言語やアルゴリズムは少しずつですが 着実に身に付きます。 どれもそれほど大差ありません。 考え方も結局はトランジスタのデジタルな考え方が一緒なので 本質が似ているのは当たり前のことですね。 必要な言語をやれば使い慣れてくるし、 他の言語にもだんだんすぐ移行できるようになります。

おまけ

最近は量子コンピュータが、また違ったアプローチからなら実現できそうだというのがあります。 (理論は東工大 教授より)
Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

97 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です