Help us understand the problem. What is going on with this article?

転職(16) 65歳からのプログラミング入門

おはようございます。

歳をとってからプログラミングするのは難しいという人がいる。

若い人でも、歳をとっても興味があるかどうかだけだと思う。

生の声をお聞きいただくには、次の行事に参加いただくといいかも。

なぜ日本がアイティーで生き残れるか 2020年2月28日金曜日 13:30〜17:00 入場無料
名古屋市工業研究所 〒456-0058 名古屋市熱田区六番3-4-41
https://www.facebook.com/events/3089406667770866/

仮説・検証(53)日本のプログラマが世界で戦える10事例
https://qiita.com/kaizen_nagoya/items/a7e634a996cdd02bc53b

世代別おすすめ(案)

10代ならアセンブラから始めて欲しいかも。

アセンブラ短歌
http://kozos.jp/asm-tanka/

若い人であってもなくても、ゲームか、音楽に興味がある人は教えがいがある。

ゲームに興味のある人に、ゲームのプログラムを書き始める時に気をつけてほしいことを書いた記事はこちら。

プログラマが知っているとよい色使い(安全色)
https://qiita.com/kaizen_nagoya/items/cb7eb3199b0b98904a35

20代ならすぐ金になる言語をやってください。

30代は自動化を実現する言語に集中してね。

40代は自分の管理業務を自動化してみて。

50代は組織の経営分析ができるように。

60代は趣味でつかえりゃいいじゃないか。
60歳、65歳で退職してから短歌とか、俳句とか、漢詩とか、詩吟とか、大正琴とか、ギターとか、ピアノとかを始めるのと同じような乗りで、プログラムをはじめようという人への資料。

実は、50歳から毎年1言語学習を目指してきた。
1言語習得とは言えない。勉強しても使えるようになるとは限らないから。
最低でも基本的な教科書の1冊は全部動かしてみる。

python, Ruby, spin, C#, JavaScript, PHP, Coq, SML#, F#, VDM, uppaal, VHDL, ObjectiveC, R, System C。

Haskell, prolog, Z, SMV, alloy, verifarstは処理系を起動しただけで手が止まっている。

ちなみに、50歳までに取り組んだことがある言語は、

アセンブラ、C、C++, JAVA, Verilog HDL, Basic, Fortran, COBOL。10年に3つくらいの言語しか学習していない。20代に、アセンブラ、BASIC, COBOL, fortranをやっていて、30代にC++とJAVA、40代はVerilog HDL。 LISPとSmallTalkは動かして見たけど実用的または研究的なプログラムは1行たりとも書いたことがなかった。

50歳以降で新たに学習した言語で、役にたったのはpythonかもしれない。

趣味で使うなら、機械学習できなきゃ。
組織の経営分析をするのにRかPythonがいいかも。

この記事は、現在64歳のプログラマが、同世代のプログラムを組んだことがない方に、相談に応じた記録でもあります。

機械語、アセンブラでも楽しむ方法はある。アセンブラ短歌とか。
趣味ですぐに役立つプログラミングならpythonかも。

2017 年から開催した「ゼロから始めるDeep Learning読書会」
https://qiita.com/kaizen_nagoya/items/537b1810265bbbc70e73
に65歳以上の方が数人参加されており、pythonの導入、習得にいろいろ苦労されている状態を手助けした記録も兼ねています。

機械学習はdocker利用をお勧めしています。

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

古いWindowsしかない方で、どうしてもWindowsでpythonをしたいという方のために作った資料はこちら。

Windows(M.S.)にPython3(Anaconda3)を導入する(7つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

自分のQiita記事で、一番viewsが多い。読んで、うまくanacondaが導入できたら「いいね」をお願い。

dockerもWindowsもと思う方に、お勧めしているのはRaspberry PI。

4原則

お金はかけない、

時間をかけない(1日1時間)、

ネットに頼る(生身の人に頼らない)

コピペプログラミング

機材

中古でみつけてくるか、いらなくなった機材を只でゆずりうけるのも手。
子供や孫に、新しい機材を買って、古い機材を下取りするというのも手。
Raspberry PIなら古いものも新しいものも1万円以下だったり。

ブラウザだけで済ます場合、家庭内でWeb見ている機材を1時間だけ借りる。
PCの中古でも、ブラウザで操作するだけなら、1万円以下で始めることを検討するとよいかも。

play with dockerというブラウザだけで動作する状態で始められるように資料を作成している。
ソフトウェアを導入しないため、家族のパソコン、pad, Raspberry PIを借りて利用してもよい。

Raspberry PI

家庭用テレビが、HDMIケーブルがつながる型なら大丈夫。Raspberry PIの無線がついたものと、キーボードと、マウスと、電源ケーブルと、HDMIケーブルとがあればすぐに始められる。
https://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi

HDMIケーブルの刺せるテレビがあれば、上記 BASIC setに、キーボード、マウスがそれぞれ1000円くらいで、1万円でおつりがくるかも。

Raspberry PIは、10歳くらいの子供向けにいろいろ考えられている。65歳の人が始めるにもちょうどぴったり。

Raspbianの入ったSDカードを使えば、最初からPython2, Python3が入っている。

タブレット・Pad

AndroidのPadなら1万円代からあるらしい。
http://kakaku.com/item/K0001091239/?lid=20190108pricemenu_ranking_1

iPadだと購入方法にもよる。

iPad 9.7インチ(2018年版)をとにかく安く買う方法【2019年最新】
https://takulog.info/how-to-buy-ipad-2018-cheaply/

最小限の持ち物で勉強できるのか?iPadで開発 《第1弾》
https://qiita.com/RyoGT/items/6a0c28c0c87ac8e21bd8

パソコン

Raspberry PIに抵抗のある人は、パソコンでもいい。
場所を取らないノート型がお勧め。
MacintoshでもwindowsでもDockerさえ導入すればよい。
Windowsのノートなら3万円台でもある。
Mac Bookは新品だと安いのはないのが難点。

Dockerが導入できなければWebからでもいい。

Docker 入門にはインストールなしで使える「Play with Docker」がいいと思う
https://qiita.com/tag1216/items/ec7228440f6eaf849cd6

スマフォ

たぶんpadと同じものが動くはず。まだ試していない。文字の切りはり方法に詳しくない。調べます。ごめんなさい。

言語

絵で描くようなものもよいものはいろいろある。
今回は、キーボードでtypeする言語にしてみよう。

Python

pythonやるなら言語処理100本ノック

言語処理100本ノック(東北大学)
http://www.cl.ecei.tohoku.ac.jp/nlp100/

言語処理100本ノックをdockerで。
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

Dockerでpython言語処理100本ノック
https://qiita.com/taguchi_tomo/items/24483ceaea7638e83310

素人の言語処理100本ノック:まとめ @segavvy
https://qiita.com/segavvy/items/fb50ba8097d59475f760

第1日目1時間:Webでpython 編

当面の7方針

プログラムってなんだという疑問は放置

考える前に動かす。講釈は後。

見る前に飛べ。動かすのが一番近道。

切り貼りだけで3週間。キーボード操作は4週目から。

文法書は読まない。システムがエラーを出してくれる。

わからないことはネットで検索して、記録する。

エラーが出たら、ネットに記録する。

例:
今日の作業記録 python error(言語処理100本ノック:18)未解決
https://qiita.com/kaizen_nagoya/items/d184d9aec28ca8428f3d
今日の作業記録 python error(言語処理100本ノック:20)解決
https://qiita.com/kaizen_nagoya/items/c82ebccfef5522de53b9
今日の作業記録 python error(言語処理100本ノック:30)未解決
https://qiita.com/kaizen_nagoya/items/2b8b542a93fc8d8949dc
今日の作業記録 python error(言語処理100本ノック:37)未解決
https://qiita.com/kaizen_nagoya/items/d68cc9f494c8a15f9de1
今日の作業記録 python error(言語処理100本ノック:42)未解決
https://qiita.com/kaizen_nagoya/items/d77b6474aa5f5cd84457
今日の作業記録 python error(言語処理100本ノック:52)解決
https://qiita.com/kaizen_nagoya/items/c203a0e3b45ef7365776
今日の作業記録 python error(言語処理100本ノック:56)未解決
https://qiita.com/kaizen_nagoya/items/d769c8ec1522e2d05f5e
今日の作業記録 python error(言語処理100本ノック:64)未解決
https://qiita.com/kaizen_nagoya/items/70a96bb7673ec347ece7
今日の作業記録 python error(言語処理100本ノック:79)未解決
https://qiita.com/kaizen_nagoya/items/bfd6037483739563ee6a
今日の作業記録 python error(言語処理100本ノック:81)解決
https://qiita.com/kaizen_nagoya/items/529ed6e4427c7617f8e4
今日の作業記録 python error(言語処理100本ノック:84)解決
https://qiita.com/kaizen_nagoya/items/0dc1304d54bfcc77480a
今日の作業記録 python error(言語処理100本ノック:97)未解決
https://qiita.com/kaizen_nagoya/items/2a9d201f4ec0181948fe

play with docker

www.play-with-docker.com

docker0.png

Docker hubのIDとパスワードを入れる。

docker1.png

「ADD new instance」をクリックする。

文字列をコピペする

docker run -it  ubuntu /bin/bash

apt-get update
apt-get -y install python3-dev
python3

最初のpython1行プログラムをインタプリタで入力する。文字列のコピペ

LangPro100-2015-00
>>> print("stressed"[::-1])
desserts

みごとに逆順になった。

「>>>」 の行が入力、その次の行が出力。
文字を逆順にするのがこんなに簡単。

ここまで1時間で来れれば大丈夫。
自分では、下記のように、ありとあらゆるエラーにみまわれ、ここまで来るのに2時間、
この資料をまとめるのに1時間かかっている。泣)

Play with Docker でエラー

https://qiita.com/kaizen_nagoya/items/fbf054705bff725dbc25

言語処理100本ノックを全部実行できる環境はおおきすぎたのか、エラーでうまくいっていない。
ちょっと、おまちください。エラーを取る原因を調査中です。

第1日目1時間:Raspberry piでPython 編

上記の記事のpython3はRaspberry PIでも利用できる。

dockerとRaspberry PIは同じDebian系なのでコマンド類はほとんど同じはず。
しかも、Raspberry PIでSDカードでRaspbianが入って入れば、Python3はすでに入っている。
いろいろなソフトの導入はしなくても、いきなりpython3が利用できる。

python3
>>> print("stressed"[::-1])
desserts

100本ノックの記事のgitは、Raspberry PIからでも利用できる。

第1日目1時間:dockerでanaconda編

Windows, Macintoshにdocker導入したら、

docker run -it  continuumio/anaconda3 /bin/bash

anaconda3でpython3だけ導入している。
pythonだけで、python3が起動する。

python
>>> print("stressed"[::-1])
desserts

WindowsでAnacondaを利用したい方

Windows(MS)にPython(Anaconda)を導入する(6つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

機械学習

pythonやったら機械学習へ進むのもよい。
下記、機械学習の題材の半分以上がPythonで記述している。

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

量子計算機

65歳になる寸前から「量子アニーリングの基礎」を読む会合を毎月始めました。
Openjijはpythnです。機械学習との連携も考慮しているようです。

dockerでの作業が順調に進んだら報告します。

「量子アニーリングの基礎」を読む
https://qiita.com/kaizen_nagoya/items/29580dc526e142cb64e9

「量子アニーリングの基礎」の参考文献の参考文献
https://qiita.com/kaizen_nagoya/items/2b2fe08b5824c6c3c68d

YouTube動画による「T-QARDの日々」 量子アニーリング・量子コンピュータへの入口
https://qiita.com/kaizen_nagoya/items/fb869e5f38ae354e6294

「先生、それって「量子」の仕業ですか?」大関真之 量子力学入門のための資料収集
https://qiita.com/kaizen_nagoya/items/da8d2a9064c4b22ef332

量子計算機 arXiv掲載 西森 秀稔 論文 参考文献一覧
https://qiita.com/kaizen_nagoya/items/63cd1c6cf7a07b0e9e6f

プログラムちょい替え(10)単語帳作成 dockerで(文字コード対応)量子計算機 arXiv掲載 西森 秀稔 論文(shell, awk)
https://qiita.com/kaizen_nagoya/items/319672853519990cee42

「量子アニーリングの基礎」への記事一覧<作成中>
https://qiita.com/kaizen_nagoya/items/2f9b56d7dea41e3f18dd

「量子アニーリングの基礎」を読む 第1日
https://qiita.com/kaizen_nagoya/items/2bc284faaf0f61278778

「量子アニーリングの基礎」を読む 第2日(予習)
https://qiita.com/kaizen_nagoya/items/749043f4f8ae026ec5e5

量子コンピュータ:量子力学にたどり着くための三つの方法
https://qiita.com/kaizen_nagoya/items/cfc35e62c81a978cc2fc

プログラマが量子力学を勉強するときの7つの道
https://qiita.com/kaizen_nagoya/items/7061f62b3629eee395f2

おわび

<この記事は書きかけです。自分が65歳になる頃(今から半年後)に書き終わります。>

参考文献(reference)

Docker Hub を始める - Docker User Guide
https://qiita.com/zembutsu/items/dd3fd778b92aacaa884b

プログラミング言語教育のXYZ
https://qiita.com/kaizen_nagoya/items/1950c5810fb5c0b07be4

言語処理100本ノック 2015(python) 動作確認docker環境構築
https://qiita.com/kaizen_nagoya/items/abaf3fd0198f9f557243

予定 全20時間を想定中

最初の週の5日間 言語処理100本ノック

65歳からのプログラミング入門(2) 二日目
https://qiita.com/kaizen_nagoya/items/57f362fb801fd3132803

言語処理100本ノック 2015(python) 落ち穂拾い 第1章: 準備運動
https://qiita.com/kaizen_nagoya/items/ee1b625b0b65cd63d42a

言語処理100本ノック 2015 落ち穂拾い 第2章: UNIXコマンドの基礎
https://qiita.com/kaizen_nagoya/items/c8f030fc1f812b085c0a

言語処理100本ノック 2015 落ち穂拾い 第3章: 正規表現
https://qiita.com/kaizen_nagoya/items/1642b6a3ee4d31b7d56a

言語処理100本ノック 2015 落ち穂拾い 第4章形態素解析
https://qiita.com/kaizen_nagoya/items/348b3a1d169e5d11e9ab

言語処理100本ノック 2015 落ち穂拾い 第5章:係り受け解析
https://qiita.com/kaizen_nagoya/items/283731f9a1a35962d1fb

言語処理100本ノック 2015 落ち穂拾い 第6章: 英語テキストの処理
https://qiita.com/kaizen_nagoya/items/96e9ec4657176a70a0a7

言語処理100本ノック 2015 落ち穂拾い 第7章: データベース
https://qiita.com/kaizen_nagoya/items/23abc2b24865f68d46b0

言語処理100本ノック 2015 落ち穂拾い 第8章: 機械学習
https://qiita.com/kaizen_nagoya/items/529e1070de8157d49ab2

言語処理100本ノック 2015 落ち穂拾い 第9章: ベクトル空間法 (I)
https://qiita.com/kaizen_nagoya/items/1cf448fdcabd02eaa7da

言語処理100本ノック 2015 落ち穂拾い 第10章: ベクトル空間法 (II)
https://qiita.com/kaizen_nagoya/items/51008b5b5f9fac15fe57

次の週の5日間 ゼロから始めるDeep Learning(1)

dockerで機械学習 with anaconda(1)「ゼロから作るDeep Learning - Pythonで学ぶディープラーニングの理論と実装」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/a7e94ef6dca128d035ab

3週目の5日間 ゼロから始めるDeep Learning(2)言語処理編

dockerで機械学習with anaconda(2)「ゼロから作るDeep Learning2自然言語処理編」斎藤 康毅 著
https://qiita.com/kaizen_nagoya/items/3b80dfc76933cea522c6

4週目の5日間 現在題材捜索中、量子計算機か自習

キーボード操作はここから

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

量子コンピュータプログラムへの道
https://qiita.com/kaizen_nagoya/items/37c90488c87bbe9f2d71

背景(back ground)

言語教育(language education)

C言語の教育をしていた頃には、
最初はCコンパイラのソースを入力してもらっていた。

その後、Cコンパイラに興味のない人には、
Lode-Runnerで学ぶ実践C言語-ビー・エヌ・エヌ企画部
51JaGIOM+4L._SL500_SX351_BO1,204,203,200_.jpg
https://www.amazon.co.jp//dp/4893690116
を入力してもらった。

Pythonの教育をしている現在は、
Pythonのゲームか、音楽ソフトを打ち込んだり、改良したりしてもらいながら
言語を覚えてもらっている。言語処理100本ノック(東北大学)を先にやるか、後にするかは、人次第。

言語の種類(kinds of languages)

50歳を過ぎてから、毎年新しい言語を一つ習っている。

C#,
PHP,
SML#,
F#,

uppaal

ObjectiveC,

VHDL

SPIN
SPIN(simple promela interpreter)入門
https://qiita.com/kaizen_nagoya/items/a18a4e1e5493591e76fa

VDM

System C

coq
「coq入門」の入門
https://qiita.com/kaizen_nagoya/items/13566f0b2083ea8d4998

SML#
SML#入門
https://qiita.com/kaizen_nagoya/items/84a9a82c1aa135ac7a22

alloy
alloy analyzer入門
https://qiita.com/kaizen_nagoya/items/b7928e2b8e80b9b00498

ruby

python
「Python 入門」の入門
https://qiita.com/kaizen_nagoya/items/22c99c5926984ede6573

R

javascript

いまさらと言わないでください。
Reduce, LISP, Smalltalk, Squeak, C#, Objective C, PHP, Matlab, Mathematicaは教育、試験の一部を協力したのみ。主担当ではない。本格的なプログラミングには着手していない。
Haskell, prolog, Z, SMV, alloy, verifarstは処理系を起動しただけで手が止まっている。

ちなみに、20歳前後から使ってきたプログラミング言語は、
Z80アセンブラ, BASIC, 8086アセンブラ, COBOL, Fortran, C, LaTeX, Pascal, H8アセンブラ, SHアセンブラ, C++, JAVA。Verilog HDL。20代も、ほぼ毎年1言語づつ着手。30代と40代はそれぞれ1言語程度。

ネット利用(using the net)

PC-VANでAcosクラブ(NECの汎用機)のサブシス、N5200(ビジネスコンピュータ)ユーザネットのシスオペをしていました。

自作ソフトでは、メインフレームのパソコンシミュレータ、キーボード入力練習プログラム、VZ Editor N5200移植差分,などを配布していました。
他作ソフトでは、COBOLで書かれた、CAP-Xアセンブラシミュレータ、 MINIXのPC-9801の移植などを配布していました。

ネットを通じて、ソフトウェアを開発する場合には、仕事で面直でソフトウェアを作るのに比べて10分の1の時間から1000分の1くらいの時間でできることがわかりました。

65歳って(about 65 years old)

65歳って、AppleのJobsや、Microsoft のGatesとほぼ同世代です。
4bit CPU(マイクロプロセッサ)が出た1971年はまだ高校生の時代、z80が出た1976年は大学生の時代。
仕事で、CPUをどう使うかを考えてきた世代。
仕事の種類によっては、1976年頃から使っていた人もいれば、43年間、使わずに来た人もいる。

団塊の世代の後の、子供の出生数が激減した午年(丙午はその12年後)。
新人類と言われた最初の世代です。
1972年当時、部室では、「おたく」が、「御宅」言葉を話ていました。

65歳からでも、プログラミングができる時代背景があります。
同世代に、マイクロプロセッサのプログラマのはしりの人たちがいるから安心してはじめてください。

64bitCPUへの道 and/or 64歳の決意(0)
https://qiita.com/kaizen_nagoya/items/cfb5ffa24ded23ab3f60

64bitCPUへの道 (1)V850 gcc 64bit
https://qiita.com/kaizen_nagoya/items/9934c0f9911ad29779b5

64bitCPUへの道 and/or 64歳の決意(2)32bitと64bitの違い
https://qiita.com/kaizen_nagoya/items/1763b20c607260ea2c3e

参考資料(reference)

Play with Dockerを使って、色んなプログラム言語でhttp通信してみる
https://qiita.com/nightyknite/items/8e3c0944b6d9b8ef1933

事故参照(self reference)

40年でソフトウェア開発の景色はどのぐらい変わったのか?
https://qiita.com/kaizen_nagoya/items/54c17cf751894eef56f8

文書履歴(document history)

ver. 0.01 初稿 20190116 午前
ver. 0.02 URL追記 20190116 午後
ver. 0.03 はてな 追記 20190117 夕
ver. 0.04 Play with Docker 追記 20190117 夜
ver. 0.05 当面の7方針追記 20190117 深夜
ver. 0.06 URL追記 20180118 早朝
ver. 0.07 背景追記 20190118 朝
ver. 0.08 機材追記 20190118 午前
ver. 0.09 50歳を過ぎてから、毎年新しい言語を一つ習っている。追記 20190118 昼
ver. 0.10 Squeak, C#, Objective C, PHP 追記 20190118 夜
ver. 0.11 ロードランナー追記 20190119 朝
ver. 0.12 予定追記 20190119 昼
ver. 0.13 二日目 書き始め 20190119 夕
ver. 0.14 100本ノック資料追記 20190120 朝
ver. 0.15 ゼロから始めるDeep Learning追記 20190120 午前
ver. 0.16 7方針変更 20190120 昼
ver. 0.17 資料追記 20190121
ver. 0.18 表記補正 20190122 
ver. 0.19 予定を少し前に 20190123 朝
ver. 0.20 素人の言語処理100本ノック:まとめ@segavvy 等追記 20190123 夕
ver. 0.21 言語処理100本ノック各章 20190124午前
ver. 0.22 作業記録 python error 20190124 午後
ver. 0.23 表現加筆 20190125
ver. 0.24 項目入替 20190126
ver. 0.25 世代別お勧め追記 20190129
ver. 0.26 いいね500超え記念追記 20190521
ver. 0.27 「量子アニーリングの基礎」を読む追記20190820
ver. 0.28 参考資料追記 20190828
ver. 0.29 表現補足 20191113
ver. 0.30 おはようございます 20200116
ver. 0.31 python 20200301

このエントリーをはてなブックマークに追加

http://b.hatena.ne.jp/guide/bbutton

kaizen_nagoya
I'm a network designer.I work on TOPPERS SmallestSetProfile Kernel,MISRA-C, STARC RTL Design StyleGuide (Verilog-HDL),HAZOP,ISO/IEC15504(AutomotiveSPICE),ISO26262. I was an editor on ISO/IEC 15504.
https://researchmap.jp/blogs/blog_entries/view/81777/f691323917cc4ea12caf0b03b34c8ea0?frame_id=442673
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした