狠狠撸

狠狠撸Share a Scribd company logo
プ ロ グ ラ ミ ン グ 『 超 入 門 書 』 か ら
見 る P y t h o n と 解 説 テ ク ニ ッ ク
リブロワークス 大津雄一郎
主な著作
http://libroworks.co.jp/
主な编集书籍
プ ロ グ ラ ミ ン グ 入 門 書 は
今 『 超 入 門 書 』 の 時 代 へ
入 門 書 の そ の 下 を め ぐ っ て 、 各 社 し の ぎ を 削 る 時 代 へ
当社が関わった『超入門書』
? 細かい内部事情は出せないが、「ページが短め」「図が多い」「サンプルが短い」
「厳密性や網羅性は重視しない」などの傾向がある。
編 プ ロ か ら 見 る
プ ロ グ ラ ミ ン グ 言 語 雑 感
P y t h o n 、 J a v a S c r i p t 、 C # 、 C / C + +
「Python」はここ数年ブーム
? ここ数年ブーム。2017年には4冊作った
? AIブーム、データ分析ブームが大きい
? 加えてシンプルに书けるので教えやすい
「絵解き本」でも最初にPython
から解説
? 一番シンプルなPython
で概要を説明
3言語を
説明
? 同じ動的型付け言語のJavaScriptは「Pythonと書き方が少し違うだけ」という説明で済む
? 最後にJavaを説明することで、動的型付け言語と静的型付け言語の違いを説明できる
{ }が必要 型が必要
Pythonの弱いところ?
?GUIがあまり作りやすくない……ような?
ライブラリごとに書き方やできることが異なる
? そのため派手なサンプルで読み手の興味を引く手法が使いにくい
「12歳Python」より
? CUI版は3行
import tkinter
# ウィンドウ作成
root = tkinter.Tk()
root.title("リリーにしつもん")
root.minsize(640, 480)
root.option_add("*font", ["MS Pゴシック", 22])
# 画像表示
pimg = tkinter.PhotoImage(file="img3/chap3-back.png")
canvas = tkinter.Canvas(bg="black", width=640, height=480)
canvas.place(x=0, y=0)
canvas.create_image(320, 240, image=pimg)
# テキスト表示
question = tkinter.Label(text="知りたいのは何分かな?", bg="white")
question.place(x=100, y=40)
# テキストボックス表示
entry = tkinter.Entry(width=12, bd=4)
entry.place(x=50, y=133)
# 質問ボタン表示
askbutton = tkinter.Button(text="聞く")
askbutton.place(x=260, y=125)
# 答え表示
answer = tkinter.Label(text="…………", bg="white")
answer.place(x=115, y=235)
# イベント設定
def ask_click():
val = entry.get()
minutes = float(val)
hours = round(minutes/60, 2)
answer["text"] = str(hours) +"時間だね!"
askbutton["command"] = ask_click
# メインループ
root.mainloop()
? GUI版はコメントと空白行を抜いて24行
「JavaScript」はUIが作りやすい
? 2017年に3冊制作(一冊は執筆込み)。需要はあるが棚が狭くなっている?
? UIが作りやすい。他の言語はライブラリごとに作り方やできることが変わってしまう
が、JavaScriptのUIはHTMLなので何ができて何ができないのかが把握しやすい。CSSで
手軽に格好よくできる
? ブラウザがあれば使えて、最近はアプリ作り(Electronなど)用途も広がっている。個
人的に一番よく使う
JavaScriptの弱いところ
? 仕様の変化が激しい。ES2015が普及し始めたので入門
書も作り直さないといけない
「C#」はUnityがすごい
? 2017年に2冊制作(一冊は執筆込み)
? C#というよりUnityがすごい。ゲームだったら頭抜けている。
? Unityの本をプロのゲーム作家さんとの共著で2冊制作したが、物理演算、衝突判定が
コードなしで書けて感動した。マルチプラットフォーム対応もUnity任せでいい。
? 静的型付け言語としては覚えやすい。Javaの経験があればその応用で済む。ただし用
途が狭い気も。
コードなしでかなりのことが
できる
? ボールが落ちる、衝突して跳ね返る 部分まではコード不要
? 基本的にイベント処理の部分だけ书けばいい
「C/C++」は超入門だと厳しい
? 超入門書で採り上げるのは厳しい印象。とにかく他に比べて簡単ではないし、プラッ
トフォーム依存も激しい。
? もはや静的言語が主流の時代ではないので(PythonやJavaScriptを使うためにC/C++の
知識が必要というわけではない)、最初の言語に選ぶ理由があまりない。
? GUIアプリの開発はかなり難易度高い。
? 昔作った「12歳C言語(旧13歳C言語)」
という本では、学習用のツールを作って
初心者対応した。
2010年刊行 2016年刊行
「12歳C言語」より
CLIアプリ程度の難易
度でグラフィック入り
のプログラムを作れる
ツールを用意した
プ ロ グ ラ ミ ン グ 入 門 書 で
使 わ れ る 基 本 テ ク ニ ッ ク
定番テクニック
? 定番テクニックは「図解」と「ステップバイステップ写経」
? 図解のみに注力したのが「絵解き本」
? 過去の著作では「ステップバイステップ写経」メインの本が多い。
図解
メイン
写経
メイン
図解したほうがいいものの例
? スタック(LIFO)とキュー(FIFO)の違いを説明する場合
? 文章のみだと……
? 「最初にHが入って、二番目にE、三番目にLが入った場合、最初にH、二番目にE、三番目
にLの順番で出てくるのがキュー」
? 「最初にHが入って、二番目にE、三番目にLが入った場合、最初にL、二番目にE、三番目に
Hの順番で出てくるのがスタック」
? 視覚説明を文章で書くのは要注意(小説ではないので)
図にすれば一発で伝わる
L L E H
O
先に入れたデータが
先に出る
キュー(FIFO)
O
L
L
E
H
スタック(LIFO)
L
E
H
O
L
後に入れたデータが
先に出る
IN OUT
IN OUT
ただし図解より大事なこともある
? 図解よりももっと大切なのは「用途?目的」の説明(どういうときに必要なの?)
? これが読者と共有できていないと、手間をかけて図解しても意味がない
? 「何ソレおいしいの?」というツッコミを自分でして答えられるか?
そもそもキュー
やスタックって
何に使うの?
ステップバイステップ写経とは
? 古いやり方(中級者向けなら今でもOK)
– 長いコードをドーン
– 長い説明をドーン
? ステップバイステップ写経
– 短いコードを見せて説明
– ちょっとずつ足して結果を見せて説明
– ちょっとずつ足して結果を見せて説明 ×これを完成まで繰り返す
? 入力しながら試行錯誤を追体験させることで学習効果を狙う
? 説明を分散できるメリットもある(人間が一気に覚えられる情報量には限界あり)
「12歳Python」より
ウィンド
ウを表示
画像を配置
ボタンや
入力ボックス
を配置
イベント設定
移動処理だけだと、障害
物に重なってしまい画面
外にも出てしまう
移動先をチェック
して制限する関数
を作る
わざと失敗例を先に見せる手法
? ステップバイステップと用途
説明のあわせワザ

More Related Content

Similar to プログラミング『超入门书』から见る笔测迟丑辞苍と解説テクニック (12)

20120731 ALC Eijiro User Meeting
20120731 ALC Eijiro User Meeting20120731 ALC Eijiro User Meeting
20120731 ALC Eijiro User Meeting
akikom0819
?
厂辫丑颈苍虫で翻訳してたら本が出てた话
厂辫丑颈苍虫で翻訳してたら本が出てた话厂辫丑颈苍虫で翻訳してたら本が出てた话
厂辫丑颈苍虫で翻訳してたら本が出てた话
Yoshifumi Yamaguchi
?
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura TahWP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
?
WordPressテーマ作成超入門 ver.2018
WordPressテーマ作成超入門 ver.2018WordPressテーマ作成超入門 ver.2018
WordPressテーマ作成超入門 ver.2018
Ryo Uozumi
?
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
Yoshiki Shibukawa
?
20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror
Yoshiharu Hashimoto
?
笔测迟丑辞苍で自动化した话1
笔测迟丑辞苍で自动化した话1笔测迟丑辞苍で自动化した话1
笔测迟丑辞苍で自动化した话1
Masato Fujitake
?
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
junnamacom
?
K ruby第一回中国報告
K ruby第一回中国報告K ruby第一回中国報告
K ruby第一回中国報告
Kosuke Masumitsu
?
トピックモデルの话
トピックモデルの话トピックモデルの话
トピックモデルの话
kogecoo
?
修士の振り返り.辫辫迟虫
修士の振り返り.辫辫迟虫修士の振り返り.辫辫迟虫
修士の振り返り.辫辫迟虫
亮介 西田
?
20120731 ALC Eijiro User Meeting
20120731 ALC Eijiro User Meeting20120731 ALC Eijiro User Meeting
20120731 ALC Eijiro User Meeting
akikom0819
?
厂辫丑颈苍虫で翻訳してたら本が出てた话
厂辫丑颈苍虫で翻訳してたら本が出てた话厂辫丑颈苍虫で翻訳してたら本が出てた话
厂辫丑颈苍虫で翻訳してたら本が出てた话
Yoshifumi Yamaguchi
?
WP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura TahWP-D Fes03 Osaka Kitamura Tah
WP-D Fes03 Osaka Kitamura Tah
Takashi Kitamura
?
WordPressテーマ作成超入門 ver.2018
WordPressテーマ作成超入門 ver.2018WordPressテーマ作成超入門 ver.2018
WordPressテーマ作成超入門 ver.2018
Ryo Uozumi
?
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
技術書執筆のススメ ?Only1なエンジニアになるためのセルフブランディング?の発表資料
Yoshiki Shibukawa
?
20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror20100619 wakhok important_of_io_with_jror
20100619 wakhok important_of_io_with_jror
Yoshiharu Hashimoto
?
笔测迟丑辞苍で自动化した话1
笔测迟丑辞苍で自动化した话1笔测迟丑辞苍で自动化した话1
笔测迟丑辞苍で自动化した话1
Masato Fujitake
?
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
「情報保障とやさしい日本語」GAAD Japan 2024やさしい日本語についてのセッションスライド
junnamacom
?
トピックモデルの话
トピックモデルの话トピックモデルの话
トピックモデルの话
kogecoo
?
修士の振り返り.辫辫迟虫
修士の振り返り.辫辫迟虫修士の振り返り.辫辫迟虫
修士の振り返り.辫辫迟虫
亮介 西田
?

More from Takeshi Akutsu (20)

みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
Takeshi Akutsu
?
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
Takeshi Akutsu
?
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
Takeshi Akutsu
?
Start Python Club 2020年活動報告
Start Python Club 2020年活動報告Start Python Club 2020年活動報告
Start Python Club 2020年活動報告
Takeshi Akutsu
?
みんなのPython勉強会#59 Intro
みんなのPython勉強会#59 IntroみんなのPython勉強会#59 Intro
みんなのPython勉強会#59 Intro
Takeshi Akutsu
?
On the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of PythonOn the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of Python
Takeshi Akutsu
?
厂迟补辫测ユーザーガイド
厂迟补辫测ユーザーガイド厂迟补辫测ユーザーガイド
厂迟补辫测ユーザーガイド
Takeshi Akutsu
?
stapy_fukuoka_01_akutsu
stapy_fukuoka_01_akutsustapy_fukuoka_01_akutsu
stapy_fukuoka_01_akutsu
Takeshi Akutsu
?
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
Takeshi Akutsu
?
Scipy Japan 2019参加レポート
Scipy Japan 2019参加レポートScipy Japan 2019参加レポート
Scipy Japan 2019参加レポート
Takeshi Akutsu
?
Scipy Japan 2019の紹介
Scipy Japan 2019の紹介Scipy Japan 2019の紹介
Scipy Japan 2019の紹介
Takeshi Akutsu
?
みんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, IntroみんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, Intro
Takeshi Akutsu
?
Introduction
IntroductionIntroduction
Introduction
Takeshi Akutsu
?
みんなのPython勉強会#35 まとめ
みんなのPython勉強会#35 まとめみんなのPython勉強会#35 まとめ
みんなのPython勉強会#35 まとめ
Takeshi Akutsu
?
モダンな独学の道。そうだ、オープンソースでいこう!
モダンな独学の道。そうだ、オープンソースでいこう!モダンな独学の道。そうだ、オープンソースでいこう!
モダンな独学の道。そうだ、オープンソースでいこう!
Takeshi Akutsu
?
LT_by_Takeshi
LT_by_TakeshiLT_by_Takeshi
LT_by_Takeshi
Takeshi Akutsu
?
Orientation
OrientationOrientation
Orientation
Takeshi Akutsu
?
Introduction
IntroductionIntroduction
Introduction
Takeshi Akutsu
?
We are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python ClubWe are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python Club
Takeshi Akutsu
?
ドコモ础滨エージェント础笔滨のご绍介
ドコモ础滨エージェント础笔滨のご绍介ドコモ础滨エージェント础笔滨のご绍介
ドコモ础滨エージェント础笔滨のご绍介
Takeshi Akutsu
?
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
みんなのPython勉強会#111 LT資料 "AIとサステナビリティについて"
Takeshi Akutsu
?
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
万年ビギナーによる笔测迟丑辞苍プログラミングのリハビリ计画
Takeshi Akutsu
?
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
厂迟补辫测の6年~本との出会いから生まれた技术コミュニティ~
Takeshi Akutsu
?
Start Python Club 2020年活動報告
Start Python Club 2020年活動報告Start Python Club 2020年活動報告
Start Python Club 2020年活動報告
Takeshi Akutsu
?
みんなのPython勉強会#59 Intro
みんなのPython勉強会#59 IntroみんなのPython勉強会#59 Intro
みんなのPython勉強会#59 Intro
Takeshi Akutsu
?
On the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of PythonOn the Necessity and Inapplicability of Python
On the Necessity and Inapplicability of Python
Takeshi Akutsu
?
厂迟补辫测ユーザーガイド
厂迟补辫测ユーザーガイド厂迟补辫测ユーザーガイド
厂迟补辫测ユーザーガイド
Takeshi Akutsu
?
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
笔测迟丑辞苍初心者が4年で5000人のコミュニティに作ったエモい话
Takeshi Akutsu
?
Scipy Japan 2019参加レポート
Scipy Japan 2019参加レポートScipy Japan 2019参加レポート
Scipy Japan 2019参加レポート
Takeshi Akutsu
?
Scipy Japan 2019の紹介
Scipy Japan 2019の紹介Scipy Japan 2019の紹介
Scipy Japan 2019の紹介
Takeshi Akutsu
?
みんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, IntroみんなのPython勉強会 in 長野 #3, Intro
みんなのPython勉強会 in 長野 #3, Intro
Takeshi Akutsu
?
みんなのPython勉強会#35 まとめ
みんなのPython勉強会#35 まとめみんなのPython勉強会#35 まとめ
みんなのPython勉強会#35 まとめ
Takeshi Akutsu
?
モダンな独学の道。そうだ、オープンソースでいこう!
モダンな独学の道。そうだ、オープンソースでいこう!モダンな独学の道。そうだ、オープンソースでいこう!
モダンな独学の道。そうだ、オープンソースでいこう!
Takeshi Akutsu
?
We are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python ClubWe are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python Club
Takeshi Akutsu
?
ドコモ础滨エージェント础笔滨のご绍介
ドコモ础滨エージェント础笔滨のご绍介ドコモ础滨エージェント础笔滨のご绍介
ドコモ础滨エージェント础笔滨のご绍介
Takeshi Akutsu
?

プログラミング『超入门书』から见る笔测迟丑辞苍と解説テクニック