未来電子テクノロジーでインターンをしている田島一毅です。プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。
##プログラミング学んでるけど何ができるんだ??
現在プログラミングを学び始めて1か月弱。
最初に学んだHTMLやCSSといったマークアップ言語では、「これでWebページの見た目を整えられるんだなあ。かっこいいなあ。」と思っていました。
しかし、学習が進んで、プログラミング言語には様々なパラダイムが存在すること、どうやらアルゴリズムという複雑なものを学ぶ必要があることを知り、
「これ学んでどうなるんだ?!」
「言語の種類多すぎだろ!!」
「どの言語で何ができるんだよ?!」
という気持ちになりました(笑)
そんなこんなで、プログラミング言語別にできることを調べたので、この記事で紹介します。
といっても、言語の種類は非常に多いので、今回はWebアプリ・サービス系の言語に絞って紹介しますね(汗)
##1. PHP
###PHPの特徴
PHPは、商用利用のWebサービスを簡単に作ることのできる言語です。
Webアプリ開発に特化していいるため、文法がシンプルで初心者でもわかりやすいのが特徴です。
また、ブログ作成によく利用されるWordPressは、PHPによって作られているため、ブログなどと連携したECサイトなども作りやすいのが非常に嬉しいです。
###PHPでできること
上でも紹介していますが、PHPでできることは、
- Webアプリ開発
- 具体的には、ショッピングカート機能、お問い合わせフォーム、ログイン機能、検索機能など
- SNS開発
など、Webアプリ開発を簡単にできます。
##2. Java
###Javaの特徴
Javaは、複雑な処理を簡単にすることのできる言語で、業務システムの自動化や効率化に長けています。
JVM(Java Virtual Machine)という仮想マシン上でJavaは動くため、Java上でトラブルが発生した時に、他の部分への影響が少ないのが嬉しいです。
また、オブジェクト指向の言語のため、書きやすく理解しやすいコードが欠けますが、設計に時間がかかるため、小規模のシステムを作る場合は、先ほど紹介したPHPを利用するのがよいでしょう。
【補足】オブジェクト指向の簡単な説明
オブジェクト指向とは、誤解を恐れずに簡単に説明すると、
「あるモノというくくりを作り、それに細かいデータを加えてそのモノを利用する」
という考え方ですが、オブジェクト指向についての理解の仕方は人によって少し異なるので、調べてみてください。
このようなオブジェクト指向の言語では、コードを見やすくまとまりよく書けるのですが、事前の設計に時間がかかるというデメリットもあります。
###Javaでできること
- 配送システム、取引システムなどの業務システム
- スピードや堅牢性が求められる大規模Webサービス
- Androidアプリ開発(ほとんどのAndroidアプリ開発にJavaが利用されています。)
- ゲーム開発
など、広い分野で利用されています。
上でも述べた通り、小規模な開発ではPHPを利用するのがよいのではないでしょうか。
##3. Ruby
###Rubyの特徴
Rubyは、オブジェクト指向の言語で、Webサービスを簡単に立ち上げ、継続的な機能の改善・追加が可能な言語です。
Rubyは、スクリプト言語といって、ソースコードを書いてすぐに実行&確認ができるという特徴があります。
また、Rubyを学ぶときに必ず通る道が、Ruby on RailsというRubyのフレームワークです。
フレームワークとは、簡単に言えば、ある機能を簡単に利用できるようにしてくれるもので、コードを書く際の生産性を上げてくれます。
このRuby on Railsというフレームワークが非常に充実していることもあり、スピードを重視する企業からの需要が高まっています。
###Rubyでできること
- Webサイト制作
- スマホアプリ開発
- API作成(他のソフトウェアと機能を共有するための仕組みの作成)
などができます。
###PHPとの違いは?
「PHPでできることの中にもWebサイト制作とあるけど、PHPと何が違うの?」
と考えた方もいるでしょう。
PHPの強みは、学習がしやすいことです。
また、Rubyの場合はフレームワークはRuby on Railsの一択になりますが、PHPの場合は様々なフレームワークを利用できるのもポイントです。
一方、Rubyには、Ruby on Railsという絶大な人気を誇るフレームワークが存在するのが強みです。
また、PHPは実行が簡単にできてしまうため、個人での開発ならまだしも、チームでの開発の場合トラブルが起こりやすいのですが、Rubyではそのようなことが起こりにくいので、チームでの開発にも向いています。
これらを踏まえて言語を選ぶのが大切ですね。
##4. JavaScript
###JavaScriptの特徴
JavaScriptは、オブジェクト指向の言語で、Webページに動きを付けるのによく使われます。
JavaScriptは、ブラウザとテキストエディタさえあれば動かすことができるため、初心者に優しい言語と言えるでしょう。
###JavaScriptでできること
- Webページに動きを付ける
- ボタンの実装
- スライドショーなどのアニメーション実装
- SNSの埋め込み
- カレンダー機能の実装 etc
- Webアプリ開発
- スマホアプリ開発
- ゲーム開発
などといったことができます。
Webサイトに動きを付けることに長けていて、ここで紹介した意外にも様々な機能をWebページに付けることができます。
##まとめ
今回は、Web系の言語でできることを、言語別に、初心者目線で紹介しました。
何を作るかという目的に応じて、言語を選んでいくことが大切ですね。