プログラミングを始めたころを振り返る
私がコンピュータに初めて触れたころは職場にあったコモドールPET、マイブレーン3000、PC9801などのPCは計算の自動化が主な目的でした。
当時はPCも高価で、さらにアプリケーションを開発するためのソフトウェアも高価でした。
それから30年近く経った現在では、コンピュータハードウェア(CPU、メモリ、ネットワーク)の高性能低価格化やOSS(オープンソースソフトウェア)の普及やインターネットを通じてITに関する最新情報を簡単に得られるようになり、無料から始めて、サービスのアイデアをインターネット上で形にできる時代になりました。
このようにソフト開発の環境が整ってきたことで始めたプログラミングですが経過を振り返ります。
プログラミングする人(プログラマー)には、
・大学などでコンピュータサイエンス(情報工学、情報科学、計算機科学、計算機工学などの総称)を学んだ後、又は学びながらプログラミングを習得
・学問から入るのではなく、すでにあるプログラムをまねて動かしながら知識を積み上げる
の2つのパターンがあると思います。
英会話に例えると、前者は文法から積み上げて会話を習得した人、後者は英語を使いながら必要に応じて文法を調べ、会話数を増やした人に例えられるかと思います。
私の場合は、前者2:後者8くらいの割合。知識としては教養程度のコンピュータに関わる理論(代数学少々、コンピュータの仕組みなど)を過去に学んだ記憶があり、プログラムを作ることを目標に、職業訓練、書籍を中心に学習。
プログラミングを始めたときはプログラミングに対する認識は、フローチャートで描かれる処理を演算子、データ型、制御文(繰り返しのfor文、条件分岐のif文、switch文)、ライブラリ(ファイル入出力、メモリ操作など)を使ってソースコードを作成し、コンパイルして、実行する程度の知識。
プログラミングを始めて間もなく、プログラミングするためには、プログラム言語を使ってソースコードの作成するだけでなく、ビルドツール(ソースコードなどを元に実行可能ファイルを生成まで自動化)、模擬環境での実行までが行える統合開発環境、ソースコードやプロジェクトファイルの世代管理するためのツール(サブバージョン、Git)などがあることを知る。また、プログラミング言語についてはオブジェクト指向のメリットを実感できるようになるまで試行錯誤しながら習得。
このオブジェクト指向は、C++からJava、C#へと受け継がれ、新しいプログラム言語のほとんどで取り入れられている。言語によって、多少の文法の違いはあるものの、1つの言語で理解すると他の言語でも応用が利く。
また、Webシステムの開発ではフロント側はHTML、CSS、Javascript、フレームワークのjQuery、サーバ側ではPHP、フレームワークのLarabel、Java、フレームワークのSpringBootなど、組み込み系プログラムの開発では、C、C++、Android(javaのフレームワーク)、スマホの専用アプリの開発ではAndroid、iOSのswiftなど、用途に応じてプログラム言語が異なることが多い。
プログラムを作成する過程で調査した内容について、メモの内容をベースに順次、本サイトに載せる予定です。