プログラマーになる際に最初に修めるべき3つの言語
スポンサーリンク
プログラマーの最低基準は年々高くなる
プログラマーという仕事は案外難易度が高いです。
プログラミングひとつだけを見ても、最低限3種類程度の言語を使用できるようにしておかないと仕事にならないということが多々あります。
(開発用言語2種、DB用言語1~2種など)
そこに、さらにデータベース制御についての知識やドキュメント整備の方法論、セキュリティ方針などの要素が加わってくるため必要な知識は多岐にわたります。
入社してから学ぶということもできますが、独学になることも多いです。
(むしろ、この手のことをしっかり教育できる会社がほとんど存在しないと思われる)
最初に使えるようになっておけば便利な3つの言語
一応、私が仕事をしてきた中で初心者向け(手間がかからない+ドキュメントが豊富)な言語をご紹介します。
C#またはJava(オブジェクト指向言語)
代表的なオブジェクト指向言語2種です。
両方習得しておくことが望ましいですが、片方だけでもなんとかなります。
どちらも似たような構文なのでまずは好みの言語を選んで問題ないです。
どちらも高性能な無料環境があります。
今後.Net系を使用するのであればC#、他のWeb系の言語(PHP、Perlなど)を学ぶ場合はJavaの開発環境を触っておけば良いです。
他にもオブジェクト指向型の言語はありますが、上記2種の言語は比較的仕事が多いので、フリーランスのプログラマーとしてやっていくには有利な要素になりえます。
JavaScript(jQuery)
Web系の仕事だとほぼ100%必要になります。
事前に必要だと言われていなくても必要なことがあるのでとりあえず覚えておけば良い言語となります。
開発環境の用意や、ライブラリ(プログラムの関数の集まり)が物凄く豊富なのでできることも多いです。
JavaScriptを学んでおくと他のインタプリタ方式(逐次実行型言語)の習得も楽になるので、Rubyなどの習得時に便利です。
※なお、Rubyは仕事の単価が物凄く高い+Ruby on Railsのチュートリアルが物凄く詳しいので初心者でも一から実践できるので、仕事が取れるならぜひ学ぶべきです。
基礎的な割に応用の幅が物凄く広い言語なのでこれもとりあえずマスターしておくことが望ましいです。
※私はマスターしていないのでいつも大変なことになる
VBA(エクセルマクロ)
私が現在学びたいと思う言語です。
開発環境にExcelが必須となりますが、逆に言えばExcelを最大限に有効活用できる言語なので、マスターしておくと仕事が楽になります。
周囲に凄いExcelマクロ使いがいるとその恩恵は計り知れません。
残念なら私は組めないわけではありませんが、まともに勉強したことはないので有効活用できていません。
設計書のチェックツールとして使用したり、テスト設計書を自動生成したりと極めて有効な使い道があります。
オブジェクト指向言語でないので、取っ掛かりとする言語としてもなかなか優秀だと思います。
※最初からオブジェクト指向の言語は多少難易度が高い
ついでに
修めるべきだけれど仕事をしながらで十分な気もする言語です。
SQL
DBに命令を行うための言語です。
使用されている多くのデータベースがリレーショナル系なので、よほどのことがない限りは必要になります。
(たまに必要がない仕事もあります)
非常に重要な言語であり、これを自由自在に扱えるかで開発時の難易度は大幅に変わるのですが、この言語に関してまともに教育を受けたことはありません。
書き方一つでDB関連の実行速度や負荷が大幅に変わるので勉強できるならしておきましょう。
※覚えていなくても、最初からそこまで複雑なSQLを書くことはあまりない(はず)なので、案外なんとかなります。
基本的な構文は「見りゃわかる」レベルです。
重要度の割には体系立てた勉強が難しいです。
(最初にDBを用意してそこに命令を出さないといけないので、実践するまでが案外面倒)
まとめ
初心者が学んでおけば良いと思う言語は以上です。
- C#やJava、JavaScriptは開発における実用性の高さ
- VBAは開発の補助ツールとしての有用性
から個人的にはおすすめです。
どれも開発環境自体は容易に準備できるので始めるまでの敷居は低めです。
※Javaに関してはAll in One Eclipseを使用することを強くおすすめします。
なお、これはあくまで初心者用で、ここからさらに学ぶべきことは増え続けます。
やんなるね。
余談
プログラマーって一作業員であることが多いのにやけに必須技能が多いので疲れます。
その分、フリーランスでやっていく分には安定してそこそこの収入が得られるので経験者にはありがたいといえばありがたいのですが。
ただ、将来的にはAIに取って代わられる可能性が高い職業であるので、油断はできません。
今時点で第5世代言語と呼ばれるGUIベースで開発ができてしまう環境も出てきているので、早かれ遅かれ失職の危険性は十分すぎるほどにあります。