もくじ
プログラミング言語とは
プログラミング言語とは、日本語や英語のような言語の一種です。
私たちは普段、主に日本語で会話していますが、これは双方が日本語を知っており、言葉を理解できているため会話が成立しています。
対して、片方が言語を理解できなければ何も伝わりませんよね?日本語しか知らないのに、英語で話しかけられてもサッパリです。。。
これと同様に、コンピューターに対してはコンピューター語で伝える必要があります。
それがプログラミング言語です。
プログラミング言語を理解できれば、コンピューターとの会話が可能になります。
が、実はコンピューターはプログラミング言語を知りません。コンピューターが知っているのは、機械語と呼ばれる言語です。
機械語とは、こんな感じの言葉です。
000101001010101001010101010101100110010010
このように、機械語は0と1のみで構成されます。
ただ、これを人間が理解するのは非常に難しいですよね。。。
機械語を人間が理解しやすい言葉に訳したものがプログラミング言語になります。
また、プログラミング言語はコンパイラが機械語に翻訳することで、コンピューターに伝わります。
- 人間がプログラミング言語でプログラムを書く
- コンパイラがプログラミング言語を機械語に翻訳する
- コンピューターが機械語を読み込む
細かく書くとまだまだいろいろありますが、書いたプログラムは概ねこういった流れで動作します。
プログラミング言語の種類
プログラミング言語にはいろんなものがあります。
- Java
- PHP
- Python
- Perl
- Ruby
- Go
- C言語
- Swift
- Kotlin
などなど・・・
書けばキリがない程、多くの言語が存在しています。
プログラミング言語には向き/不向きがある
プログラミング言語にはそれぞれ特徴や、開発するものに対する向き/不向きがあります。
実際の現場においては、有識者が適切なプログラミング言語や、開発環境、動作環境を選定して開発しています。
つまり、何を開発したいかによって使用されるプログラミング言語が異なります。
それぞれの得意分野
Webアプリケーション
- Java
- PHP
- Ruby
- JavaScript
- python
などなど
スマートフォンアプリケーション
- Java
- Kotlin
- Swift
- Java
などなど
組み込みソフトウェア
- C言語
- Java
- C++
- アセンブラ
などなど
初心者は何から学ぶべきか
いろんなプログラミング言語の中で、初心者が何から学ぶべきか。観点別にピックアップしてみます。
開発したいものがある場合
何か開発したいものが決まっているのであれば、それに強い言語を学ぶべきです。
前項で記載した各言語の得意分野を参考にしてみてください。
とりあえずサクッと動かしてみたい場合
特にやりたいことが決まっているわけではないけれど、ちょっとプログラミングを勉強してみたいな~という方には、JavaScriptをおススメします。
難易度としては中の下程度かと思いますが、Webアプリケーションを中心に実開発でも多く使用されている言語です。
特別な開発環境も必要なく、ブラウザ上でも書くことができます。
様々な開発に対応できるエンジニアになりたい場合
特定の言語だけでなく、様々な言語にも柔軟に対応できるようになりたい方は、Javaが良いでしょう。難易度は上の中くらいですが、非常に多くのシステムで使用され、またJavaの構文を覚えておけば他の言語にも対応しやすくなります。
取っ掛かりとしてはやや難易度が高いですが、覚えておいて絶対に損はない言語です。
修羅の道を進みたい場合
じっくりと学習して本質から理解したい方は、C言語を学習すると良いです。
ただ、取っ掛かりとしてはクソ難しいです。構文の知識だけでなく、メモリ、アドレス、カーネルなど深い部分の知識も必要となってくる場合があります。難易度は文句なしの上の上です。
ですが、C言語を学習すると、他のプログラミング言語もある程度は書けるようになります。というのも、多くのプログラミング言語おいて、C言語が派生元となっているためです。多くのプログラミング言語にとって、生みの親的な存在です。
ちなみに、私が最初に覚えたのは言語でした。(大学で必修だったかr・・・)
ちゃんと中身まで理解するまでには数年かかった気がします。。。が、そのおかげかJava、Python、Perlなどに手を付けた際は、特に難しさは感じませんでした。
独学が続かない人は
独学が続かない人は、プログラミングスクールを活用しましょう。
短期集中なら、半年もあれば何かしらの言語は習得できると思いますし、独学で数年かけてのんびりやるよりも短期集中で習得→仕事を取る方がよほどコスパが良いと思います。
プログラミングスクールについては、こちらの記事で触れていますのでよかったらご覧ください!