40代プログラミング未経験から独学してみる

40歳未経験者がPythonプログラミングの勉強をメインに、読書や京都のことを書いていく。

アウトプットしないとな。

こんばんは。

『1分間文章述』など、文章上達法に関する
本によく書かれているように、
文章を書くのが上手くなるには
上手な人の文章を手書きでかき写すのが、
コツだそうです。

コピーライティング系の本でも複数の本に
同じようなことが書いてあったので、
おそらく正しいのかな、と思います。

同じようにプログラミングができるよう
になるには、人が書いたコードを写して
みるのが、大事だそうです。

いきなり、プログラミングして問題を
解こうとしても、頭の中は真っ白で、
何も思いつきません。

頭の中にコードがストックされていてないと、
書こうとしても思いつきようがないし、
パソコンを前にしても手が止まって、
まったく打ち込むことがない状態になります。

毎日少しずつ、『Pythonクックブック』
みたいなコードを集めた本を読んでみて、
コードのストックが貯まってきたら、
アウトプットしてみたら、思っていたより
コードが思いついたりします。

どこかに書いてあったコードのパーツを
組み合わせて、解いていく感じです。
もともと持っている(頭に入っている)
パーツを組み合わせるので、頭が真っ白に
なることもありません。

ただ、アウトプットするのはストレスに
なるし、時間もかかるので、意識的に
やろうとしないと、避けがちになります。

書いても完璧ではないし、エラーメッセージは
いっぱい出るし、どう直したらいいかも
分からないので、気が進まず、
またコードのストックを
貯める勉強に引きこもりがちなので、
気を付けないといけないな、と感じます。

本を勉強して、コードをスラスラ思い出せる
ようになっていたら、進歩した気になるので、
気分的に楽なので、意識的にアウトプット
しないとな、と感じています。

『計算できるもの、計算できないもの』

こんにちは。

不思議なタイトルだったので、
買ってみました。

『マスターアルゴリズム』にしようか、
30分間くらい本棚の前で悩んでいましたが、
面白そうだったのでこっちにしました。

主な内容は、

・計算機による計算とは何か
・計算できるものと計算できないものの
 境目はどこなののか

などを明らかにする計算理論について、
書かれていています。この辺は計算機科学
においてもっとも基本的かつ重要なものです。

本書では、計算理論に必要な概念の説明や
証明にはPythonプログラムが利用されていて、
理解しやすいようにしてあります。

計算可能問題と計算不能問題、
扱いやすい問題と扱いにくい問題、
文章では簡単に表現できても計算機には
解けない重要な問題が多くある、
効率よく解ける問題と解けない問題があること
チューリングマシン、有限オートマトン
万能計算、非決定性、NP完全性などの
分野について、書かれていてます。

あと、計算理論のアラン・チューリング
リチャード・カープの論文など、
参考にしてあります。

内容は盛りだくさんなので、少しずつ
読みすすめています。

『Pythonクックブック』は難しい。

こんばんは。

Pythonクックブックで勉強していますが、
なかなか理解できないところが多くて
苦戦しています。

コードを実行してみるとエラーが出て
修正が必要だったりします。

コードを読んでみて、あれこれ考えてみても
意味が分かりません。

論理的に考えれば理解できるのかな、
と思ってましたが、案外そうでもない。

学生の頃に勉強していた数学に近い感じが
します。

コードを見ているだけでは理解できないので、
紙に書き写してあれやこれや、考えながら
読んでいるので、かなり時間がかかります。

それでも、考えることに、ウンウンうなって
考えることに意義があると思うので、
続けるつもりです。

『実用的でないPythonプログラミング』を読んでいます。

こんばんは。

連休明けから、本を眺めていても内容が
頭に入ってこない状態が続いていました。
そのうち、本を見るのもイヤになったので、
休憩してました。

1週間あけるとやる気が戻ってきたので、
何からはじめようかな、4月に買った
『実用的でない…』を思い出しました。

題名にもなっている通り、内容については
「回文を見つける」「アナグラムを解く」
「俳句のために音節を数える」
「マーズオービターを操縦する」など、
たしかに日常では出会わない問題を
プログラミングする内容になっています。

ただ、問題自体は実用的ではないけど、
それを解くためにどのようにコードを組めば
いいのか、については勉強になります。

例えば「マーズオービターを操縦する」なら、
万有引力の法則やケプラーの法則
楕円形の軌道を円形にするためには
後退噴射するなど、日常からかけ離れた
思考をする必要があります。

その結果について、疑似コードを使って整理してからプログラミングに落としこむので、
「いかにコード化するのか」勉強できる
内容になってます。

また「このコードは何を処理するのか」
について、一行ごとに詳細な解説があるので
理解しやすいです。

ある問題に対して、どうやってプログラミングを
組んだらいいのか、分からない場合には
この本を読んだら役に立つと思います。

Pythonプログラミングの勉強をはじめてから一年たった。

こんにちは。

Pythonプログラミングの勉強をはじめてから、
1年間ほど継続しています。

本業は別にあるので、使える時間は
通勤時間と平日の朝夜、土日祝の空き時間
になります。

『独学プログラマー』『Pythonクックブック』『Python実践入門』をベースに勉強してきました。

この他に『Gof本』『アルゴリズムイントロダクション』『新しいLinuxの教科書』など、原典といえる本をそろえていて、疑問があると調べるようにしています。

「プログラミングの勉強に挫折した」
「勉強が続けられない」など、
Webサイトでみかけますが、
なんでかな、と思います。

短期間で成果を求めようとすると、
「これだけやっても成果がでない」
となって、やめてしまうことが多いのが原因かな、
と思います。

ネットの広告でも「3ヶ月でプログラミングを身につけて、短期間で◯◯万円稼げる」とか、煽るようなものがあります。

こういう広告をみると「3ヶ月やっても全然進んでない」となって、挫折するのかな、と思います。


プログラミングの勉強をはじめてから、
気づいたことは奥が深いし、
対象範囲が広いことが分かりました。

浅い理解で対応できるのかも知れませんが、
それではすぐに行き詰まるだろうし、
問題が発生したときに全然、対応できない状況に陥ります。

分からないところがあれば
原典までさかのぼるようにしています。

例えば、オブジェクト指向に関連する項目が
出たときには『Gof本』を読みます。

「singleton、state」の実装という項目が、
Pythonクックブック』に出てきたら、
調べます。「完全に」『Gof本』を理解できたわけではないですが「あれとつながるのか」と知識が結びつくと理解しやすいと思います。

原典まで調べる勉強は、すごい時間がかかりますが、「理解できた」「腑に落ちた」ときの爽快感が、あってやめられません。

リストラされる不安を解消する方法

こんばんは。

大企業で黒字でも40代以上を対象とした
リストラが増えてきた。

一昔前だと、リストラするのは業績悪化した企業
が一般的だったけど、近頃は黒字でもリストラをするみたい。

こうなると安泰なところなど、
どこにもなくて、いつリストラされても
いいように準備をしておかないといけない。

会社の業務を懸命にやってれば
スキルは身につく、みたいなのは
無理だろう。

会社の業務で市場価値のあるスキルを
身につけるのは難しいだろう。

例えば、会議の日程調整。

日程をあわすだけで時間をとられるし、
会議の内容を事前に教えないといけない、
というよく分からないことにも労力がかかる。
しかも一日の大半の時間をとられる。

市場で求められている具体的スキルを身につける勉強や実践をやっているとき、将来の不安から解放される。

なので、今日もコードを書き写して理解しようと
頑張っている。

30分間のウォーキングで集中力アップ

こんばんは。

4月に入ってから30分間のウォーキングを
するようになりました。帰宅後、晩ごはんを
食べたあとに歩きます。

今までは帰宅時間が遅くて、
また、勉強時間が減るので、
運動にあてる時間まで
確保してませんでした。

また、最近、血圧が高めになってきたので、
その対策もかねてやっています。

まだ、やりはじめたところですが、
集中力が上がってきた感じがします。
本を読んでいても内容に集中できて
頭に入って来やすくなった気がします。

30分間の投資なので、平日の自由に使える
時間が限られていることを考えると
もったいない気がしますが、
やってみると十分に効果はあるのかな、
と感じます。

なにより、40代になると健康について、
意識的に維持しないと、体重が増えたり、
不健康になってしまうと思います。

なので、集中力の向上と健康維持の両面から、
運動に時間を投資することをおすすめします。