基礎からのプログラミングリテラシー 読んでみた。

[記事公開日]2019/06/14

[最終更新日]2024/09/29

Amazon:プログラミング
https://amzn.to/3XNjNWr

プログラミングをはじめる前に読む1冊?

プログラミングを学ぼうと思っても専門的な用語
「フレームワーク」や「ライブラリ」「オブジェクト」「インスタンス」など直感的にわかりにくい言葉がいくつも登場します。

また、プログラミングの本を読んでも理解ができない。

プログラミングブームやエンジニア不足を背景にプログラミングの独習をする方が増えています。
Webで人気の講座を受講してみたり、
店頭で平積みになっているベストセラープログラミング書籍を手にしたものの、
本を読んでも、どれも理解できずに挫折してしまった。という方も多いのではないでしょうか?。

コンピュータやプログラミングの解説がわからないのは、次のような知識の不足が要因です。

1.コンピュータのしくみがわからない
2.プログラミングのしくみがわからない
3.アプリケーションが動くしくみがわからない
4.開発スタイルやエンジニアの仕事像がわからない
5.業界の標準やツールが知らない
6.プログラミング書籍の選び方がわからない
など。

これらは専門書やインターネットで検索上位にくるWeb記事では前提知識として省略されることが多く
「読み進めるにはほかの資料が必要になった」なんてことがよくあります。

本書ではプログラミング独習者がつまずきやすい知識を厳選して取り上げ、
初心者の分からなかったをサポートします。

図解を多用し、「サーバーとクライアント」、「コンパイラとインタプリタ」のように
用語を比較しながら学習することで、いままで曖昧になっていた知識が整理され理解が進みます。
プログラミング初心者必携の1冊です!

こんな方におすすめ
プログラミング初心者
新人エンジニア

基礎からのプログラミングリテラシー[コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ! ] 単行本(ソフトカバー) – 2019/4/17
増井 敏克 (著), 柏原昇店 (イラスト)

目次
基礎からのプログラミングリテラシー 読んでみた。
第1章 コンピュータのしくみ
第2章 プログラムのしくみ
第3章 アプリケーションが動くしくみ
第4章 開発スタイルと仕事像
第5章 開発ツールと業界標準
第6章 技術書の種類と選び方

 


 

プログラマーは世界をどう見ているのか (SB新書) 新書 – 2022/7/6
西村博之 (著)

文系出身のプログラマー・ひろゆきによる、
知識ゼロから取り組める、プログラミング超入門書!

 


 

プログラミング
コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。
プログラミング (コンピュータ) – コンピュータプログラムを作成すること。

https://ja.wikipedia.org/wiki/プログラミング_(コンピュータ)

リテラシー(英: literacy)とは、原義では「読解記述力」を指し、転じて現代では「(何らかのカタチで表現されたものを)適切に理解・解釈・分析し、改めて記述・表現する」という意味に使われるようになり(後述)、日本語の「識字率」と同じ意味で用いられている。

https://ja.wikipedia.org/wiki/リテラシー

 


 
基礎からのWeb開発リテラシー 単行本(ソフトカバー) – 2022/6/22
増井 敏克 (著)

いまどきのWeb開発がわかります

 


 

地方で稼ぐ! ITエンジニアのすすめ 新書 – 2022/7/1
村岡 佑紀 (著)
地方でも高収入でやりがいをもって働ける!
ITエンジニアの魅力を一挙大公開

 


 

プログラミングの玉手箱 (I/O BOOKS) 単行本 – 2022/4/26
大澤 文孝 (著)

「プログラム」を始めるにあたって必要なものとは、なんでしょうか。

 


 

紙とえんぴつで学ぶアルゴリズムとフローチャート 単行本 – 2022/6/24
岩松 洋 (著)
「プログラミングは勉強したのに、自分でプログラム作れない…」
そう悩んでいる人、けっこう多いんです。

 


 

プログラミング言語大全 (日本語) 単行本(ソフトカバー) – 2020/4/18

自分のための言語を探そう?
100以上のプログラミング言語や処理系、関連言語を幅広く解説。C、Java、Python、PHP、Ruby、JavaScript…主要言語はもちろんマイナー言語まで収録。初心者にも経験者にも楽しい一冊です。

 


 

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん 単行本(ソフトカバー) – 2021/2/1
小笠原種高 (著)
本書は、若手エンジニアや、バックエンドの技術にあまり詳しくない人に向けて書かれたDockerの入門書です。

 


 

アメリカの中学生が学んでいる 14歳からのプログラミング 単行本(ソフトカバー) – 2022/3/9
ワークマンパブリッシング (著), 千葉敏生 (翻訳)

はじめてプログラミングを学ぶ人も
これまでプログラミングでつまづいた人も
これ1冊で一生使えるスキルが身につく!

 


 

ITエンジニア残業ゼロの働き方 〜現場で本当に使えた仕事効率化の法則95 単行本(ソフトカバー) – 2022/2/24
田中 聡 (著)

「決められた勤務時間内を全力疾走して成果を出すために勤務時間外はきちんと休む」
「そのために残業をやめよう」

 


 

Google Workspaceではじめるノーコード開発[活用]入門 ――AppSheetによる現場で使えるアプリ開発と自動化 単行本(ソフトカバー) – 2022/2/5
守屋 利之 (著), 辻 浩一 (監修), 宮井 拓也 (監修)
プログラミングせずに業務アプリをすぐに作れます!

 


 

あなたの仕事が一瞬で片付くPythonによる自動化仕事術 | 大人気 Youtube「キノコード」と連動して学習可能 単行本(ソフトカバー) – 2021/12/24
キノコード (著)
本書の内容は、全てKinoCodeのYouTube動画と連動しており、ページに設置されたQRコードを読み取って動画をご視聴いただくことができます。

 


 

超実践! AI人材になる本-プログラミング知識ゼロでもOK 単行本 – 2021/9/16
大西可奈子 (監修)
いちばんやさしいAIプロジェクト実践本!

 


 

コンピュータ、どうやってつくったんですか?:はじめて学ぶ、コンピュータの歴史としくみ 単行本(ソフトカバー) – 2018/8/27
川添 愛 (著)

 


 

体験してわかるプログラミング教育 ~うちの子の「考える力」が伸びるワケ 単行本(ソフトカバー) – 2021/6/2
淺井 登 (著)
パソコンを使わないプログラミング教育
Scratchの基本操作、楽しんで学ぶプログラミング的思考

小学教科書ワーク プログラミング的思考 3~6年 (オールカラー,付録付き) 単行本 – 2020/3/15
文理 編集部 (著)
「プログラミング教育必修化」への対策はこれでかんぺき!
人気の『教科書ワーク』シリーズに,待望の「プログラミング的思考」が加わりました!

すみっコぐらし学習ドリル 小学1・2年 はじめてのプログラミングドリル 単行本 – 2019/11/29
鈴木 二正 (著)
プログラミングの基本をパソコンなしで学習

 


 

動かして学ぶ! Pythonサーバレスアプリ開発入門 単行本(ソフトカバー) – 2021/6/14
本田 崇智 (著)

基本がわかるSQL入門 ——データベース&設計の基礎から楽しく学ぶ 単行本(ソフトカバー) – 2020/10/8
西村 めぐみ (著)

 


 

ITの仕事に就いたら最低限知っておきたい最新の常識 (日本語) 単行本 – 2020/2/1

 


 

マンガでわかる! 10才までに遊んできたえるプログラミング脳 単行本 – 2019/9/15

 


 

プログラムすごろく アベベのぼうけん おどろきの上巻 単行本 – 2019/9/26

 


 

Scratchでたのしく学ぶプログラミング的思考 単行本(ソフトカバー) – 2019/9/24

 


 

基礎からのプログラミングリテラシー 読んでみた。

基礎からのプログラミングリテラシー[コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ! ] 単行本(ソフトカバー) – 2019/4/17
増井 敏克 (著), 柏原昇店 (イラスト)
コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ。
技術書を読み切るための基礎づくり。改めて学び直せる用語集。開発を、はじめる前に、この1冊。

この本は、サンプルなどのダウンロードとかないです。
本内には、ソースコードなども載ってます。
ただ、プログラマではない人によっては、読んでも難しく感じる箇所もあると思います。
プログラマの方に向けての?本なので、その手の人にはわかるかもです。

この本は、プログラマを目指す人を対象にしています。

開発をはじめる前に、この1冊

目次は、このような感じ。
第1章 コンピュータのしくみ
第2章 プログラムのしくみ
第3章 アプリケーションが動くしくみ
第4章 開発スタイルと仕事像
第5章 開発ツールと業界標準
第6章 技術書の種類と選び方


第1章 第2章


第3章 第4章 第5章


第6章

 


 

第1章 コンピュータのしくみ

ハードウェアなどの基礎的な用語

1.1 ハードウェアとソフトウェア
コンピュータ、ソフトなければただの箱
現代のコンピュータの歴史
どんなコンピュータにも共通する五代装置
①入力装置
②出力装置
③演算装置
④制御装置
⑤記憶装置

ソフトウェアの役割など解説

1.2 OSとアプリケーション
さまざまなOSの登場
Windows(マイクロソフト社)
macOS(Apple社)
Linux、FreeBSDなど(オープンソース)
iOS(Apple社)
Android(Google社)

アプリケーションソフトの種類

開発社にとってのOSのメリット

WindowsとMac
iOSとAndroid
など解説

1.3 サーバーとクライアント
よく使われるサーバーとクライアント
WebサーバーとWebブラウザ

クライアントサーバー型のしくみ
データをサーバー側に配置し、クライアント側は専用のアプリを使って、そのデータにアクセスするシステム。

1.4 ディレクトリとフォルダ
ファイルを分類して保存
コンピュータの中では、フォルダやディレクトリに格納します。

ファイルに適切な名前をつける
ファイルとプログラムを関連付ける拡張子
拡張子が表示されない場合

1.5 テキストとバイナリ
ファイルはすべて2種類に分けられる
テキストファイルとバイナリファイルです。

文字コード表
ソフトウェアが読むためのファイル

1.6 文字化けと文字コード
英語での文字コードと日本語の文字コード
環境による文字コードの違い
Shift_JISは主にWindowsで、EUC-JPは主にUNIX系で使われていました。

Unicodeの登場
文字を、どのようにコードへ対応されるかによってUTF-8やUTF-16などの文字コードがいくつか存在します。

1.7 GUIとCUI
GUI、マウスなのでコンピュータを操作
CUI、黒い画面、Windowsの場合は、コマンドプロンプトなど

1.8 コマンドラインとシェル
CUIを指す言葉として、コンソールや、ターミナル、シェル、コマンドラインなど似たような言葉がいくつもあります。

コンソールとターミナルの違い
さまざまな種類があるシェル

1.9 環境変数とパス
アプリケーションの実行に必要なパス
パスの設定

 


 

第2章 プログラムのしくみ

プログラミングするときによく使われる用語

2.1 コーディングとプログラミング
コンピュータが理解できる言葉
Webサイトの作成にも使われるコーディングという言葉

2.2 コンパイラとインタプリタ
ソースコードをコンピュータが理解できる機械言語に変換して実行
コンパイラ、事前に機械語に一括変換
インタプリタ、プログラミング言語で書かれたソースコードを実行しながら機械語に変換

最近のプログラミング言語の特徴など解説

2.3 データ構造とアルゴリズム
プログラムを作ることは「データ構造」と「アルゴリズム」を考えることだといえます。
つまり、どのようにデータを保存し、どのように処理するか、どのように処理すれば効率的かを考えることが必要です。

Javaで解説とかされていすが、人によっては難しいかも。

2.4 変数と定数
プログラムを作成するとき、扱う処理によっては同じ値を何度も使いたい場合があります。

プログラム中で変更しない値は定数を使う
プログラム中で変更する値は変数を使う


2.4 変数と定数

2.5 配列と文字列
保存する内容で型を決める
文字列と配列の違い

2.6 キューとスタック
配列におけるデータの出し入れ
最後に入れたものから取り出すスタック
最初に入れたものから取り出すキュー

2.7 手続き型とオブジェクト指向
コンピュータは上から下に実行するだけ
プログラミングパラダイム

データを隠すオブジェクト指向など解説

2.8 クラスとオブジェクト
データと操作をひとまとめにして考えるオブジェクト指向

クラスやインスタンス

2.9 フレームワークとライブラリ
ビジネスの世界におけるフレームワーク

便利な機能をまとめたライブラリ

フレームワークとライブラリの違い
フレームワーク、土台
ライブラリ、開発者が指示しない限り何もしてくれない

2.10 MVCとMVVM
GUIアプリケーション

2.11 APIとシステムコール
インターネット上で使うAPI

 


 

第3章 アプリケーションが動くしくみ

ネットワークやデータベースを含めた用語の解説

3.1 デスクトップアプリとスタンドアロンアプリ
インストールが必要なデスクトップアプリ
パソコンにインストールして使うアプリはデスクトップアプリと呼ばれます。
誰でも使えるインストーラーを用意する

3.2 スマートフォンアプリとWebアプリ
FacebookやTwitterなどWebブラウザでアクセスできるサービスでも、スマートフォン向けのアプリが提供されています。
Webアプリの特徴
キャッシュの考え方
同じ利用者を把握するCookie

3.3 プロトコルとTCP/IP
異なるコンピュータが、やりとりする共通の言葉「プロトコル」

インターネットで標準で使われているTCP/IP

ルーター、スイッチ、ハブ、ブリッジの違いなど解説

3.4 IPアドレスとDHCP
どこにいるる?相手の場所を知るしくみ
ネットワークにおける場所を示すIPアドレス
複数のアプリケーションを識別するポート番号
IPアドレスを変換する
自動的にIPアドレスを付与するDHCP

3.5 ホスト名とDNS
IPアドレスが変わっても接続するために
ホスト名とIPアドレスを対応づけるDNS

3.6 HTMLとHTTP
どう動く?Webサイトが見えるまで
Webページを記述するHTML
デザインを決めるCSS

本では、簡単なソースコードなど載ってます。


3.6 HTMLとHTTP

HTMLなどやりとりするHTTP
プログラマなら知っておきたいステータスコード

3.7 SSLとHTTPS
どう防ぐ?データの盗み見なりすまし
通信の内容を秘密にする「暗号化」
公開鍵暗号方式にする暗号化

認証局によって発行される証明書の必要性(電子証明書)

Webでよく使われるHTTPSとは

3.8 データベースとSQL
データベースのメリット

3.9 データセンターとクラウド
データセンターの必要性
クラウドの登場
セキュリティ

など解説
 


 

第4章 開発スタイルと仕事像

プログラマの働き方について

4.1 フリーソフトとオープンソース
フリーソフトとシェアウェア
オープンソースを使うときの注意点

4.2 ウォーターフォールとアジャイル
ソフトウェア開発の流れ
アジャイルの登場

4.3 テストとデバッグ
ソフトウェア開発に必須のテスト

誰がテストを行うのか

4.4 テスト駆動開発とリファクタリング
テストとテスト駆動開発

4.5 バージョンとリリース
修正によって中身が変わるソフトウェア
バージョンを変えて区別する

4.6 プログラマとシステムエンジニア
プログラマの仕事、プログラムを作成する人

システムエンジニアの仕事、プログラムの設計を担当する人

4.7 インフラエンジニアとフロントエンジニア
エンジニアにもさまざま職種があります。
サーバーサイドエンジニアの仕事
Webサーバー、メールサーバー、データベースサーバー、ファイルサーバーなど

ネットワークエンジニアの仕事
サーバーとクライアントの間に用意するネットワークの設計や設定の変更などほか

インフラエンジニアの仕事
保守や監視など

フロントエンドエンジニアの仕事
Webサイトの作成など、利用者の目に見えやすい部分

4.8 SIerとWebエンジニア
社内で自社製品に関る
在庫管理システム、勤怠管理システム、生産管理システムなどの顧客で使われる業務システムの開発など
システムインテグレーター(Sler)と言われることがある

Webエンジニア
社内にWebサーバーを用意、内部のネットワーク

など解説
 


 

第5章 開発ツールと業界標準

プログラマがよく使うツール

5.1 IDEとテキストエディタ
プログラムを書くときに、ソースコードを入力する方法として、
テキストエディタを使う方法とIDEを使う方法があります。

オンラインで使える開発ツール


5.1 IDEとテキストエディタ

5.2 gitとSubversion
ファイルを修正するときに、戻すことを考えて変更前のファイルお残しておきます。

5.3 プラグインと拡張機能
機能を追加するリスク

5.4 開発者を支援するツール
プログラマの仕事は、プログラムを作ることだけではありません。
開発環境を整えることで、効率のよい開発につながります。

5.5 標準化機関とデファクトスタンダード
標準に準備して多くの人に使ってもらう

5.6 IETFとRFC
インターネットを取り巻く環境は、どんどん変化しています。

5.7 ISOとJIS
国際規格のISO

国内のJIS

 


 

第6章 技術書の種類と選び方

技術書の選び方

世の中には多くの書籍があります。
その中から自分に合った本を、どのようにして選べばいいのか?。

自分は、昔に、人に進められて本を買ったことがあるけど、中には自分には合わない内容の本などもあります。
また、レビューサイトなどの高評価、よく某ランキングとかでも見れますが。
ただ、あれはサンプル本などを無料で配って、高評価などのレビューをさせてる場合があるので注意が必要かも。

売れてるから買っては見たけど、自分には内容が合わない本なども多くあります。

自分で見て、買うのがいいと思います。

6.1 技術書と書店
プログラミングに関する情報を収集するとき、インターネットで検索することが多いと思います。
中には、誤りや内容があってないのもあります。

本の場合は、校正や印刷までに時間がかかります。

コンピュータに関連した本は、大きく分けて、
①仕事として、プログラミングなどを行うエンジニア向けの本
②WindowsやWord、Excelなどの解説書といった一般の利用者向けの本
③Webデザインや画像の加工などを行うクリエイター向けの本
④資格を取ろうとする方に向けた本

書籍のレベル
最低でも、その本のジャンルの場合は、3種類を読む

6.2 入門書とその種類
入門書の特徴
図鑑、図解、マンガ
新書とビジネス書

6.3 目的別書籍とこれからの技術書
入門書で学んだ後は、自分でプログラミングをして何を作ってみようと思うかも知れません。
入門書の後は
①ドリル
②逆引き(リファレンス)
③役職業務別の書籍
④プログラミング言語別の書籍
⑤電子書籍
⑥技術辞典

6.4 技術書の中身とつくり方
目次をみること。
著者のプロフィール

技術書ができるきっかけ
多くの出版社は著者を探している。という話しを聞いたことがあります。
まったく文章を書いていない人に依頼するのは難しいと考えられます。

6.5 本の選び方
技術書の売れ行きと選び方

Amazonなどのインターネット上だけでなく、書店でのランキングなど見れます。
SNSでの投稿やシェア、また書籍を選ぶときにレビューなど参考にする人は多いです。
しかし、インターネット上の情報の中には「作られた」内容が含まれていることに注意しなければなりません。

オンライン書店でのランキング
刷数
POP
キャンペーンによる効果
本のレビュー
著者で選ぶ
出版社で本を選ぶ

本を選ぶときのポイントとして、ランキング、印刷数、レビュー、著者、出版社など解説してきました。
ITに関するキーワードは次から次へと新しいキーワードが登場します。

買って良かったと思える書籍に出会えることを願っています。

 


 

基礎からのプログラミングリテラシー[コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ! ] 単行本(ソフトカバー) – 2019/4/17
増井 敏克 (著), 柏原昇店 (イラスト)

おすすめ

Tíːsign