00:05
はい始まりました。本日の思い出話のお時間でございますと言いたいところですが、また本日も特に思い出話で話すようなものがないので、少し遡って過去のスタンドFM投稿を振り返ってみようシリーズということで、
過去にですね、お話をしたスタンドFMの方でお話をした内容を改めて振り返ってお話をしてみようというふうに思っております。
でですね、今回の内容は2020年12月7日にお話をしましたプログラミングというかITを理解できないという、これはね、もともとハテナ特命ダイヤリーの方に投稿された内容の意見投稿と言いますか、そんな感じで話した内容があったので、それについてもう一度話をしてみようというふうに思います。
今回のお話の内容趣旨としては、やっぱり内容の通りではあるんですけども、プログラミングっていうのがよくわかんないよっていうような相談について、お悩みについてつらつら長文で書き連ねている内容でございまして、
まあね、記事の反応も結構あんまりよろしくない内容も含めて、わかるよって内容も含んでいろいろとあるんですけれども、こういうのって結構ね、わかる人側からはよくわかんないよ、なんでそういうふうな考え方すんのっていうふうに言われてしまいがちな分野なんですが、個人的にはすごい意味はよくわかるんですよ、言いたいことはすごくよくわかるっていう感じなので、
だからそれで思わず、ちょっと先日読んだばっかりだし、ちょうどフリートークのネタがあるしっていうことで、サンザイフンで話をしましたよっていうような感じでございます。
で、こちらの内容としては、やっぱり、わかってる人はわからない人の、プログラミングについて理解ができている人っていうのは、結構ね、わかんない人の気持ちがわかんないんですよ。
なんていうかね、それぐらいの用語ってわかるでしょっていうような感じで書いたものがわからないからわからないっていうか、あのね、先ほど、本日もこの間ツイッターでそんな話がちょこっとありましたね、えーと、なんだっけ、
えー、なんかね、プログラミング、プログラミングじゃないんですけども、機械に疎いっていう人ってかなり多くの人、説明書読まないよねっていう話をしてて、でも説明書読まないのはわかるんですよ、読まないというか、普段そういう文章を読んだことがないので、読めないっていうのが正しい。
で、えー、それぐらいみんな読めるでしょっていうふうに言われたんですけども、あの、場合によってはね、ケーブルとか端子とか、これはさすがにわかるでしょっていう内容すら、やっぱりわかんない人って出てきたりするんです。
まあ、前ね、自分もパソコン相談受付で、えー、現場に直接行くなんてサービスもやってましたけれども、そこで、あの、あー、これはケーブルが断線してますねっていう話をして、えー、断線って何ですかって言われたこともあったんですよ。びっくりしましたね。えー、断線って通じないの?って。
03:13
でも、考えてみたら、断線をするようなケーブルを、あの、そういうITに触れない人って持ってないんじゃないかなっていうふうに思ったんですよ。
例えば、えー、ゲームしなければ、あの、3DSとか、そういうあんまり頑丈じゃないケーブルっていうのを、電源ケーブルっていうのを扱うことは多分ないと思いますし、えー、それ以外の、例えば、えー、そうだな、あの、ACアダプターが付いてる普通の太い電源ケーブルっていうのは、そもそも割と頑丈で、えー、やっぱりね、電圧も結構高いのでね、やっぱり破れたら危険とかあるんでしょうね。
あの、やっぱり頑丈で、踏ん付けた程度では断線しないし、ネットってそもそも無線だから断線のしようがないし、携帯の充電器だって、昔の柄系とかスマートフォンの初期の頃なんかだと、クレードロって置き台があって、置き台の上に置くと充電されるよっていう場合が多かったんで、そもそも動かさないから断線しないんですよね。
だからそういうのもあって、だから地域の人って考えてみれば断線するケーブル持ってないな、だからそういうような、あのー、言われてみればこういう言葉を使う機会って自分たちにしかないんだなっていうものが積み重なって言語って違ってくんですよ。
だから、こういう分かんない人の気持ちってほんと分かんないんですよ。自分はたまたまそういう分かんない人の対応をしていることも結構あるし、NPOとしてもそういうのがあんまり詳しくないとか、パソコンのことが詳しくないっていうか言うくらいのことの支援をすることが多いので、やっぱ分かるんですけども、そうでない人からすると、なんでそれが分かんないの?それぐらい分かるでしょ?っていうようなことを思ってしまう。
だから、分かるつもりで話をしてみて全然通じないっていうことがたまにあったりする。それが本当にこういうような問題を生んでると思うので、だからこそこの話の言いたいことってすっごいよく分かったんですよ。
なんかね、もっと話をしてみたいな、この人と話してみたいなって思ったんですけどね、なんか匿名だからなかなか通じないんですよね。っていうのがちょっともぞかしいところではございました。
でね、このお返しの言葉で言ったスタンダードFMの方で話したのは、やっぱりまずはコンピューターの内部構造を把握することから始めるといいんじゃないの?っていうふうなことは言いました。
多分こちらの方の話を見ていて、どうもやっぱり内部構造をちゃんと把握できてないなっていうふうに思ったので、だからね、例えばコンピューターってすべてのものは数字で表しますよ。
例えば文字は文字コードっていう、アルファベット何文字目とか、ひらがな何文字目とか、漢字だったら漢字インデックスが表があるんで、その何文字目みたいなもので、それで漢字を表してます。
06:06
これはASCII文字コードとかUNICODEとかいろんな文字コード表っていうのがあるんです。
昔はOSごとにWindowsとMacとLinux全然文字コードが違うのでってことで、統一されてUNICODEが出たけどUNICODEもなんか微妙に文字コードの順番が違うとか分かれているとかいうのがあったりして、まだまだ混沌が続いている状態ではありますが、それでも文字コードっていうものがあるってことを把握すること、まずはそれが大事じゃない。
あとは絵とかもそうですよね。絵だったら左上の何ピクセル目にある色は、赤色がどのぐらい、青色がどのぐらい、緑色がどのぐらいっていう光の三原色で決めている割合を決めていく。
それを全部のピクセルにバーっと敷き詰めることで画像を表すっていうのが画像の基本原理です。
実際はそんなことをやるとファイルサイズバカにならないので、例えば何番って言われたらこれは何色ですよっていう風にインデックスを決めて辞書を作って色を書いていくっていう方式をやるファイルフォーマットもあるし、
ランレングスって言って、だいたい隣り合っている色ってだんだんみんな同じなのでっていうような仕組みを使って多少画質は落ちるけれども、すごく人間にはわからないレベルの圧縮で抑えている、比較圧縮の形式とかいろんな形式があります。
でも基本原理はさっきと同じです。R何番、B、G何番、B何番みたいな光の強さで色を決めているっていう形式ですよね。
環境によってはね、色の3原色っていうので、シアン、マゼンタ、イエロー、あとはブラックっていう、場合によってはブラックって4原色目をつけて、そのインクの出し具合で色を識別するとか、あとはテレビにテレビのモニターなんかだとYCBCRっていう形式だったっけな、まあいろいろあるんですけども、そういうような何らかの標色系、色の表し方を使って色を表現していくっていうのが画像。
音声も同じです。音声、音ってやっぱり波長になるので、だいたいこの時の音量、波形はこんな感じ、波形こんな感じっていうのをポイントをたくさんたくさん用意することで、一つの音を表現しているっていう形式。
まあ場合によってはね、このタイミングで楽器何番をどのぐらいの音で流すっていう、いわゆるMIDIって言われる形式の方法もあります。
だからそういうふうに全てを数字で表すことによって、コンピューターって動いているよっていうことをまずは理解するといいんじゃないかなっていうこと。
そしてもう一つは、やっぱり基本的にプログラミングって全てピタゴラスイッチみたいなもんなんですよ。
やっぱりAが動けばBが動く、Bが動けばCが動く、Cが動けばっていうような感じでひたすら連鎖反応を繰り返していく。
09:05
だからそういうようなものがプログラミングの仕組みですよっていうものを理解しておくとわかりやすかったんじゃないかなっていうのを今回話をし、
先ほどの記事を読んでいて感じましたよっていうことをオナイラスサンダーFMでは話してました。
やっぱね、あとはねプログラミングって数字を扱うので数学が必要っていうふうに思われがちなんですけども、実は数学ってそんなに必要ないんですよねっていう話もしましたね。
もちろんね、本質的には数学っているんですよ。数学がないとできないことがすごい多いんです。
場合によってはね、教科書が数学前提なので、数学、あなたたちはそれぐらいわかってるんでしょっていう前提で書かれてるんで、
ほんとね、数学わかんない人、何書いてあるのかわかんないっていうレベルになっちゃう本ってたまにあるんです。CGとかね。
でも、プログラミングそのものに数学は必要ないっていうのが今の時代だと思ってます。
例えば、既存の部品を組み合わせて使うだけでも結構なものいろんな作れるんですよ。
今だと人工知能とかディープラーニングとかもあるんですけれども、あれですら既存の部品を使えば結構なことをできちゃったりします。
例えば、白黒の画像をあたかもカラーで撮ったみたいに色をつけるっていう技術もありますし、
いろんな画像を見せてこれは何ですかって言ったらこれは靴ですっていうような判定をするようなプログラムってのも、あれも実は数学力あまりなくても組めるんですよ。
既存のそういうプログラムを作った人たちがいるので、そういうような人たちの部品を使ってる限りは数学力っていらないんです。
その代わりにそれをさらに応用して何か、例えばこの動画の中に映っている人の中でこういう人を探してみたいなことをさせようとするとちょっと数学力が必要になっちゃうんですよね。
でも結構やっぱりそれじゃなくてもできる範囲ってすごい多いので、だから数学わかんなくてもプログラミングできるよっていうことは言いたいなっていうことですね。
むしろ今国語の方が必要だと思うんですよ、プログラミングには。
だからね、自分はいつもプログラミングにまずどんな言語を覚えたらいいですかっていうふうに言われた時は、自分はそれはプログラミング言語ではなくて国語ですっていうふうに言うんですよね。日本語ですって。
人によっては英語って言うんですけどね。でも多分今は英語ですらそこまで重要じゃないと思うんですよ。
だって翻訳アプリあるじゃないですか。画面に表示されてコピーができないタイプの言葉だったらグーグルレンズかざせば読めるんですよ。
リアルタイムに話されたらそれはさすがに翻訳できないですけども、それでも自動翻訳の字幕とかあったりして結構読めたりするんです。
12:03
だから英語って実は今そこまで必須ではないんじゃないかな。まずでもそれよりも国語の方が重要なんじゃないかなっていうふうに自分は思うんです。
他の人が書いたドキュメントをちゃんと意味を理解する能力。自分が作ったプログラムをちゃんと説明する能力。
場合によっては多少の数学力が必要になってくる場合もあります。
上手く情報を整理するための感覚って意外と国語だけだとわからないっていう話も聞くので、物語を読んだだけだと身につかないっていうので、多少は数学ができた方がいいかもしれません。
でもなんだろうなんていうか本当に小学校の算数がちゃんとできるレベルであれば多分問題はないんじゃないかなっていうふうに思ってます。
もちろんねできた方がいいんですよ。できた方がいいんですけれども、ただ自分が勉強できるものに限りがあって、勉強できるリソースに限りがあって、これしか勉強できない、でもプログラミングはやりたいんだっていう時に何を学べって言ったら国語を学べって言います。
現代語をまず学べって言います。表現力を磨けっていうふうに言いますね。
だから例えばブログを書くとかでもいいし、他の人と会話するとかでもいいし、そういうようなところで国語力表現力を身につけるっていうことがまず一番重要だっていうふうに言います。
やっぱりね、そこはね、自分自身もプログラミング系の書籍の著者として全然FMとかでもあんまりそういう話しないので、最近本も書いてないのであれですけども、プログラミングの本とかも書いたことがあるんですよ。
アンドロイドのアプリ開発についての本とか、プロジェクトシェーナっていう、今は問題ですけどね、ぺたぺた画像を貼っていくことでとりあえずアプリっぽい画面を作るっていうフレームワークについて紹介をした本とかも書きましたし、いろんなものを書籍として出しました。
なのでそういうような立場としてもすごい思います。やっぱりプログラミングの本ってすごい寿命短いんですよ。いっすりいけば、いっすりでだいたい終わるっていうぐらい。いっすりいけばいい方って言ったんですけど、いっすりいかないことはありえないですよね。さすがに本なんで。なんですが、やっぱりにっすりいかないんですよ。でもそれはなんか著者も悪いんじゃないかなっていうふうに正直思ってて。
やっぱり著者ももうちょっと本が長く生きるための努力をしなきゃいけなかったんじゃないかなっていうふうに思うんです。だから、その場その場ではすごい有効なんだけど、次に生きない本が増産されてしまって、結局そのせいで技術書って儲かんないよっていう文化ができてしまったっていうのはあるんじゃないのかなっていうふうに正直自分は思うので。
だからもっともっとね、だからプログラミングの基本理念を教えられる本をもっと書けばよかったんじゃないかっていうふうに正直思うんです。
15:06
今はね、なかなか書くのも難しくなってしまったというか、編集さんも首を中で縦に振ってくれないんでね、本筋ではできなくなってしまいましたけどもね、なんかそういうの書いていければいいなというふうに思います。
例えば電子書付きでもいいし、あとはね、書籍だとちょっと難しいとしても例えばユーデミみたいな動画教室で出してもいいし、いろんな方法はあると思うので、なんかそういうようなところで情報発信はしていかないといけないかなというふうに思うんですが、とにかくやっぱりそういうプログラミングってそもそもプログラミングというかITが理解できないっていうような状態の人に
これを読めばいいよ、これを見ればいいよっていうようなコンテンツが今のところないよねっていうのは正直課題としては思ってます。だからそれをなんとかできるためのツール、情報、まあうちも出していかなきゃいけないなっていうふうに思います。
でもやっぱりなんていうか、本当話してみたいですよね、このブログを書いた著者の方と、著者の方、ブログを書いた方とですね、なんか匿名ダイアリーなのでこれ以上応用がないっていうところはあるんですけれども、なんか一度本当話してみたい。
そしてなんでわからないのか、どこがわからないのか、どうしたらわかるようになるのか、自分はどうしたいのかっていうのをなんかしっかり話をしてみたい。自分も正直そういう人の気持ちがよくわかんないんですよ。自分もなるべく知ってる方でもあるけどそれでもまだまだ全然わかんなくて、特にITツール何もわかんないっていう人とは話したことあるけど、プログラミングがわかんないっていうレベルの人とは実は話したことがあんまりないので、
やっぱりもっともっとそういう人と話して、そういう人をなんかレベルアップさせられるようなことをしたいな、そしたらそれが例えば今回のユーデミとかみたいな情報を作るためのヒントになるんじゃないのかなっていうふうに個人的には思っております。というところでございますかね。
はい、今日は大体このぐらいで終わりにしていきたいと思います。明日もまたね、特にねこれといったイベントがあるわけではないんですよ。ね、話した通り本当に今とりあえず月曜日、火曜日、火曜日あたりまでイベントがなくてね、まあそれからノーマップスなんでね、いろいろと忙しくなっちゃうんですけども、今のところはゆっくりゆっくりしている状態でございます。
なので今回はね、そういうような特に何か話すことはないと思いますけれども、明日はそうだ、なんかね、歴史話、仮面ライダーヒストリアというものをNHKでやるんですよ。これはもともとね、NHKBSでやってた番組なんですけども、当日見逃しちゃいまして、なんでね、それについての話もできるかもしれません。
18:01
はい、まあ保証はできません。というところで今回はお話を終わりにしていきたいと思います。どうもありがとうございました。