プログラミング言語よりも先に学ぶべきこと

アイキャッチ画像
  • プログラミング言語に触れる前に学ぶべきことは?
  • プログラミングをするのに必要な知識は?

本記事ではこのような疑問を解決します。


プログラミング初心者がおろそかにしがちなのが、
プログラミング言語に触れる前に学ぶべき基礎概念です。


プログラミングを学習する上ではついプログラミング言語に目が行きがちですが、
「基礎概念」を体系的に学ぶことでアプリケーション開発をスムーズに進めることができます。

一方、ネット上にあるプログラミング教材や多くのプログラミングスクールのカリキュラムを見てみると、
この「基礎概念」が割と軽視されていると個人的に感じます。

例えばRubyやPythonの文法、
Ruby on RailsやDjangoなどのWebフレームワークがカリキュラムの大半を占めていることもざらにあります。

サッカーで例えると、
トラップやパスの練習をそんなにせずにシュート練習ばかりしているような感覚です。

シュートはトラップやパスなどの基礎技術があってこそですよね。


プログラミングも同様に「基礎概念」を習得するからこそ、
言語やフレームワークを使って納得して理解して開発ができるのです。


そこで今回はプログラミング言語よりも先に学ぶべき「基礎概念」を解説していきます。

プログラミング言語以前の基礎の重要性

結論から言うと、プログラミング言語よりも先に学ぶべきことは以下の通りです。

・Web技術の基礎

・データベース

・ネットワーク

・OS(オペレーティングシステム)

なぜなら、これらの要素はプログラミングにおいて基盤となる知識を提供し、
より幅広いスキルセットを身につけるための基礎となるからです。

そもそもアプリケーションの開発・運用には様々な技術やツールが関わっています。

そのため、プログラミング言語だけに焦点を当てたとしても、全体像が見えてきません。


一方、基礎知識を事前に習得することで、
システムの全体像が見えてきてプログラミング言語をより効果的に学び、
実際のプロジェクトや開発環境での問題解決力を向上させることができます。


したがって、総合的な技術スキルを身につけるために、
初心者にとってプログラミング言語以前の基礎の学習はとても重要です。

Web技術の基礎

今の世の中には数多くのWebアプリケーションが存在しています。

例えば、YouTubeやAmazon、メルカリなど、
あなたの生活に馴染んでいるものはたくさんあるでしょう。

これらのWebアプリケーションはWeb技術のおかげで成り立っています。

つまり、Web技術のおかげでサービスが提供されているサーバーへアクセスでき、
そのサーバー内でコンテンツを用意する処理が行われ、
私たちが見れる形で画面にWebページが表示されるのです。

そもそもプログラミングの目的はWebアプリケーション開発であることがほとんどです。

そのため、Webアプリケーションの土台となるWeb技術を学ぶことは必須と言えます。


なお、Web技術の基礎として学ぶべき内容は以下の通りです。

・Webの歴史

・クライアントとサーバーの役割

・HTTP

・Webアプリケーション

・HTMLとCSS

・Webフレームワーク

ここで学ぶことを一言でまとめると、
「Webページが表示されるまでの仕組み」です。

そして、Web技術の基礎を学ぶ上では以下の書籍がおすすめです。

2010年発行であるため少し古いですが、
時を経ても変わらない根幹の内容がわかりやすく説明されています。

私も過去にプログラミングの勉強を始めようとしてた時に、
エンジニアの方におすすめされて読みましたが、
Web技術を体系的に学ぶことができてとても為になりました。

データベース

世の中に存在するWebアプリケーションは何をしているのか?と聞かれたら、
「データの出し入れをしている」と答えることができます。

例えばTwitterでツイートした時、そのツイート文はデータとして新規作成されて他のユーザーも閲覧できるようになる。

また、ネットショップで会員登録した時は会員情報がデータとして作られて保管される。


つまり、データはWebアプリケーションを運用する上でなくてはならない存在なのです。

そして、Webアプリケーションで扱われているデータを管理するツールがデータベースです。

先ほど「Webアプリケーションはデータの出し入れをしている」と言いましたが、
正確に言うと「Webアプリケーションはデータベースを通じてデータの出し入れをしている」ということになります。

データベースは情報の効率的な管理と検索を可能にする重要なツールであり、
Webアプリケーション開発では必須で備えるべきものです。


なお、データベースの知識として学ぶべき内容は以下の通りです。

・データベースの種類と特徴

・データベース設計

・テーブルと関係性

・テーブルの作成と管理

・SQL

・データのクエリと操作

ここで学ぶことを一言でまとめると、「データを操作する仕組み」です。

そして、データベースの知識を学ぶ上では以下の書籍がおすすめです。

ネットワーク

ネットワークとはコンピュータ同士で通信を行うための技術です。

アプリケーションを開発した場合、
そのアプリケーションは様々な機器と通信することがほとんどです。

例えば外部から情報を取得してきたり、
アクセスがきたり、
メッセージのやり取りをしたり、etc…

そのため、世の中の大半のアプリケーションがネットワークが構築されている前提で開発されています。


なお、ネットワークの知識として学ぶべき内容は以下の通りです。

・IPアドレスとポート番号

・TCP/IPモデル

・プロトコルとネットワーク階層

・ルーティングとパケット交換

・DNSの役割

つまり、「ネットワークに繋がる仕組み」を学ぶということです。

また、ネットワークの知識を学ぶ上では以下の書籍がおすすめです。

OS(オペレーティングシステム)

OSとはコンピューター全体の動作を管理・制御するソフトウェアのことです。

例えば初心者にも馴染みのあるWindowsやmacOSなどがあります。

プログラミングに関わらず、コンピューター上で開発チックなことをするにはOSの操作が必須です。

また、非エンジニアであれば画面上でマウスをポチポチして操作(GUI)をしますが、
※GUI・・・Graphical User Interface
エンジニアはコマンドを打ち込んで操作(CUI)をします。
※CUI・・・Character User Interface

いわゆる黒い画面に英語がバーっと並んでるやつです。

そして、アプリケーション開発でよく使われるOSがLinuxです。

LinuxはオープンソースのOSであり、開発現場で広く採用されています。

よって、Linuxの基礎知識とコマンドラインの操作方法を学ぶことは、
システム管理や開発作業において非常に役立ちます。

個人的にLinuxを扱えるようになれば、
WindowsやmacOSのCUI操作も楽勝です。


なお、OS関連で学ぶべき内容は以下の通りです。

・OSの役割

・Linuxの特徴とコマンドラインの基本操作

ここでは「OS(オペレーティングシステム)の仕組みと操作方法」を学びます。

なお、OS(Linux)の知識と操作方法を学ぶ上では以下の書籍がおすすめです。

まとめ

プログラミング初心者がプログラミング言語よりも先に学ぶべきことをまとめると、以下の通りです。

Web技術の基礎
・Webの歴史
・クライアントとサーバーの役割
・HTTP
・Webアプリケーション
・HTMLとCSS
・Webフレームワーク

データベース
・データベースの種類と特徴
・データベース設計
・テーブルと関係性
・テーブルの作成と管理
・SQL
・データのクエリと操作

ネットワーク
・IPアドレスとポート番号
・TCP/IPモデル
・プロトコルとネットワーク階層
・ルーティングとパケット交換
・DNSの役割

OS(オペレーティングシステム)
・OSの役割
・Linuxの特徴とコマンドラインの基本操作

各セクションでおすすめ書籍をご紹介してきましたが、
初めの1冊としてはやはり以下の「プロになるためのWeb技術入門」がおすすめです。

プログラミング前の「基礎概念」を押さえることでたしかなスキルを身につけましょう!

なお、プログラミング学習方法についてはこちらの記事を参考にしてみてください。

あわせて読みたい

この記事で解決できる疑問や悩み プログラミング学習は何から手をつけたらいいの?プログラミングってどんなことをするの?プログラミング学習の情報がたくさんあり過ぎて結局何をしたらいいかわからない・・・他のプログラミング学習の記事を見ても[…]

アイキャッチ画像