Vol.64 No.7(2023年7月号)



Vol.64 No.7(2023年7月号)

匿名希望
匿名希望
[正会員]

 

  私は,プログラミングに苦手意識があります.先生は,プログラミングが苦手であったときはありましたか.それがいつから楽しいとかプログラミングができるようになろうとしたのですか?

  私もプログラミングに苦手意識があります.そして,苦手意識を抱いたまま,研究者になりました.そして,私にはこれまでプログラミングの講義を学ぶ機会もなければ,自分で学ぶきっかけもありませんでした.私の専門分野は言語学とコミュニケーション学です.私の周りには,言語や会話データを収録した後,データの書き起こしデータをプログラミングを使って整理したり,検索したりする研究者がたくさんいます.統計処理をプログラミングでチャチャっとやっちゃう研究者もたくさんいます.そんなお隣の研究者の姿を見て「いいな,かっこいいな」と思い,憧れてきましたが,私にはプログラムより先に学ぶべきことがありました.それは言語学やコミュニケーション学で長年積み重ねられてきた研究の蓄積とその方法です.たとえば私が専門とする「会話分析」という研究方法は,1960年代にカリフォルニアで始まり,会話の音声によるやりとりを詳細に書き起こし,人間の認知・社会活動を支える会話の仕組みを明らかにしてきました.近年会話分析は,「マルチモーダルインタラクション研究」として発展しています.会話の音声のみならず,身振りや視線,さまざまな身体行動を詳細に書き起こし,私たちの日常会話のメカニズムや社会規範をどんどん明らかにしています.会話を書き起こしたテキストを「トランスクリプト」と呼びます.トランスクリプトをプログラミングをする研究者に見せると,「これ,何かのプログラミング?」と聞かれることがあります.100行,200行を超えるトランスクリプトは人間の会話におけるやりとりを示したものです.確かに何かのプログラミングのように見えます.しかしトランスクリプトから読み取れるのは,「人間の理解の構造」です.トランスクリプトは,会話において情報がどのように共有されるのか,人間の認識や知識がどのように更新されていくのかをつぶさに研究することを可能にします.私はこんな研究の蓄積とその方法を長年学び,よりよいトランスクリプトを作るべく研鑽を積んできました.なので,私にはプログラミングを学ぶ機会がありませんでした.言い訳に聞こえるかもしれませんね.しかし,プログラミングとトランスクリプトが見かけ上よく似ていることは単なる偶然でしょうか? 私の「人間の理解の構造」を知りたいという研究のモチベーションは,プログラミングではなく,トランスクリプト作成に向きました.ご質問主の方は,何を知りたいですか? 知りたいことが明らかになれば,プログラミングで解決可能なことか,それ以外の方法で可能なことかが自ずと見えてくると思います.あなたがプログラミングが楽しくなるのは,きっと知りたいことが明らかになったときでしょう.世界のいろいろな側面に興味のアンテナを張り巡らせ,プログラミングで解決できそうなことか,想像してみるのも楽しいかもしません.

坊農真弓
坊農真弓
[正会員]
国立情報学研究所

加藤 淳
加藤 淳
[正会員]
産業技術総合研究所

  最初のプログラミング体験は,小学校のころ,亀に指示を出して幾何図形を描いてもらうもの(Logo)でした.綺麗な絵が出せて,ちょっと楽しかった記憶があります.それから中学校に入り,物理部で同級生が文字しか出ないパソコン(Linuxのコマンドラインインタフェース)を操る様子を見せてもらい,正直まったく理解できませんでした.直接操作(ダイレクトマニピュレーション)に慣れていたので,なんてもどかしいのだろう,と思ったものです.その後,Webページをデザインしたり,見た目をいろいろ変えられる音楽プレイヤを開発したりして高校時代を過ごしますが,文字しか出ないプログラミングには一貫して苦手意識がありました.そして,苦手なものから逃げ続けているうちに,なんでこんな分かりづらいの?という疑問と怒りが沸きました.最終的には大学院で,文字ベースのプログラミング環境に画像表現を持ち込み,体験をよくする博士論文を書きました.プログラミングといってもいろいろです.相談者さんが,苦手意識を持たずに済むプログラミング体験と出会えるよう(あわよくば研究課題にして解決してくれることを)祈っています.

  お~,すごく気持ち分かります! 僕も,15歳のころにプログラミングをはじめたのですが,
  15年たった今でも結構苦手だな~面倒だな~と思ってます! 笑
  プログラミングが楽しくない(≒苦手)と思う理由を自分なりに2つ挙げてみますね.
  1つ目は,明確な「作りたいもの」がなくプログラミングを学んでいるときですね.今学んでいるものが何に使えるか分からない,本や授業でいわれたとおりにやって,モチベーションのわかないゴールを「だらだら」「こなす」だけになっていると面白くないですよね.例えるなら,ただ走ったりするのにも,「きれいなフォームはこうです」「今日は校庭10周走りましょう」と学ぶより,「週末の小雨予報のサッカーの試合であの子を出し抜くために,雨で濡れた芝生の上で滑らずに早く走りたい」と具体的にイメージして取り組む人のほうが10倍,的確に必要な部分を楽しく学べると思いませんか?
  2つ目は,「しんどい時間」と「楽しい時間」の比率が微妙なときですね.プログラムが動き始めるまでは暗中模索でしんどいと思います.あと作り方は知ってるけど,作業的で面白くないコードも書かないないといけません.よしんばプログラムが動き始めても,「できた!」だけで終わると非常にもったいない……! 長い長い苦労のあとなのですから,さらにこうしてみよう!ああしてみよう!とできたプログラムを改良して機能を追加する瞬間! 長くなってしまったところを短く書き直してみる瞬間! 「できた!」「できた!」「できた!」の大豊作! このときが一番の「収穫期」だと思っています!! プログラムが動いたらぜひ,そこまでかけた時間以上に楽しみましょう! お絵かきアプリをつくるとしたら,頑張って画面に線が書けるようになったら,次は色を変えれるように,線の太さを変えれるように,スタンプを貼れるように……といった具合ですね!
  そのために裏技をつかってショートカットするのもありですね~.最近は親切な人がいろんな「動く」ソースコードをWeb上に公開してくれています.その中から気に入ったものをダウンロードしてきて,「すでに動く状態」を改良しながら学んでみてはいかがでしょう.自分で一から書くのは到底無理だと思った元のコードも,いつの間にか理解できるようになっているかもしれません.自分で書けるけど,書いててモチベーションの上がらない部分もすでに揃っているのが嬉しいですね.もちろん自分の実力とかけ離れたものだと,さすがに改良のとっかかりも分からないので,【自分の実力*1.2~2.0】くらいのレベルのものを探すと良いと思います.ちなみにとある調査だと,ほとんどの人がはじめは「人のプログラムをコピー」しながら学んでいるみたいですよ.みんなも一から作るのは苦手なんですねぇ~.

髙田崚介
髙田崚介
[正会員]
神戸市立
工業高等専門学校
     目次に戻る