記事一覧
プログラミングって…役に立つのだろうか?【ゆっくりスクリプト】
プログラミングは何の役に立つのか?
美琴:うーん
星夜:どうしたの?
美琴:プログラミングを勉強してるんだけど
星夜:え!
星夜:そうなの?!
星夜:なんの言語を勉強してるの?
美琴:えーと、Python
星夜:Pythonいいよね!
星夜:ライブラリも充実してるし、
星夜:機械学習も簡単に出来て!
美琴:お、おう……
美琴:いや、そうなんだけど
美琴:あのね
美琴:実は悩んでることがあって
星夜:うん、なに?
美琴:プログラミングって
美琴:何の役に立つのかなーって
星夜:うん?
美琴:いや、だからね
美琴:プログラミングって役に立つの?
星夜:役に立つよ?
美琴:たとえばどんなことで?
美琴:なんかさ
美琴:環境構築とか
美琴:Hello, World!とか
美琴:if文にfor文とか
美琴:これって、
美琴:本当に役に立つの?
美琴:立たないんじゃないの?
星夜:いやいやいや
星夜:役に立つよ
美琴:だから例えばどんなことで?
星夜:うーん、例えば
星夜:仕事を自動化できるよね
美琴:仕事を自動化?
星夜:うん、そうそう
星夜:それから
星夜:Webサービス作って、
星夜:それを運営したりとか
美琴:Webサービスってホームページのこと?
星夜:そう、TwitterとかFacebookとかのこと
星夜:あとは、Q&Aサイトで
星夜:質問に答えたりとか
美琴:質問サイト?
星夜:うん、Stackoverflowとか
星夜:あとはブログのネタにもなるよね
星夜:プログラミングについて記事を書けば
美琴:ブログのネタかぁ
星夜:僕もブログ書いてるけど、
星夜:役に立ってるよプログラミング
星夜:それからあとは、
星夜:子供にプログラミングを教えたりとかね
美琴:塾みたいな?
星夜:そう、塾を開いても良いね
仕事を自動化する
美琴:仕事を自動化するっていうのは、
美琴:具体的にどういうことなの?
美琴:仕事って身の回りの仕事のこと?
星夜:うんそうだね、趣味、仕事どっちでもいいけど
星夜:たとえばパソコンを使った雑務ってあるでしょ
星夜:たくさんのファイル名を変更したりとか
星夜:ファイルから何かデータを探したりとか
美琴:うん、Excelとかのファイルからね
星夜:そういうファイルを調べるスクリプトを書けば、
星夜:そういった雑務が簡単にこなせるようになるよ
美琴:大量のファイルだよ?
美琴:何千とかそれぐらいの
美琴:それでも問題ないの?
星夜:むしろプログラミングは、
星夜:そういう大量データに適してるね
星夜:パソコンの性能にもよるけど、
星夜:ほとんどの場合あっという間に終わるよ
美琴:へぇ~
星夜:あとは仕事で、システム構築して
星夜:業務を効率化するって手もあるね
美琴:システム構築?
星夜:そうそう
星夜:たとえばSlackを導入して、
星夜:スクリプトを書いて、
星夜:なにか業務が進んだら自動的に
星夜:Slackに通知が行くようにすれば
星夜:仕事を見える化できるよ
美琴:見える化かぁー
美琴:大事だよね
Webサービスの作成と運営をする
美琴:Webサービスってたとえばどんなもの?
美琴:普通のホームページはわかるけど
星夜:さっきも言ったけどTwitterとかFacebookとか
星夜:そういうサービスを自分で作れたりする
星夜:まぁTwitterとかは1人じゃ大変だけど
美琴:そういうの作るのは、
美琴:プログラミング言語を勉強していけばいいの?
星夜:そうだね、Web系のプログラミング言語
星夜:あとはそれからドメインとサーバーの勉強も
星夜:必要かな
星夜:Web系のプログラミングは
星夜:HTML/CSSと動的言語が1つ
星夜:あとできればフレームワークもあるといいね
美琴:フレームワークってなに?
星夜:でっかい枠組みのことだよ
星夜:最近はフレームワークを使って
星夜:Webサービスを作るのが一般的だね
星夜:Webサービスを作ったらリリースする
美琴:リリース?
美琴:キャッチ&リリースのリリース?
星夜:うん。ネットに公開することだね
星夜:作ったサービスはネットに公開して、
星夜:世界中の人が使えるようにするんだね
美琴:世界中の人にか~
美琴:なんかすごい話だね
美琴:隣の佐藤さんに見せるならともかく
星夜:だれそれ
星夜:Webサービスはうまくいけば
星夜:収益化も夢じゃないよ
美琴:収益化ってどれぐらい?
星夜:小さいサービスなら月収数十万とかもあり得る
星夜:大きいのになったら事業化が必要だね
美琴:なんかすごい話だね
美琴:でたらめ言ってない?
星夜:Twitterで個人開発者の人とか
星夜:Webサービスで利益あげてる人がけっこういるから
星夜:そういう人達を追いかけてみなよ
星夜:現実の世界なんだってわかるよ
星夜:まぁ、そうなるのはプロでもけっこう難しいけどね
Q&Aサイトで質問に答えられる
美琴:Q&Aサイトで質問に答えてどうするの?
星夜:まぁ主な目的は
星夜:暇つぶしだね
美琴:暇つぶし
星夜:そう、人のためになる暇つぶし
星夜:Q&Aサイトを見つけたら会員登録するんだ
星夜:それでアカウントを作る
星夜:そうすれば準備万端だね
美琴:簡単だね
美琴:必要なのはメールアドレスだけ?
星夜:そうだね
星夜:それとプログラミングの知識
星夜:アカウントを作ったら質問に答えて行って、
星夜:そのアカウントのスコアを上げていく
美琴:スコア?
星夜:まぁポイントだね、貢献度って言うか
星夜:それが上がると役に立ってる度がわかる
星夜:他の人から見ても、
星夜:その人は質問に答えていて
星夜:人の役に立ってるんだということがわかる
美琴:それって嬉しいの?
星夜:まぁあんまり聞いたことは無いけど、
星夜:就職とかで企業へのPRにはなるのかなぁ
美琴:貢献度が?
星夜:うん
星夜:たとえばStackoverflowとかで、
星夜:貢献度が高ければ、人事の人に
星夜:ちょっとだけ注目されるかもね
美琴:へぇ~
星夜:この辺はちょっと適当に言ってるけど
ブログのネタになる
美琴:あとはブログのネタっていうのは、
美琴:具体的にどういうことなの?
星夜:意外かもしれないけど、
星夜:プログラミングってブログと相性良いんだよね
美琴:へぇ~
星夜:ブログでプログラミングの記事を書けば、
星夜:PVも上げられるし
星夜:まずブログを開設するだね
美琴:どうやって開設するの?
美琴:不動産屋に行けばいいの?
星夜:賃貸アパートじゃないんだから
星夜:大手のブログサイトで会員登録するか、
星夜:それか自分のドメインでブログを公開するか
星夜:大きく分けてこの2つかな
美琴:どっちがいいの?
星夜:うーん、どっちが良いとは言えない
星夜:どっちもメリットデメリットあるし
星夜:僕は独自ドメインでやってるけどね
星夜:ブログを作ったら、
星夜:プログラミングをテーマにした記事を書くんだ
星夜:これは最初にキーワードを選定して、
星夜:そのキーワードに沿った記事を書く
美琴:ふ~ん
星夜:だいたい3000字ぐらいが目安だね
星夜:ブログに広告を貼るんだけど、
星夜:ブログを続けると、その内広告収入が出てくる
星夜:これは最初は数円とかだけど、
星夜:PVが上がれば収入も比例して増えていく
美琴:そんなうまくいくの?
星夜:まぁ、PVあっても広告をクリックしてくれないと
星夜:だめだよね
星夜:そういう意味じゃ難しいけど
子供にプログラミングを教えられる
美琴:あと、子供にプログラミングを教えるっていうのは?
星夜:これは最近というか、これから求められることだけど
星夜:ほら、プログラミングが必修化されたでしょ
美琴:うんうん
星夜:それで、プログラミングが
星夜:英語みたいに身近な存在になるんだけど、
星夜:とうぜんプログラミングが
星夜:わからないという子もたくさん出てくる
美琴:英語がそうなようにね
星夜:そうそう
星夜:それで、そういう子供たちに
星夜:プログラミングを教える需要が
星夜:増えると予想されるってわけね
美琴:ふ~ん
星夜:英語もそうだけど、プログラミングは
星夜:向いてない人にはほんと難しいものだから
星夜:教えて欲しいって需要が
星夜:ますます増えていくよ
星夜:とうぜん、そういう子供や大人を対象にした
星夜:プログラミング塾みたいなものも
星夜:出てくるだろうね
美琴:お塾かぁ
星夜:プログラミングの塾を開ければ、
星夜:しばらくは仕事に困らないかもね
美琴:そうなるかもしれないね
プログラミングは役に立つまで時間がかかる
星夜:プログラミングって、
星夜:役に立つまでは時間がかかるから、
星夜:それまでガマンが必要かもしれない
美琴:う~ん、そうなんだ
星夜:そうそう
星夜:最初は出来ないことの方が多いけど
星夜:次第にできることが増えていくから
星夜:それまで忍耐強く勉強してみてよ
美琴:そっかぁ。わかったよ、そうする
プログラミングが上達しない本当の理由【ゆっくりスクリプト】
テロップ=プログラミングが上達しない
美琴:うーん
星夜:どうしたの?
美琴:プログラミングを勉強してるんだけど
星夜:うん
美琴:なんていうか上達しないんだよね
星夜:プログラミングが上達しない?
美琴:そうそう
美琴:勉強を続けてるんだけど、
美琴:上達する気配が無くて
星夜:気配がないってどれぐらい?
美琴:うーん、まったくない感じ
星夜:あらら
美琴:だから気持ちが焦っちゃって
美琴:このまま上達しないまま、
美琴:ずっと行くのかなって
美琴:長いことやってるんだけど、
美琴:上達しないんだよね
星夜:うーん、そうなんだね
美琴:たくさんプログラミングに時間を使ってるのに、
美琴:ちっとも上達しなくて、
美琴:いやになっちゃうんだよね
星夜:なるほど
美琴:なんていうかマンネリしてる気もするし
美琴:プログラミングから刺激を感じないというか
美琴:最近はなんでプログラミングを
美琴:やってるのかなーって感じ
星夜:そうなんだ
テロップ=自分は才能が無いのか?
美琴:私ってプログラミングの才能無いのかな?
星夜:うーん
美琴:才能があればどんどん上達するでしょ?
美琴:上達しないってことは、つまり
美琴:才能がないってことじゃ……
星夜:プログラミングの才能か
星夜:目に見えないものだから、
星夜:掴みづらい話だよね
美琴:そうそう
美琴:なんていうか、実体が見えなくて、
美琴:確信も持てないし……
星夜:まぁ、言っちゃうと、
星夜:才能は無くてもプログラミングは可能だよ
美琴:本当ぉ?
星夜:本当本当
星夜:というか
星夜:プログラミングが出来てる段階で、
星夜:才能はあるんだよね
美琴:あー
星夜:本当に才能が無い人は、
星夜:プログラミングが上達しないっていう
星夜:悩みすら持てないよ
美琴:なるほど
星夜:才能が無いって、量の話でしょ?
星夜:「めちゃくちゃ才能がある」とか
星夜:「少ししか才能が無い」とか
美琴:あーそうそう
美琴:少ししか才能が無いのかな?
星夜:才能ってふくらむモノだからね
星夜:続けてると段々大きくなるよ
テロップ=上達しないプログラミングとは?
星夜:上達しないのは、
星夜:上達しないプログラミングを
星夜:してる可能性があるね
美琴:上達しないプログラミング?
美琴:そんなのがあるの?
星夜:あるある
星夜:まぁ僕の経験則になっちゃうけど
星夜:1つは、簡単なお題を
星夜:繰り返しやっている可能性だね
美琴:簡単なお題?
星夜:そう。たとえば、
星夜:Hello, World!プログラム
美琴:あ、それ私でも作れる
星夜:でもHello, World!プログラムを、
星夜:何回も作っていても、
星夜:プログラミングは上達しないよね
美琴:あー、確かに
星夜:他にも基礎的な文法を使った
星夜:プログラムとかもそう
星夜:まぁ最初の内は、
星夜:これでも十分上達するんだけど、
星夜:ある程度慣れてきた人は、
星夜:これぐらいのプログラムでは、
星夜:上達しなくなっちゃうよね
星夜:あとは、
美琴:あとは?
星夜:断片的にプログラミングをしてる場合ね
美琴:断片的って?
星夜:つまり、間が空いてるってこと
美琴:間?
星夜:間
星夜:仮に一ヶ月ぶりにプログラミングをしたとして、
星夜:果たしてそれで上達するのかって話
美琴:あー、しないかも
星夜:でしょ?
星夜:上達したい場合は、
星夜:ある程度継続的なプログラミングが必要だよね
星夜:それから、他人のコードを読まない
美琴:他人のコード?
美琴:他人のコードを読むのが大事なの?
星夜:これは意見分かれると思うけど、
星夜:僕はけっこう大事だと思う
星夜:たとえば本のコードとか、
星夜:読むのも大事
美琴:へぇー
美琴:自分のコードを読んでるだけじゃ
美琴:だめなんだ?
星夜:駄目ではないけど、
星夜:それだと刺激が少ないよね
テロップ=プログラミングの上達で必要なもの
美琴:それじゃプログラミングの上達で
美琴:必要なものってなにがあるの?
星夜:知りたい?
美琴:うん。知りたい
星夜:うまい棒おごってくれる?
美琴:おごるおごる
星夜:うふふ。いいよ
星夜:まず1つは、「ある程度の負荷」だね
美琴:負荷?負荷ってどういうこと?
星夜:精神的、肉体的負荷
星夜:これがないと、上達しない
美琴:へぇー?
星夜:たとえば筋トレを思い出してほしい
星夜:筋トレで、
星夜:ゆるーくやって筋肉付く?
美琴:付かないかも
星夜:そうでしょ、プログラミングも
星夜:基本的にはそれと同じ
星夜:ある程度、自分に負荷がある
星夜:プログラミングをしないと
星夜:上達しないんだよね
美琴:なるほど、筋トレと同じなのね
星夜:基本的にはね
星夜:勉強もそうだよ
星夜:新しいこと覚えるには、
星夜:脳みそに負荷をかける必要があるでしょ
美琴:うんうん
星夜:負荷をかけるっていうのは大事なんだね
星夜:それからさっきも言ったけど、
星夜:継続的なプログラミングね
美琴:断片的でなく?
星夜:そう
星夜:可能なら毎日が理想的だけど
星夜:仕事とか学校行ってる人は
星夜:難しいかもしれない
星夜:それでも3日に1日ぐらいは
星夜:プログラミングをしたほうがいいね
美琴:これも筋トレなの?
星夜:そうそう。するどいね
星夜:これも筋トレと同じで、
星夜:一定期間、一定量の
星夜:負荷をかけないと、
星夜:意味がない
美琴:なるほどね~
美琴:たしかに腕立てとか、
美琴:1カ月間隔でやっても、
美琴:筋肉付かないもんね
星夜:そうなんだよね
星夜:筋トレから学ぶことは多いと思うよ
星夜:あとは、外からの刺激も大事
美琴:外からの刺激?
星夜:そう
星夜:つまり他人のコードを読むってことね
星夜:これは本とか、
星夜:あるいはネット上のコードでもいいけど
星夜:外からの刺激を自分に与える
星夜:そうすることで、
星夜:脳みそが刺激されて、
星夜:プログラミングが上達しやすくなる
美琴:そういうもん?
星夜:そういうもんだよ
星夜:それが証拠に、
星夜:OSS開発やってる人たちって、
星夜:みんなプログラミングが上手でしょ
美琴:OSS開発ってなに?
星夜:OSSって
星夜:オープンソースソフトウェア
星夜:のことで、
星夜:たとえばGitHubとかでの開発
美琴:なんかすごそう
星夜:基本的にはだれでも参加することができるよ
星夜:まぁプロジェクトによっては、
星夜:難易度が高いけど
星夜:初心者用のプロジェクトがあれば、
星夜:それに参加するのがいいだろうね
テロップ=プログラミングが上達しない時の心構え
美琴:プログラミングが上達しないと、
美琴:気持ちがすごく塞ぐんだよね
星夜:プログラミングが上達しない現象って、
星夜:実はプロにも起こることがあるんだ
美琴:プログラマーの人達にも?
星夜:そうそう、あるよ
星夜:実はこれって、
星夜:万人の悩みなんだよね
美琴:そういう時どうしたらいいの?
星夜:まず、焦っては駄目だね
星夜:焦ると事態が進展しないから
星夜:焦らずにどっしり構えるのが大事
美琴:焦るとつらいよね
美琴:なんでもかんでも空回る感じ
星夜:そうそう
星夜:だからそうならないように、
星夜:深呼吸して、
星夜:あるいは気晴らしに他のことやっても良いし
星夜:とにかく長い目で俯瞰すると良いよね
美琴:つまり気長に取り組むってことね
星夜:うん
星夜:気長に取り組んで
星夜:さっき言ってきたことを実践すると
星夜:定期的な負荷と刺激を自分に与えて
星夜:それを長い時間行う
美琴:それが難しいんだよね~
星夜:だよね~
星夜:まぁそれも筋トレに近い所があるね
美琴:スポーツマンってすごいんだね
星夜:そういうことになるね
星夜:プログラミングもある意味
星夜:スポーツみたいなところがあるから
星夜:スポーツマンになった気で
星夜:筋トレに取り組もう
美琴:筋トレじゃなくて
美琴:プログラミングね
星夜:プログラミング
美琴:ありがとう
美琴:試してみるね
星夜:それじゃ、うまい棒ちょーだい
美琴:はい、「上げた」
美琴:(うまい棒を上にあげる)
星夜:……
美琴:あはは、ありがとうね~
星夜:またやられた