エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
まだまだ人気が伸び続けているプログラミング。2020年からは小学校でも教育が必修化され、私たちの生活に身近な存在になっています。
プログラミングの重要性を理解しつつも、「プログラミングって、具体的には何ができるんだろう?」と思っている方は多いのではないでしょうか。
そこで今回は、プログラミングでできることと、人気のプログラミング言語をご紹介します。
プログラミングとは一言でいうと、プログラムを作ることです。プログラムとは「コンピュータへの命令文(指示書)」です。
まず大前提として、コンピュータは命令されたとおりの行動しか行えません。たとえば近年は人工知能(AI)が盛んですが、それらはすべて「多くの命令の上に成り立った人工知能」であり、命令の一切ないコンピュータは何も実行することができません。
そんなコンピュータに対して、人間が命令文を一つひとつ積み上げていき、コンピュータにさまざまなことを実行させる作業がプログラミングなのです。
プログラムがコンピュータへの命令文である以上、プログラミングでできることとはすなわち、コンピュータができることと同義です。
ではコンピュータができることとは何でしょうか。
極めてシンプルに言えば「計算すること」です。ただし、ただ「計算する」といっても、それをプログラミングで何重にも組み合わせていくことで、コンピュータはより複雑なことを実現できるようになります。
できることのうち、代表的なものを以下に7つピックアップしました。
気象予報や地震の予測、さらには遠く離れた天体の動きなど、膨大なデータと複雑な式によって初めて導けるような高度な計算は、プログラミングが得意とすることです。
人の手ではいくら時間があっても計算しきれないようなことも、コンピュータとプログラミングがあれば瞬時に算出できます。
たとえば学術研究の分野では、国産のスーパーコンピュータ『京』を活用して、高度な計算・シミュレーションが行われています。
私たちが普段見ているSNSやブログ、さらに自分のスマホの契約状態や銀行口座の残高をネット上で確認できるWebサービスなどは、Web上でプログラムが動くことで実現しているアプリケーションです。
プログラミングでは、以下のようなWebアプリを作ることができます。
Webアプリはネットにアクセスするためのブラウザさえあれば、スマホやPCなど媒体を問わず利用できるので、利便性に優れています。
プログラミングで作れるアプリケーションは、Webアプリの他にもあります。普段使用しているスマホにインストールされているアプリ(モバイルアプリ)もまた、プログラミングが使われています。
スマホアプリはWebアプリとは異なり、スマホ上でプログラムが動くアプリケーションです。そのため、カメラや加速度センサーなどスマホの端末に備わっている機能にアクセスすることもできます。
また、プログラムをスマホ自体にインストールできるスマホアプリは、Webアプリに比べて動作が軽く、ログインやWebページにアクセスする手間もかかりません。そのため頻繁に使われるLINEなどのチャット・通話アプリは、スマホアプリとして開発されています。
スマホやPCそのものを動かすためのシステムである「OS(Operating System)」もプログラミングでできています。PCならWindowsやMac OS、スマホならAndroidやiOSなどが代表的なOSです。
OSがなければコンピュータを操作するのはもちろんのこと、自身の記憶装置にアクセスしたり書き込むこともできませんし、そもそも何かを画面に表示することもできません。
ただし「OSもプログラミングでできている」とは言っても、そのプログラムはとても複雑かつ長大なものです。個人がまともにそれらしいPCやスマホとして動作するOSをプログラミングで作ろうと思ったら、途方もない量の知識とプログラミングのスキルが必要になります。
もちろん個人開発でOSを作るのも、プログラミングの楽しみ方のひとつです。
パンや和菓子を作る製造工場で使われる大量生産用の機械や、自動車や冷蔵庫などの大型機器もまた、プログラミングでその動きを制御しています。
たとえば国産の工業機器では、レオン自動機株式会社の『火星人』シリーズが有名です。火星人は、和菓子や肉まんなどの包餡(餡を生地で包むこと)に特化した工業機器。国内での圧倒的なシェアはもちろんのこと、国外でも100か国以上で使用されています。
大型機器は複雑なものになればなるほど、プログラムは膨大になります。自動車のような高度かつ安全性の高い制御が求められるシステムでは、なんと1000万行を越えるほどのプログラムが書かれていることもしばしば。
一方で簡単なシステムであれば、たった数行のプログラムで済むこともあります。
Excelやスプレッドシートなどの表計算アプリをはじめ、PC上で行うさまざまなタスクはプログラミングで自動化できます。たとえば、プログラミングでは以下のような作業を自動化し、作業効率を上げられます。
業務自動化の中でも、スプレッドシートやドキュメントなどのGoogleが提供する「Google Apps Script」や、Excel計算の自動化を行える「VBA」は、プログラミング入門者が業務自動化をはじめるのにぴったりのプログラミング言語です。
近年注目されているAIもまた、プログラミングでできています。
膨大なデータを繰り返しプログラムに学習をさせることで、AIは作られます。AIが適切な判断をくだせるようになるには、何千・何万ものデータを学習する必要があるといわれていますが、その長い学習プロセスにも、プログラミングが活用されています。
優れた学習を行えるプログラムがあれば、これまでのIT機器ではできなかったようなことをAIは実現できるようになります。
人間の声を聞き取って会話をするAIや、カメラで撮影した画像から肌年齢を測定するAIなどのほか、近年では医療現場や研究機関で活躍できるAIも作られています。
街中でときおり見かける『Pepperくん』も、AIが活用されている製品のひとつです。感情を生成するAIで、心を持っているかのように振る舞うのが特徴です。
私たちが普段話す言語に「日本語」や「英語」があるように、プログラミングにも性質や特徴の違うさまざまな言語があります。これを「プログラミング言語」といいます。
プログラミング言語は、その言語ごとに得意とする領域が違います。各プログラミング言語でできることを以下にピックアップしてみました。
JavaScriptは、ブラウザ上で表示される画面を操作することが得意なプログラミング言語です。
たとえばユーザーの操作に合わせて画面を変化させたり、ローディング時のアニメーションを動かしたりできます。
近年では活躍の場を増やしており、ブラウザ上で動くアプリやスマホアプリも作れるようになりました。
現在では、ほぼ全てのWebページにJavaScriptが使われています。
【JavaScriptでできること】
- Webアプリ開発
- スマホアプリ開発
- Webページ制作
【JavaScripが使われているWebサービス例】
JavaScriptでできることとは?おすすめの学習方法を徹底解説
Workship MAGAZINE
Javaはさまざまな分野で活躍している、汎用的に使えるプログラミング言語です。
Javaを使えば、Webアプリやスマホアプリの開発のみならず、近年脚光を浴びている『IoT(Internet of Things:インターネットに接続して機能の拡張を実現したさまざまなモノ)』の開発もできます。
Javaは世界中のさまざまなプロジェクトにおいて採用されています。
【Javaでできること】
- Webアプリ開発
- Androidアプリ開発
- IoT技術開発
- 業務系システム開発
- ゲーム開発
【Javaが使われているWebサービス例】
- Minecraft
- 楽天
Javaでできることとは?汎用性の高い初心者おすすめ言語
Workship MAGAZINE
Pythonは、AI開発の分野で近年注目を浴びているプログラミング言語です。
読みやすく書きやすいPythonは、その特徴から人気・需要ともにプログラミング言語のなかでもトップクラス。
Pythonを使えば、大量のデータセットからAIに学習させたり、画像の加工や特徴の取得、データの分析などを行ったりできます。
【Pythonでできること】
- AI(機械学習・深層学習)
- データ分析
- 画像処理
- Webアプリ開発
- 自動化
【Pythonが使われているWebサービス例】
- YouTube
- Dropbox
【AI開発に必須】Pythonでできること7選。機械学習はもちろん、データ分析やWebアプリ開発も!
Workship MAGAZINE
PHPは、Web開発に特化したプログラミング言語です。
PHPを使えば、ブログやSNSなどさまざまなWebアプリを作成できます。
とくにPHPで構築されたWordPressというフリーのブログソフトウェアを使えば、管理画面や投稿記事、固定ページなどでできたWebサイトやブログを迅速に開発でき、簡単に管理できます。
PHPの扱いに長けていれば、WordPress自体の機能を拡張して、自由にWebサイトをアレンジすることもできます。
【PHPでできること】
- Webページ制作
- WordPressのカスタマイズ
- CMS(コンテンツ管理システム)開発
- SNS開発
【PHPが使われているWebサービス例】
- Wikipedia
- WordPress
PHPでできることとは?Webアプリケーションを作るならコレ!
Workship MAGAZINE
Rubyもまた、Web開発を得意とするプログラミング言語です。
「楽しくプログラミングできる」をコンセプトに、まつもとゆきひろ氏が開発しました。
PHPと比べて習得はやや難しいとされる言語ですが、使いこなせばより複雑なWebアプリを短時間で作れます。
【Rudyでできること】
- SNS開発
- マッチングアプリ開発
- 動画や音楽の配信サービス開発
- ソフトウェア開発
【Rubyが使われているWebサービス例】
- 食べログ
- クックパッド
- Airbnb
Rubyでできることとは?スピード感ある開発をしたい方におすすめ!
Workship MAGAZINE
Go言語(Golang)はJavaと同じく、さまざまな分野で活躍できる汎用的なプログラミング言語。2009年にGoogleによって開発された、比較的新しい言語です。
なかでもGo言語が得意とするのが、速度を求められるWebサービスの開発。Go言語ではある特定の情報をピンポイントに高速で取得するWebサービスを比較的簡単に構築できます。
【Go言語でできること】
- Webサービス開発
- Webサーバー開発
- スマホアプリ開発
- インターフェース開発
【Go言語が使われているWebサービス例】
- メルカリ
- AWA
- Schoo
Go言語でできることとは?パフォーマンスの高い汎用的な言語
Workship MAGAZINE
SwiftはiOSアプリなど、AppStoreで配信されるアプリを制作するのに特化したプログラミング言語です。2014年にApple社から発表された新しい言語で、比較的学習しやすいとされます。
Apple製品の存在は大きく、今後も市場は拡大していくことが予想されます。とくに日本国内のスマートフォン市場はiPhoneが半数を占めており、スマホアプリを作るのであれば学習しておいて損はないでしょう。
【Swiftでできること】
- iOSアプリ開発
- macOSアプリ開発
- AppleWatchアプリ開発
- Webアプリ開発
- Webサーバー開発
【Swiftが使われているWebサービス例】
- 多くのiOSアプリ
Swiftでできることとは?iPhoneアプリの開発ならこのプログラミング言語!
Workship MAGAZINE
Kotlinは、Javaと完全な互換性があり、Androidの開発言語としてGoogleが公式に認定している言語です。
Kotlinはその簡潔さが特徴で学習しやすい言語。将来性も高く、いま学ぶのにおすすめです。
【Kotlinでできること】
- Androidアプリ開発
- Webアプリ開発
- サーバーサイド開発
【Kotlinが使われているサービス例】
- Slack
- Netflix
- Kindle
- Yahoo!
Kotlinでできることとは?Googleが推奨する次世代Android用言語
Workship MAGAZINE
C言語は、幅広い分野で活用される汎用プログラミング言語です。OS(Windowsなど)そのものを開発することを目的に作られました。
プログラミング言語のなかでも最速で動作するC言語は、IoT技術やロボットなどハードでの開発に主に活用されています。その汎用性や需要の高さから、C言語はTIOBEインデックスというプログラミング言語の人気ランキングにおいて、1位になることも多い言語です。
【C言語でできること】
- IoT技術開発
- ロボット開発
- ソフトウェア開発
- スマホアプリ開発
【C言語が使われているモノの例】
- 電子工学
- 家電製品
C言語でできることとは?IoTやロボット開発にも使われる汎用言語
Workship MAGAZINE
C++(シープラスプラス)は、C言語の機能をさらに拡張させたプログラミング言語です。
用途はC言語と変わらず、一般的なアプリケーション開発やシステムの構築に利用されるケースがほとんど。
C++は、ハードを制御することを目的に開発されているため、業務システムやロボット、AI、IoT技術などハード関連の開発に強い言語といえます。
【C++でできること】
- 業務システム開発
- Webアプリ開発
- AI/ロボット開発
- IoT技術開発
【C++が使われているモノの例】
- Chrome
- 家庭用ゲーム機
C++でできることとは?IoTや機械工学が得意な歴史ある言語!
Workship MAGAZINE
C#とは、Microsoftが開発・リリースを行っているプログラミング言語です。
Cとつきますが、C言語やC++との互換性はありません。
C#は、Windows上で動作する業務アプリに非常に適しています。また、現在では、Macの業務アプリ開発にも徐々に活用されはじめました。
【C#でできること】
- 業務アプリ開発
- Webアプリ開発
- スマホアプリ開発
- ゲーム開発
【C#が使われているWebサービス例】
- Bing
- 価格.com
- MSN Japan
C#でできることとは? 幅広いアプリ開発に用いられる将来性の高い言語
Workship MAGAZINE
未経験者がプログラミングを効率よく学習していくには、プログラミングスクールやプログラミング学習用のWebサービスを活用するのがおすすめです。
以下の記事で東京都内の優良スクールをピックアップしているので、現在スクールに悩んでいる方は読んでみてください。
2024年 東京都内の優良プログラミングスクール20選
Workship MAGAZINE
またスクール同様に、プログラミング学習用のWebサービスも豊富です。以下の記事でプログラミング学習におすすめなWebサービスをピックアップしているので、これからプログラミング学習をはじめる人はチェックしてみましょう。
オンラインのプログラミング学習サービス27選
Workship MAGAZINE
プログラミングを使えば、学術用の高度な計算だけではなく、Webアプリやスマホアプリの開発、AI開発などができます。
またプログラミングの能力は、仕事の作業効率を上げるのにも役立ちます。
さらに今後IT化が進んでいけば、いまはまだ存在しない新しい形態のITサービスも、プログラミングの力で生まれていくことでしょう。
興味のある方は、さまざまなことを実現できるプログラミングのスキルを身につけて、仕事やプライベートに応用してみるのがおすすめです。
(執筆:sig_Left 編集:mozuku、泉)
エンジニア初心者が失敗しがち/間違えがちなこと7選
Workship MAGAZINE
JavaScript初心者が失敗しがち/間違えがちなこと8選
Workship MAGAZINE
【連載】プログラミングでできること
現役エンジニアによる各言語の特徴紹介!
プログラミングでできることとは?初心者のための超基礎知識
JavaScriptでできることとは?おすすめの学習方法を徹底解説
【AI開発に必須】Pythonでできること7選。機械学習はもちろん、データ分析やWebアプリ開発も!
Javaでできることとは?汎用性の高い初心者おすすめ言語
PHPでできることとは?Webアプリケーションを作るならコレ!
Rubyでできることとは?スピード感ある開発をしたい方におすすめ!
Go言語でできることとは?パフォーマンスの高い汎用的な言語
Swiftでできることとは?iPhoneアプリの開発ならこのプログラミング言語!
C++でできることとは?IoTや機械工学が得意な歴史ある言語!
Kotlinでできることとは?Googleが推奨する次世代Android用言語
C言語でできることとは?IoTやロボット開発にも使われる汎用言語
C#でできることとは? 幅広いアプリ開発に用いられる将来性の高い言語
Unityでできることとは?世界中のゲーム開発に使われるゲームエンジン
CSSでできることとは? 洗練されたWebデザインに必須の言語!
Perlでできることとは? 存在感は薄れるもニッチな需要がある言語