見出し画像

誰でもできる!プログラミングに必要なもの

こんにちは、エンジニアのようへいです。

今日はプログラミング関係の記事です。

これまで、以下のようなプログラミングに関する記事を書きました。

今日の記事は、プログラミングをする前段階のお話。
プログラミングをするための準備についての記事です。


必要なもの

さぁ今日からプログラミングを始めよう!
と思っても、プログラミングのための道具が必要です。
道具が無ければプログラミングはできません。

では、プログラミングに必要なものを見てみましょう。

パソコン

プログラミングの大前提とも言えるパソコン。
プログラミングにはパソコンが必要です。

メモリは、できれば8GB以上が望ましいです。

開発ツール

所謂、統合開発環境(IDE:Integrated Development Environment)です。
プログラムを書くために必要です。

統合開発環境とは、ソフトウェア開発に必要なソフトウェアを一つに組み合わせ、同じ操作画面から統一的な操作法で利用できるようにしたアプリで、コードエディタ、コンパイラ、デバッガ、テストツール、バージョン管理ツールが含まれています。

平たく言うと、プログラムを書くのに必要なアプリで、これがあればプログラムが書け、テストもでき、バージョン管理もできるよ、というものです。

ただし、IDEは世の中に1種類ではないのです。

会話する言語が日本語、英語、フランス語とあるように、プログラミング言語もPython、Java、VB.netなど色々あります。
(言語によって強い分野、弱い分野があります)

開発言語が違えばIDEも異なります。
例えば、Pythonの場合、PycharmというIDEがあります。

Javaの場合はEclipse。

VB.netやC#など、Microsoftの開発言語の場合はVisual Studio。

このように、開発言語によってIDEが異なります。
もちろん使い勝手も異なりますが、基本的なエディタやコンパイラなどは備わっています。

データベース

データベースというのは、データを永続的に保存するシステムです。

作りたいものによってデータベースの要否は変わります。
簡単なデータであればカンマで区切ったCSV形式で入出力するで良いですが、複雑なデータであればデータベースを使うのが良いです。

データベースには「トランザクション」というデータの管理概念があるので、データベースを扱う際は、必須の知識となります。

「トランザクション」を簡単に説明すると、データに不整合が起きない仕組みです。

例えば、Aさんが100円の鉛筆をショッピングサイトで購入した場合。
売上データを登録後、販売履歴のデータを登録する仕様だとします。
売上データを登録後、システムが異常終了すると、売上データが作られ、販売履歴が作られていない、という不整合な状態になりえます。

こういう場合、一切の更新が無かったことにし(= ロールバック)、不整合を起きないようにする、というデータ管理の制御がトランザクションの概念です。
逆に、全ての更新が正常に行えた場合、そのデータを確定(= コミット)します。

データベースのシステムは無料から数百万円まで色々あります。

無料でオススメといえばMySQL。

余計な機能が一切無いので、データベースのチューニングをしっかり行えば、かなりのパフォーマンスが得られます。

実はExcelは優秀

Excelは高性能な表計算ソフトですが、実はプログラムが書ける優れものなんです。
一般にExcelマクロと言われるものです。

Excelマクロで使われる言語はVisual Basic For Application(= VBA)で、Visual Basicのサブセット(機能縮小版)にあたる言語です。

Excelのシートを増やしたり消したり、シートの中のセルを編集したり。
フォームを使って入力を強力にアシストしたり、なんてこともできます。

Excelがあれば様々なニーズのデータの処理が行え、上述の開発環境の構築はほぼ不要なので、すぐにプログラムを書くことができる優れものです。

道具が揃えばプログラミング!

パソコンがあり、IDEをインストールし、必要があればデータベースもインストールできれば、開発準備は完了です!

この開発環境を使って、最近人気が高いPythonを学ぶのも良し、需要がまだあるJavaを学ぶのも良し、学習コストが低いVB.netを学ぶのも良し。

プログラミングを覚えることができれば、きっと皆さんのパソコン作業は効率化されます。

定型化されたルーチンワークはプログラムの得意分野。
そういう作業はプログラムに任せてしまって、皆さんはもっと違う作業に時間を使うべきです。

プログラムを覚えることは、パソコン作業の生産性を上げる良い機会だと思いますので、ご興味あればぜひ学んでみてほしいと思います!

この記事が気に入ったらサポートをしてみませんか?