「モダンからはじめる プログラミング生活!」
本としてダウンロード
Releases から以下のファイル形式でのダウンロードも可能です。
EPUB
MOBI
link: https://gitlab.com/DevLifeFromModernWay/devlifefrommodernway.gitlab.io/-/releases/permalink/latest
注意:
本リポジトリは余裕をもって、片手間にでも読み進めることを想定しています。
いますぐ即戦力になるような教材ではありません。
興味を持ったところから、気軽に読み進めてください。
本リポジトリはゲーム感覚で現代的で実践的なプログラマになるための教材です。
構成と目的
多くのプログラミング教材が (たった) 一つのプログラミング言語 (あるいは framework) の文法や機能を説明することに重点を置いています。
しかしここではそれらを最小限に抑え、 様々な領域の開発を通じてプログラミングと開発を広く学びます (プログラミング言語を広く学ぶわけではないのです!) 。
低レイヤプログラミング
ゲーム開発
Web アプリケーション開発
などを実践的に解決していく形式をとります。
その過程での副産物として、
Google 検索の方法 2
Git
(あるいはGitHub
) の使い方プログラミングにまつわる思想 / 文化
複数のプログラミング言語を書く力
JavaScript / TypeScript
Rust
C#
など、プログラミングとは切り離せない周辺分野の知識さえも得られます。
なぜ複数の言語を学ぶのか
例えば、Twitter の GitHub 1 を見てみると、 Top languages (プログラミング言語のランキング) は
Scala
Java
Python
JavaScript
C
となっています。他にも同サービスには Rust
や TypeScript
なども利用されています。
このように現代的な開発環境において、複数の言語や framework を組み合わせて利用することは珍しくありません。 実際のところ、多くのプログラマは 3 つ以上のプログラミング言語を容易に使いこなします。
プログラミング言語はマスタすることが最善手ではありません。 それは多くの言語間に共通する考え方 / 書き方があるからで、複数の言語を習得することは実際にはまったくの困難を伴いません。 しかし、「一つの言語でもマスタしている」と断言できるプログラマはそう多くないはずです。 それはプログラミング言語は、ある程度のレベルに達すると、ある程度のレベルで実用的に使いこなせるようになるからです。
プログラミング言語の文法や機能を完全に理解することは深淵と向き合うことですから、 一つの言語について深く学ぶことは最初にやるべきタスクではありません。 むしろ広範な領域に手を出して目一杯遊び疲れてから、愛着を持った言語などから深く学ぶべき言語を選ぶほうが効率的だからです。
1. X (Twitter) は、イーロン氏以降に Open Source 化が進んでいます。 ↩
このリポジトリの使い方、読み進め方
用語の表記について
プログラミングの周辺分野用語は、Googleablity 2 を考慮して英語表記を優先しています。 初出で重要なキーワードは Italic 体で表記しています。
プログラミング言語 (あるいは framework) の文法や機能を …
2. Google での検索しやすさ。C 言語はC
と検索せず、C-language
C-lang
などとすると Googleablity が高い。 ↩