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

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

[最終更新日]2020/04/18

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

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

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

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

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

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

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

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

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

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

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

コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ。
技術書を読み切るための基礎づくり。改めて学び直せる用語集。開発を、はじめる前に、この1冊。

 


 

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

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

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

 


 

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

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

 


 

プログラミングは簡単!: ~無駄な勉強を「しない」だけの勉強法~ Kindle版

「プログラミングの勉強につまづいている」
「どうしてもプログラミングの勉強に時間がかかってしまう」

そんな悩みをきれいさっぱり消す方法がここにあります。
プログラミングの勉強法は、なかなか難しいものです。

やりかたによって時間が10倍以上かかってしまうこともあります。
というのも、受験勉強や資格試験の勉強とはまったく異なったものだからです。

 


 

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

 


 

文系でもはじめてでも稼げる! プログラミング副業入門 (日本語) 単行本 – 2020/4/24

文系でもはじめてでも稼げる! プログラミング副業入門 (日本語) 単行本 – 2020/4/24

 


 

あなうめ式Pythonプログラミング超入門 (日本語) 単行本(ソフトカバー) – 2020/5/22

 


 

Angular超入門 (日本語) 単行本 – 2019/6/18

つくっておぼえたい人へ!Angularではじめるフロントエンドフレームワーク開発。

 


 

【改訂5版】図解でよくわかる ネットワークの重要用語解説 (日本語) 単行本(ソフトカバー) – 2020/4/16

 


 

Scratchの絵本 プログラミングを楽しくはじめる9つの扉 (日本語) 単行本(ソフトカバー) – 2020/3/24
株式会社アンク (著)

 


 

【期間限定 予約・購入特典あり】マンガでなるほど! 親子で学ぶ プログラミング教育 (日本語) 単行本(ソフトカバー) – 2020/2/6

 


 

文系でも転職・副業で稼げるAIプログラミングが最速で学べる! (日本語) 単行本(ソフトカバー) – 2020/1/22

プログラミング言語「Python」が21日で身につく!
未経験者でも安心! 複雑な公式や専門用語は最小限に
わからないことがあったら著者に無料質問! 「特設サイト」との連動

※Amazonギフト券1000円分がもらえる特別キャンペーンも実施中!
詳しくは「ひびしんAIプログラミング」で検索してください!

文系でも転職・副業で稼げるAIプログラミングが最速で学べる! (日本語) 単行本(ソフトカバー) – 2020/1/22

 


 

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

 


 

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

 


 

1日でわかる初めてのPython Kindle版

 


 

1週間でC#の基礎が学べる本 (1週間シリーズ) 単行本(ソフトカバー) – 2019/9/12

 


 

たのしく考える力が身につくScratchワークブック Scratch 3.0対応 単行本 – 2019/9/12

 


 

やりたいことが今すぐわかる 逆引きGit入門 単行本 – 2019/9/14

 


 

HTML5 ゲーム開発の教科書 スマホゲーム制作のための基礎講座 単行本 – 2019/9/17

 


 

スラスラ読める UnityふりがなKidsプログラミング ゲームを作りながら楽しく学ぼう! (ふりがなプログラミングシリーズ) 単行本(ソフトカバー) – 2019/9/19

 


 

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

 


 

Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! 大型本 – 2019/10/4
森 巧尚 (著)

 


 

CoderDojo Japan公式ブック Scratchでつくる!たのしむ!プログラミング道場 改訂第2版 Scratch3.0対応 単行本 – 2019/5/23

本書は子ども向けビジュアル・プログラミングソフト「Scratch (スクラッチ)」を題材とした学習書です。
ゲーム、アバター、クイズなどのプログラムを作りながら「ものづくりの楽しさ」を学ぶことができます。

 


 

使って遊べる!Scratchおもしろプログラミングレシピ (ぼうけんキッズ) 単行本(ソフトカバー) – 2019/5/17

PCだけでなくスマホ・タブレットならではの作例・micro:bit連携など、Scratch3.0の最新機能を遊びつくせる!

注目の教育用コンピューター・micro:bitに連携してできる遊びを3作品収録。micro:bitを始めてみたい方にも最適
遊びながら、プログラミング用語や基本操作が学べる
共有・リミックスOK! ダウンロードして使えるオリジナル素材つき

価格:¥ 2,088(価格変動あり)
BBC Micro:bit(マイクロビット)正規品 (Telec バージョン)

価格:¥ 1,990(価格変動あり)
micro:bit(マイクロビット)用子供向けスターターキット A3

 


 

基礎からのプログラミングリテラシー[コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ! ] 単行本(ソフトカバー) – 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

コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ。
技術書を読み切るための基礎づくり。改めて学び直せる用語集。開発を、はじめる前に、この1冊。

LINEで送る
Pocket

あわせて読みたい