プログラミングで何ができるの?
×□×□⇧↔√→゙ ≈↑△↓√゙
≠≠∴←5▲↘△×⇦□゙ ⊂△×≈↑△→⇧。
大枠で5種類に分けられるんですね。
自分がやりたい事だとどんな言語から勉強すれば良いのかな?
本記事は、上記のような方に向けて記事を書いています。
こんにちは、トモジです。
私は33歳から独学でプログラミングを学び、中途採用を果たし現在フリーランスとして日々奮闘しております。
これからプログラミング学習を始めるあなたは、何から勉強をすれば良いか悩んでいるのではないでしょうか?
ITエンジニアを目指す前に、プログラミングで何ができるのかを知っておくことは重要です。
無関係なことを学ぶのも無駄ではありませんが、やりたいことに直結しない学習は遠回りになることがあります。
本記事は、大枠5種類に分けどのような事ができるのをなるべく短い文章で説明しています。
プログラミングで出来ること
プログラミングで出来ることは以下の内容です。
- ウェブ開発
- モバイルアプリ開発
- デスクトップアプリ開発
- データサイエンスと機械学習
- 組み込みシステム開発
- フロントエンド開発
ユーザーが直接操作する部分を作成(ウェブページやwebアプリの見た目や動作)
- バックエンド開発
サーバーサイドのロジックやデータベース管理(データの処理やAPIの構築)
- iOSアプリ
iPhoneやiPad向けのアプリ
- Androidアプリ
Androidデバイス向けのアプリ
- Windows、macOS、Linux
業務用やその他ソフトウェアやゲームなど
- データ分析
データの解析や可視化
- 機械学習
画像認識や自然言語処理など
- マイクロコントローラーやマイクロプロセッサ
家電や自動車などの機器の制御システム開発
使用される言語
ウェブ開発
【フロントエンド開発】
- 言語
HTML、CSS、JavaScript - フレームワークとライブラリー
Vue.js, React
【バッグエンド開発】
- 言語
Python, Ruby, PHP, JavaScript (Node.js), Java, C# - フレームワーク
Django (Python), Ruby on Rails (Ruby), Laravel (PHP)
Express (Node.js), Spring (Java), ASP.NET (C#)
モバイルアプリ開発
【iOSアプリ】
- 言語
Swift, Objective-C - フレームワーク
SwiftUI, UIKit
【Androidアプリ】
- 言語
Kotlin, Java - フレームワーク
Android Jetpack, Android SDK
【クロスプラットフォーム開発】
- 言語
Dart, JavaScript - フレームワーク
Flutter(Dart), React Native(JavaScript)
デスクトップアプリ開発
【Windows、macOS、Linux】
- 言語
C++, C#, Java, Python - フレームワーク
Qt (C++), WPF (C#), JavaFX (Java), Tkinter (Python), Electron (JavaScript)
データサイエンスと機械学習
【データ分析】
- 言語
Python, R - フレームワーク
Pandas (Python), ggplot2 (R)
【機械学習】
- 言語
Python, R - フレームワーク
TensorFlow, PyTorch, scikit-learn (Python), caret (R)
組み込みシステム開発
【マイクロコントローラーやマイクロプロセッサ】
- 言語
C, C++, Assembly - フレームワーク
Arduino (C++), STM32Cube (C), FreeRTOS (C)
難易度の比較
難易度 | 言語 |
---|---|
レベル1 ★ | HTML / CSS |
レベル2 ★★ | Python / Ruby |
レベル3 ★★★ | JavaScript / Node.js / PHP / R |
レベル4 ★★★★ | C# / Kotlin / Swift / Dart |
レベル5 ★★★★★ | Java / Objective-C / C++ |
レベル6 ★★★★★★ | C言語 / Assembly |
レベル1 ★
初心者向け(非常に簡単)
HTML
ウェブページの構造を定義するマークアップ言語。比較的簡単で直感的
CSS
ウェブページのスタイルを定義するためのスタイルシート言語
レベル2 ★★
初心者向け(簡単)
Python
読みやすい構文と豊富なライブラリを持つ汎用プログラミング言語
Ruby
簡潔で直感的な構文を持つスクリプト言語
レベル3 ★★★
初級〜中級
JavaScript
ウェブ開発の標準的な言語
Node.js
JavaScriptをサーバーサイドで使用するためのランタイム
PHP
主にサーバーサイドのウェブ開発に使用されるスクリプト言語
R
統計解析やデータ分析に特化したプログラミング言語
レベル4 ★★★★
中級
C#
マイクロソフトが開発した多用途な言語
※Windowsアプリケーション開発やゲーム開発(Unity)に使用
Kotlin
Javaに代わる新しいAndroidアプリ開発の標準言語
Swift
Apple製品向けのアプリ開発言語
※Objective-Cよりも簡潔で安全な設計
Dart
Googleが開発したフロントエンドおよびバックエンド向けのプログラミング言語
※Flutterフレームワークで使用
レベル5 ★★★★★
中級〜上級
Java
幅広い用途で使用されるオブジェクト指向言語
※業務アプリケーションやAndroid開発に広く利用
Objective-C
iOSおよびmacOSアプリ開発のための古い標準言語
C++
システムプログラミングやゲーム開発に広く使用される言語
レベル6 ★★★★★★
上級(難しい)
C言語
システムプログラミングや組み込みシステムに使用される基本的な言語
※ポインタやメモリ管理が難しい
Assembly
マシンレベルのプログラミング言語
※ハードウェアに直接アクセスするため、非常に難解
まとめ
今回はプログラミングで出来る事について説明しました。
各分野で使用されるプログラミング言語やフレームワークは異なりますが、まずは自分の興味や目的に合った分野から学び始めることが成功への近道です。
学習の難易度も考慮しながら、ステップバイステップで進めていきましょう。
また、プログラミング言語は一つ覚えると他の言語も似ている部分が多いため、比較的学びやすくなります。
まずは簡単な言語からチャレンジしてプログラミングの面白さを感じ、その後、難しい言語に挑戦するのもありだと思います。