「メソッド」を含む日記 RSS

はてなキーワード: メソッドとは

2013-05-12

社会啓蒙情報弱者ターゲットに届けないといけない」という「難しさ」が理解されないから、女性手帳問題はこじれる

世の中には「新しもの好きな人」と「ほどほどに流行を気にする人」と「流行無頓着、我が道を行く」人がいる。

自ら流行を周りに発信するほどの新しもの好きを「Aグループ」、

比較的新しもの好きを「Bグループ」、

ほどほどに流行気にするが、そんなに熱心に新しものを追いかけない人を「Cグループ」、

流行に鈍感で人よりワンテンポ遅れる人が「Dグループ」、

敢えて流行に逆らい我が道行く「Eグループ」と仮に呼称する。

この場合の各グループ構成比を乱暴に定義ちゃうと、

グループ人口の5%、Bグループが15%、Cグループが60%、Dグループが15%、Eグループが5%、

そんな感じだろうか?

多数派は中庸のCグループである

民間企業が新商品を売り込む場合、基本的に「Aグループグループグループを相手にすればいい」。

グループグループは高い宣伝費用掛けても買ってくれないし、

その宣伝費用をABCグループに投入して、リピーターロイヤルカスタマーに育てた方がはるかに売上は上がる。

極端な話、Dグループグループは「捨ててしまってかまわない」存在であり、民間企業はABCグループを大切にすればいい。

特に流行の発火点のAグループアルファブロガーなど)は重要で、企業はカネ払ってでもAグループを抱き込みにかかる。

つまるところ、民間広告は、基本的にABCグループいか情報を伝えるか?が勝負。

最近ネットSNS社会では、Aグループを発火点にして仕掛ける宣伝手法進化している。

ところが、行政啓蒙広告は、情報強者のAグループやBグループへの宣伝意味がない。

なぜなら、Aグループグループは、情報の内容を既に知っているから。

行政啓蒙の主旨は、「リテラシー低く情報弱者CDグループにこそ、伝えなければならない。」という点。

まり民間企業広告とは真逆であり、民間企業広告メソッドは通用しない。

特にグループの人は「自分の思い込みが激しい」「行政広告にわざと逆らおうとする」という、

極めて「あまのじゃく」な人種の塊。

普通啓蒙広告だと、かえって逆効果だったりするのが、厄介。

電通博報堂などは、ABCグループへの宣伝などは極めて上手だが、その手法行政啓蒙広告には全く通用しない。

しか行政啓蒙広告する場合、信用と実績の電通博報堂が選ばれる。だから行政啓蒙広告は失敗する。

高齢不妊問題は、まさにCDグループへの啓蒙活動。

女性手帳果たしてCDグループ啓蒙有効なツールなのか、「啓蒙工学」の真価が問われる

で、女性手帳への反発が強いのは、A・Bグループの人が、

「こんなこと、女性なら誰でも知っている、今更女性手帳などで啓発するなんて、女性をバカにしているのか?」

と反発しているのだろう。

A・Bグループの人は、

リテラシーボトムな人、情報弱者な人に対してこそ、情報を正しく届けなければならない、という

 行政啓蒙の難しさ」というのを、肌感覚で理解できないのではないか

から必要以上に反発を招いている気がする。

2013-05-11

http://anond.hatelabo.jp/20130511104616

すっごいむつかしいこと書かれちゃったけど

哲学ってもしかして人の世にあってのあるなしごと(たとえば一例として経営をしていくこと)の総括で

その総括を利用した個体例が創作文学文芸で、一例として「課長なんとか耕作」風の

その一例において継続的なメソッドを再精製して伝播することが評論、たとえば「成功者が語る経営哲学」みたいなもの

みたいな雰囲気かな?ちがうかんじ?

2013-05-01

消極的な無知

例えば、根拠も無い、論理も滅茶苦茶な意見を見たとしても

「こんな考えに至るには何かしらの根拠があってだろうし、その根拠を語るのがめんどくさかったんだろう、これは俺の無知を恥じるしかない」

「一見論理が滅茶苦茶に見えるが、もしかしてこれは俺の知らない、今流行りの対人説得メソッドなのかなあ? うん、すごいなあ、これは俺の無知を恥じるしかない」

というふうに自己完結。かみつかない。

なるべく自分無知を公にしないようにしないように。

なるべく恥はかきたくないので。


はい、ごめんなさい、確かに「恥じて」は無いんですよ。

さすがに精神やられるんで。

2013-04-29

http://anond.hatelabo.jp/20130429100456

そしたらなんか、やんわりと釘を差された。君のは「お遊び」なんでしょ?はしゃぐのもいいけどちゃんとセクマイの人について思案したほうがいいんじゃない

まりそいつのいいたいことはこういうわけだ。

  1. 男は男の、女は女のかっこうをすべき
  2. 特に男が女のかっこうをするのは言語道断
  3. ただしセクマイみたいな「リベラル的に通用する」言い訳があるときは例外

しか論法自分の気に食わない言動を抑圧するために一見反対できない人を持ってくるっていう「前線の兵隊さんを思え」メソッド

そいつリベラルでもなんでもないよ。ただのジェンダー固定思考 (ただし自分から見てかわいそうなひとは除く) じゃん。こういうやつは「マイノリティーに理解あるワタシ素敵(キラリン」ていう思考だから無視しとけ。

 

それにしても、

平均寿命から逆算であと60年生きると仮定して

ということは20前後か……若いっていいな……

後悔しないよう自分の好きのこしろよ。30まであっという間だし、30前後になると肌のつやはなくなるし髪の毛は薄くなるしでしたい格好もできなくなるぞ。

igiははてなに馴染めなかったコンプレックスでもあるの?

LOVEネットバトラーigi。

過去の輝かしい実績についてはこちら参照。

地獄のigi 名言集 - Togetter

そのかっこいいigiさん、最近はてなについての言及が多いんだけど

https://twitter.com/igi/status/328537144320749568

最近ちょいちょい出てきてたからなんとなく今後のはてな界隈について予想として新たに思うことが出来て。限界集落的になって団塊Jr.世代再生限界地点に到達しているのが今なワケだけど(だから増田がああなる)、数年後は中年化として何かに対するエネルギーの出力が下がるだろうなとは読んでる

https://twitter.com/igi/status/305125534726225920

ブコメとか文章の中に「ネオテニー」って単語あるかなーと思って待ってたんだけど、待てど暮らせど出てこず。お前ら不勉強すぎだ。他にも「ニューエイジ思想」とかはてな村大好きそうなのにあんま出てこねーし(ブツブツ

https://twitter.com/igi/statuses/317620213560512512

増田はいい線いってるけど、75点止まりなんで、分析は出来ても解法にまでたどり着けてないから、また同じ事を繰り返すんだろうなってのは容易に予想出来るんであって。オタク的なナルシズムとエゴでいけばそりゃそのあたりがおそらく限界だろうと。


一部取り上げたけど、まあいっつもはてながどうのとか増田がどうのみたいなこと言ってる。

site:twitter.com/igi はてな - Google 検索

はてなで言えばいいのに。

怖いの?

ていうかこんなの見つけた

https://twitter.com/igi/status/322142425898430464

増田に書こうかと思ったが週末事務所ぶっこまれると多分めんどっちくなってやんねー気がする。というかそもそも宣言するとやらない率が跳ね上がるのでエッセンスだけ抜くか。


増田に書こっかなー|д゚)チラッ|д゚)チラッ

何がしたいの

otsunekanoseブクマいただいたところで追記

また言ってる

http://twitter.com/igi/status/329252911030865922

限界まで増田手として暴れまわった挙句徳田慎之介メソッドで「余のアイコン見忘れたか?」とかやりたい。

落ち着け

2013-04-18

http://anond.hatelabo.jp/20130418001732

いやどっちもよく頑張ってると思うよ。


ただ青二才粘着って言うジャンル

普通に読んでも意味を取るのさえ難しい悪文(だからツッコミ材料はいくらでもあるんだけど)を

「何を言おうとしていたのか」説明して「どうおかしいのか」説明する、

その上でゴチャゴチャし過ぎない程度に読んで面白いように突っ込む、

これは障害物競走みたいなもんだよ。

しかも1500メートルぐらいある。

店長粘着するのとは全然別競技だと言っていい。


店長粘着増田は犯行声明故意に(?)アホっぽいけど

内容自体は馬鹿には書けない文章だ。簡潔スマートだし。

ジャンル的に言って短距離走って感じだよね。

kanoseメソッドもよかったと思う。

2013-04-13

http://anond.hatelabo.jp/20130412212340

まあ山本ってホラ吹き中傷クズ野郎であり続けてることは一貫して変わってないのに、ガキができて妙に分別のついてきた自分もアピールしようとしてるところが

最高にいやらしいよね。

それで山本罵詈雑言ヘイト記事を毎日楽しく消費している知恵遅れの信者がそういう記事を見て「隊長も丸くなったなあ」とかいうわけw

まあ山本のガキがでかくなった時にちゃんと親父の悪行をネットで確認できるようにきっちりアーカイブ活動はしていかないといけないよね。

(こういうこと書くとゲスだの品性がないだの噴き上がる馬鹿が湧くんだよねえ。これってやまもと信者的なネットユーザーが憎んでる「DQNがたまにいいことすると褒められる」メソッドの逆パターンだよね)

2013-03-30

好きを貫くのは馬鹿、新鮮さを貫け

公私ともにアイデアマンと認めるこの俺が創造力を発揮する秘訣はというと何と言ってもある1つの心構えにあると思う。

だいたい創造性開発といえば好きを貫けってことと、インプットアウトプットを増やせってこと、それからKJ法に始まる発想法を身につけろと、そういうことしか言わない。これでは本当の創造力はつかない。

スーパーIT高校生"Tehu"と考える 創造力のつくり方』も何か新しいことが書かれているかなと思ったけど特に書かれてなかった。ってか創造力について記述ほとんど無いだろこの本。

その心構えとは、これ「新鮮さを貫け」である

だいたい気付かないといけないよ。好きを貫くことによる視野の拡大ってのは実はその裏で視野固定化も孕んでいることに。

俺は世の中で素晴らしいとされているあらゆることが好きになれなかった。好きを貫けとか糞くらえと思っていた。だからこそ「新しさに目を向ける」ことに気付けたのだろう。

新しさに目を向ける、という発想こそが創造力開発の妙薬なのだ

暮らしのなかで積極的に新しさを見つけようとする。そのためには予想を立てることが不可欠である。予想を立てて現実と照合する結果、違いに気づき驚きが生まれる。

君は新しさに驚く日々を過ごしていますか?新しさは心の栄養ですよ。予想を立てないから違いに気付けずありきたりの日常に見えてしまう。

それから好きを貫いたり1つの目的目標のために身を粉にしたりすると一気に新しさが見えなくなってしまう。もっと柔軟にならないといけない。

音楽を聴く時もみんな「イイ曲」を探そうとするんだよ。それが駄目。イイ曲ってのは自分既存のモノサシでイイ曲ってこと。それでは視野が広がらない。

そうじゃなく「新しい曲」を探そう。本当に「イイ曲」なんて1000曲に一曲で、そのためにせっせとCD買いまくるのはご苦労なこったとしか言いようがない。馬鹿である。一種のギャンブル中毒スロット馬鹿と同じ。

そうじゃなく「新しい曲」を探そう。「新しい曲」であれば50曲に一曲はそういう曲が見つかる。新しさが無いかなと注意深く聴いていれば5曲に一曲はそういう曲が見つかる。

そうやってどんどん新しい感覚を心に取り込んで味わっている人と、固定したモノサシで「イイ曲」ばかり追い求めているとでは、心の豊かさに雲泥の差が生まれるのは言うまでもねえことだ。

facebookにも「イイネ!ボタンがあるがあれは「新しい」の意味で用いるべきなんだ。「良い」の意味で使うと心が狭くなる。評論家気取りで良い悪いを判定しているとまたたく間に心が死んでしまう。

少しでも新しい部分がないか耳を澄ませて生活しないと。パクリって言葉を多用する人間も危ない。あいつらは新しいものまでパクリ認定してる。

あれもパクリこれもパクリ連呼してる人間がさあ自分が作り手側に回ったとき何も出来なくなる。自分の首を絞めちゃってる。だから新しさに鈍感なヤローは何も作れないんだ。

これまで話を聞いてこう思った人もいるだろう。新しさだって1つのモノサシに過ぎないからそれに拘るのは視野を狭くするんじゃない?現代アートも新しさに拘って珍妙な方向へと迷走してるように見えると。

それはある意味正しいように見えるが現実には新しさを追及していけば1つの新しさだけでなく色んな新しさを求めるようになるから狭い視野に陥ることはない。

現代アートと言ってもいろいろあるが理屈に拘って迷走してる人もいるのは事実である。だがそれは新しさに拘っているからではない。新しさに拘ることで珍妙アートが出来るとすれば

それは新しさがマジョリティに理解されないからであって、それは視野が狭いのとは別問題である。発想法みたいに機械的に理屈でひねり出した新しさではなく、

ちゃんと本人の感性が新しいと感じたのであれば、それは同じ感性の持ち主には感動として伝わるはずである珍妙に見えても一部の人には価値あるアートなのである

好きを貫くデメリットをもう1つ書いておこう。それは好きには限度があるということ。例えば作曲家が「イイ曲」ばかり作ろうとしていたら必ず壁にぶつかる。

作曲センス技術が成長してどんどん「イイ曲」が出来ているうちは良いが必ずどこかで壁にぶちあたる。芸術家の苦悩と言えば聞こえは良いがはっきり言って自業自得馬鹿である

「イイ曲」ではなく「新しい音を追い求める」というスタンスでいけば一気に視野が広がる。「イイもの」以外は全部捨ててしまうのではなく、その中にも面白い音がたくさんあることに気付く。

「新しさ」を追い求めると興味が特定分野に限定されない効用もある。例えば、ポップスばかり作曲しててジャズに全く興味のない人が新しさを求めはじめるとどうなるか。

最初ポップスの中から色んな新しさを見つけようとする。だけどよくよく聴いてみるとジャズ要素の入ったポップスに新しさが見いだせるかもしれない。あるいはポップスの中に新しさが見いだせなくなって

他のジャンルも聴こうとしてジャズにたどりつくかもしれない。そうして自分の興味分野がどんどん広がっていくのが新鮮さを貫くメソッドの大きな効用である

そしてジャズの新しさを一通り取り込んだ心でまたポップスを色々聞き直してみると面白いことにこれまでとは違った聞こえ方がしてさまざまな新しい新しさを発見できるようになる。

そうやってどんどん新しさが見つかって心が広がって楽しみが尽きることがない。新しいもの探しをしない作曲家は駄目なんだよ。「イイ曲」ばかり作ろうとしてる作曲家感性が窒息死してしまう。

2013-03-27

プログラミングの初級になるためにの目次

http://anond.hatelabo.jp/20130325172822 の続き

言語Java7を想定。(Java8が迫っていますが、Lambdaなど関数型は、まだ早いと言うことで)

定理由は、C++比較して学べるところが大きく、安全シンプル言語から

※いきなりJavascriptはやめとけ、PHPは論外。

RubyScalaでないのは、筆者が初心者には適切には教えられないから。

おもちゃToyとしてjQueryで遊ぶのは、悪くは無いと思う。

0.はじめに

これ以降は名著の紹介や学習方法の紹介が主体となります。名著のコンポジションという形が時間限界ですね。

量については「初級になるなら、専門書を計3,000ページは修得することは覚悟してね」なんて言ったりしています

Javaで初級のわかりやすい指標ですと、[amazon:Effective Java]とGoFまでの修得。

初級になるまでに登竜門への挑戦期間を含めて、3~4年はかかっても仕方が無いとも思います

※逆に「一山いくらのコーダー」というのは、Effctive JavaGoFが達成している技術も知らずに「自分Javaプログラマー」だと誤解してしまっているような人達です。

そういったコーダーは何年経とうとも初級プログラマーにすら敵いません。

初級を目指して、プログラミングを楽しんでください。

ただ、学ぶべきことはべらぼうですが、「各分野毎に、エレガントな方法がある。だから探して修得する」ということが大切です。

※「一を聞いて十を知る」ような優秀な人に、50冊くらいドーンと本を置いてあげて、各本の目次を読ませるだけで、

底の見え無さを悟ってくれたりすると、嬉しくなってしまます

※余談ですが、その底の見え無さは数学という学問のものですね。例えば、関数型言語の底流に「圏論」というここ100年の最新の数学があります

また中級くらいで、Liskovの置換原則などが載っている本を紹介しますが、

そのLiskovの置換原則の周辺で出てくるcovariant(共変)って、圏論という数学概念だったりします。

数学出身としては、数学現実に活かされている嬉しい事例です。

閑話休題

1.目次

1)エディター・コマンドライン正規表現友達

「速く正確に大量の出力」という能力は、プログラミングをする上でも、ドキュメントを書く上でも、何より「つまら仕事」の時間圧縮ができるようになるため、重要です。

スローガンとしては「思考のスピードで出力することを目指そう」です。

紹介するエディターはemacsvimExcelです。ついでにIMEとしてATOKを使用しているため、ATOK操作Emacsライクにする話も紹介します。

ExcelWindows環境Meadowすら入れさせてくれない場合最後の砦という扱いです。

コマンドラインは、「コマンドラインというものがある」「時として非常に強力である」程度の紹介です。

※筆者はzsh全然使えません。使いこなしている方々と接する度に「勉強しなきゃな~、でも、あっちの方を先にやりたい・・・」とグズグズして、はや何年・・・

正規表現は置換を用いて、テキストの一括編集重要です。後、遭遇したくない事態ですが、スパゲッティコードの解析をする上での最後の砦です。

※遭遇したくない例

ん?何か変なところで副作用のある処理があるようだなぁ(消沈)、SQLのInsertかUpdateか一応Mergeも使っているところから逆算して原因箇所を探すか・・・(諦念)

この糞コードがっ!!こんなところに書くんじゃねぇ!!(憤怒激高)

(ここで、他にやらかしていそうな似たようなコード正規表現grep検索。改行コード込みにすれば複数文検索も可能)

わはは、予想通り共通化すべきロジックメソッドがそこら中にある・・・

2)アルゴリズムに始まりアルゴリズムに終わる(データ構造アルゴリズムの一部という認識言葉を使っています)

入門編で一つLinkedListというアルゴリズムを学びました。

少なくとも一つ本を読みながら自力でアルゴリズムを学べる人なら、大成できる可能性があります

前に紹介した[amazon:C++実践プログラミング]には、LikedListやStackなど基本的なアルゴリズムが載っておりますが、

これに加えて、初級になるためにはこれくらいは知っておいて欲しいというものを紹介します。

※後、最初から必ずしも手を出さなくても良い上限も紹介いたします。

3)正・不正の定式化・自動テスト・ロギング・アサーション・例外・契約プログラミング

プログラムは、データ入力して、加工して出力・保存する処理の繰り返しです。

まり、各一連の繰り返し毎に、「正しい入力」「正しい出力」を定式化する必要があります

それを人間の手では無くコンピューターやらせられるように、つまり自動テストできるようにテストプログラミングします。

そこで処理の進捗を確認するためにロギングし、処理が想定通りであるかをアサーションでチェックし、

不正入力不正な出力=例外が起きたら、対処策をプログラミングします。

(ex 途中で処理を中断して、入力者に適切な入力メッセージを伝えてあげる。入力自動補正などもあり得る)

で、ここら辺をまとめてどうあるべきかとして「契約プログラミング」があります

※余談。定式化・テストに際して、数学畑の人間としては、Javaだとequalsのオーバーライドでも必要になるし、同値関係同値分割だけでなく、集合論群論から学んで欲しい・・・(ここいらは数学科学部1~2年の学習内容)

4)名著を読め、新たな名著を探せるようになれ・素晴らしい人を見つけたら、縁を大切に

名著は英語で読みましょう。名著が名著たる由縁は、度々引用されることにあります

まり最新の技術書を読むときに、引用された名著のフレーズが、新旧のリンクをなし、理解の助けになります

対話は学問をする上で非常に重要です。

壁打ちといって、独り言で思考補助をするよりも遙かに有益です。

※素晴らしい師匠を探すなら、大学行くのが一番ですが、見聞を広げていく中で出会いを待つしかないとも思います

5)オブジェクト指向とはなんぞやとGoFデザインパターン + マルチスレッドプログラミング

マルチスレッドが難しいのは「バグを起こしにくいプログラミング」を求められるから

まりTry and Errorからの決別が求められ、今後の仕様変更拡張も踏まえて慎重に慎重にデザインする必要があります

できる限りステータス変数を持たずに安全に、でもマルチスレッドにするのだから効率を追求しなければ本末転倒

でも効率のためにはメモ化に代表されるキャッシング必須と、アンビバレンツな要素のバランス取りが難しい。

このために、リエントラントな実装・抽象と実装の分離など様々なエッセンスを駆使することが必要です。

床屋哲学者問題

6)日々コツコツと

というよりも孔子曰く、知っているよりも好きであること。好きであることよりも楽しめることのほうが強く、

気づいたら日々時間が許す限りプログラミングをしてしまうのが理想です。

仕事として嫌々スキルを磨かなきゃということが、これほど不幸な職業も無いですね。

余談 FizzBuzz写経について

FizzBuzz」は、本来の目的通り、協力会社の選定の際の足切りには便利ですが、

学習の達成度を測るには、簡単すぎる不適切な問題ですね。

写経

数学畑の人間として言わしてもらうと、

写経数学証明問題を、教科書テンプレ通りに、数値や名称だけ変えて記述することしか出来ない人の発想。

まり矛盾無く一貫した論理モデル」の構築が自由に出来ず、テンプレの微修正しか出来ない人の発想。

また、外部の「矛盾無く一貫した論理モデル」の吸収が不自由で、アルゴリズムを「手順」としてしか捉えられないように見受けられる。

プログラマーとしての大成は見込めないと思う。

数学畑として提供できる試金石

連続であること確かめるための「ε-Δ論法」(数学科学部1年の学習内容)

事前知識無く、このモデルを理解できる人は、十分に「矛盾無く一貫した論理モデル」を構築できる人。

1.まず「連続」とは何ぞやと考えて概念を膨らませてください。

2.十分思考できたと思えたら、Wikiあたりでイプシロン デルタ論法を見てください。

2013-03-22

プログラミング出来ない奴ちょっと来い

プログラミング出来る方法教える。

世の中「プログラミング言語」を説く本はごまんとあれど「プログラミング」を説く本やブログはあまりない。

いや実際に "ない" というのはかなり語弊があるかもしれない。

しかし、通常この種の説明している本に辿り着くまでには多くの時間必要だ。

普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要概念を獲得するのだと思う。

例えば、「計算機プログラム構造解釈」や「実用 Common Lisp」、「コンピュータプログラミング概念技法モデル」などの書籍現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。

しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。

そして、"普通プログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と言えるだろうか。

僕はそうは思わない。

というのも、多くの人は計算機科学を学び、効率のよいアルゴリズムデータ構造、美しい階層化・モジュール化されたプログラム、などを作るためにプログラミングするのではない。目の前の問題を解決するためにプログラミングを行うからだ。

それは自分の作りたいアプリだったり、

クライアントから発注されたプロジェクトだったり、

上司から頼まれた仕事だったり、

業務を効率化させるための Excel マクロだったり、

授業で出された宿題だったり、人それぞれだろう。

このような目の前の問題を解決したい人達が、わざわざ LispMozart など何の役に立つのか分からない言語を、根気よく勉強するのだろうか。(ちなみに、LispMozart は上記の書籍で実際に使われている言語である。)

目的現在の問題を解決することであって、

新しいプログラミング言語を学ぶことや、プログラミングの種々の概念を獲得することではない。

もちろんプログラミング言語を上達するためには一つでも多くの概念を会得する必要があるので、あるレベル以上を目指すのであればこれらの書籍を読むことや、抽象化を実現するための様々なツールを手にすることは必須だと思う。

純粋プログラミングを楽しんでいる人やハッカーを目指したい人はこのような文章を読むのではなく、ぜひ上記に挙げた本を実際に購入し、自分の手で動かして確かめてみることを勧める。プログラミングに対する考え方や姿勢が変わるのは間違いないと思う。

今回はそのような”純粋プログラミングを楽しんでいる人”に向けた文章でない。

現実の問題をプログラミングを用いて取り組んでいる人に向けて書いた文章だ。


そのような人の中で、なかなかプログラミングが上達しないという人に向けた文章である

もしプログラミング学習限界を感じているのであれば、プログラミング学習方法が間違っている可能性が高い。

そして残念なことに、初学者向けの書籍では、"プログラミング言語の文法" を説く本はあれど、"プログラミング学習方法や上達するための正しいスタンス" を説く本はほとんどない。


できるだけ多くの人にプログラムをする楽しみを知ってもらうためにも

より多くの人がより生産的にプログラムが出来るようになるためにも

そして特に、右も左も分からなかったプログラミングを始めたばかりの過去自分に対して、

効果的な学習方法プログラムする際の指針を書き記したいと思う。

それらは単に指針を示しているだけなので、

どんなプログラミング言語を使っていようとすぐに実践に移せるはずだ。

後はどれだけそれを実践に移し地道にプログラミングしていくだけである

正しい努力と、ちょっとしたコツさえ知っていれば驚く程生産性を挙げられるはずだと確信している。

プログラマレベルを以下の 3 つに分けてそれぞれについて説明していきたい。

1. 初心者レベル

プログラミング半年未満

・使えるプログラミング言語は一つだけ

ただし以下のことは出来ない。

・500行以上のコードが書けない

エラーが出た時の対処方法が分からない

写経は出来るが、自分プログラムが書けない

2. 中級者レベル

プログラミング半年 〜 3年

・1つ以上のプログラミング言語は使える

オブジェクト指向は理解している

ただし以下に当てはまる。

自分制作しているアプリケーション向けに "実用的なフレームワークライブラリ" を書けない

・1万行以上のコードだとスパゲッティコードになり、保守不能になる

・重複するコードが多く存在する

・適切なサブルーチン化できない

3. 上級者レベル

プログラミング歴 3 年以上

現実の問題に対して適切なデータ構造アルゴリズムを選択できる

抽象化について理解し、可変部分と不変部分を考慮した設計ができる

全てのプログラマはどれかのレベルに属するはずである

またそれぞれのレベルクリアするには明確な壁がある様に思う。

これらの壁を超えるにはどうすればよいかを説明する。

前置きが長くなったが、以下ではまず初級者レベルの人に向けた具体的なアドバイスをする。


初心者レベルの人に向けて

完全に初心者レベルの人はまずどのようにプログラミングを行えばよいのか分からない。一行も書けない。そのため、必然的に以下のような行動を取ると思う。

検索エンジンで似たプログラム検索コピーペーストする

・本に載っているプログラムをそのまま書き写す(いわゆる写経

上のような行動を行なっているだけでは、いつまで経っても自分プログラミングが出来るようにならない。

なぜなら上記のプロセスでは決定的に重要なことが学べないからだ。

それは、【プログラミング言語モデル】を自分の中に作ることである

プログラミング言語ルールの塊である

それは普通言語と同じように文法が存在し、そのしきたりに沿って記述しなければならない。

のしきたりを学べば書けるようになれる。非常に単純だ。

それなのに、なぜいつまで経っても書けないのか?

それは、”書き写す・コピーする” だけでは、そのしきたりが習得できないかである

特に最初のうちのプログラミングは頭を作業使う作業でなく、むしろ "体で覚える" 類のものである

それは例えば、日本語を話すことと似ている。

友達と会話する時、頭を使っているだろうか。

それは簡単な受け答えについては体が覚えているので、考えるより先に日本語が出てくるのではないだろうか。

プログラミングも同様に頭を使うのではなく、こうしたい時はこう書く、という反射神経を育てなければならない。

もちろん日本語話せるだけでは、ミーティングプレゼン出来ないのと同様に、文法が出来ただけではプログラミングが出来るとは言えない。しかし、文法が出来ないと "現実の問題に対処するソフトウェアを作る" というレベルには到底進めない。そのために、まずそのような文法の反射神経やパイプラインを頭の中に作る必要があるのだ。

それには以下の点を意識してプログラミングすればよい。

・"何をしたい時" に "どう書けば正しく動くか" というデータベースプログラミング言語モデル)を自分の中に作ること

このままでは抽象的すぎるので、このような "データベース" や "考える習慣" を自分の中に作るための具体的な指針を以下に挙げる。

1. エラーをたくさん出す

2. デバックの仕方を覚える

3. 小さく動かして確かめ

4. Google を使い倒す

まり、小さく動かして、エラーをいっぱい出し、デバッグを素早く行なって、分からないことは google などの検索エンジンで解決する。これが上達のコツである


これらについては以下で詳しく説明するとして、

まず最初初心者ありがちな間違いをいくつか列挙してする。


関数メソッドをたくさん覚えなければいけない

無理して覚えなくてよい。

プログラマは覚えることが星の数ほどあるので、メソッドなどはリファレンス片手に検索できればよい。

よく使うメソッドなどについては自然に覚えていくので、積極的に覚える必要はなし。それこそ、"体" で覚えるはずである

覚えられないメソッドについてはそもそもあまり使わないから覚えられないので、重要性は低く覚える必要はない。

しろ実現したい処理が既にメソッド関数として提供されていないか、調べる力の方が大事

エラーがいっぱい出てつらい

全く問題ない。

以下で述べるようにエラーとどう付き合うかが非常に重要

写経をしなければならない

教科書や本の中に書いてあることをそのままエディタで書き写し、実行することを写経という。

上記でも述べたように、これからまり無駄努力をしないことを願って言えば、

写経にはほとんど意味がないと思って取り組んだ方がいい。

写経して書いた 10000 行のプログラムより、自分で考えて書いた 100 行のプログラムの方が遥かに意義がある。

なぜならば写経は "作業" だからだ。

そこに "言語モデル" や "思考" が伴わないと意味がない。

”思考” が伴わないとただの書き写す作業をしているだけだ。

自分の中に "モデル" が出来ていないので、いざ自分プログラミングしようと試みても、写経をしているだけでは全く書き出せないだろう。

写経はそもそもプログラミングに対するスタンスプロセスのもの勘違いさせる危険性をはらんでいるいる。

写経する場合、書き写しの間違いがなければプログラムは問題なく動く。

しかし実際のプログラムではコンパイルや実行するまで、そのプログラムが期待通りに動くかどうか、は絶対に分からない。

そして通常は一気に全てを書き上げるのではなく、まず小さなコア部分を書き、少しずつ他のコア以外の部分を書き上げながらプログラム完璧ものにしていく。

書き間違えさえなければ正しく動くと知っているプログラムを、上から一行ずつ書いていくプロセスとは正反対だ。

また、以下で述べるようにエラーが発生した場合デバッグ作業は非常に重要であるだが、そのための作法写経から学ぶことができない。

なぜならば、写経中にエラーが発生した場合教科書自分で書いたプログラム間違い探しをまず一番最初に行うからだ。これはプログラミングに関する作業ではなく、むしろ間違い探し絵本とにらめっこしているに近い内容である

それでは、デバッグ方法言語モデルを作るとても大切なプロセス経験できない。

ゆえにそのようにして完成したプログラムもおそらく正しく動きはするが、得られる経験値は驚くほど低いはずである

とは言え、いきなり自分で書けと言われても書けないと思うので、小さなプログラムを一旦は教科書通り写し、その後自分なりに改変していくのがよいと思う。この場合写経にはほとんどが意味がないと思った方がよい。"自分なりに改変する" というプロセスこそ意味がある。

さて初心者が陥りやすい部分については説明したので、

今度はどのように "言語モデル" を自分の中に作っていくかについて説明する。

1. エラーをたくさん出す

初心者エラーを出さない様にと慎重にプログラミングしようとしがちだ。

はっきり言うと、それは間違ったプログラミングスタイルだ。

特に最初のうちは、エラーをなるべく多く出した方がよい。

なぜならば、エラーを出すごとに、その言語の新しいルールを1つずつ学んでいくことになるからだ。

PHP で例えると、

printf の書式だとか

文末に付けるセミコロンだとか

function はネストできないとか

変数には $ を付けなければならないだとか

グローバル変数関数の中で使う場合は global 宣言するとか

などである

初心者のうちは一切上のようなルールは知らないはずだからエラーを全て踏むかもしれない。

例え今回作っていたプログラムエラーを踏まなかったとしても、回数をこなしていけばいくつかエラーに遭遇するだろう。

しかし、それでよいのだ。

エラーを修正することの繰り返しの中で、その言語モデル自分の中に出来てくる。

そのようなトライアンドエラーを繰り返えすことで、"言語モデル" は文字通り体の中に染み込み、プログラムだんだんと書ける様になっていく。

おそらくこれはは自転車に乗れるようになるプロセスと似たようなものだと思う。

誰しも最初は上手く走れずに転んでばかりいるけれど、何度も何度も転んで起き上がってを繰り返しているうちに少しずつ多くの距離をこげるようになっていくだろう。

そして最終定期には、難なく自転車を乗りこなせるようなっている。

プログラミング言語を学ぶ時も同じである

最初は何度やってもいろいろなエラーが出てくる。

それらのエラーを地道に1つずつ潰して間違いを訂正していくうちに、少しずつ多くの行数の複雑なプログラム書けるようになっていく。

そして最終的には、自由にプログラミング言語を使いこなせるようになっていることに気付くだろう。

自転車も本を読んだだけで乗れるようにはなれないのと同じで

プログラミング言語も本を読んだだけで出来るようになれると思わない方がよい。

それらはトライアンドエラーの繰り返しの中でしか得ることはできないし、誰かから教わる類のスキルでもない。

そして、プログラミングを行うからにはエラーとは一生付き合っていかなければならない。

早めにそれに気付いて受け入れる必要がある。

2. デバッグの仕方を覚える

さてエラー重要性については上で強調した。

実際にエラーに遭遇した時に大事なのはエラーに遭遇した時にいかにその原因を突き止めるかだ。

期待しない動作をした時のデバッグという。

まずいちばん基本的で一番重要デバック方法printf デバックである。これをまず出来るようにする。

怪しい変数をとにかく printf で出力し、変な値が入っていないかを確かめ方法である

僕が常々許せないと思っていることは、初学者向けの書籍にはデバッグ重要性やその具体的な方法論が非常に重要であるにも関わらず、それについては解説すらされていないことである

初心者からこそ、デバッグ方法論や開発環境をきちんと整えるべきである

ほとんどの言語処理系では、デバッグ作業を支援する機能提供している。

からなければ、"言語 デバッグ方法" でグーグル検索してみればよい。

例を挙げると、

C言語だったら、gdb

PHP だったら Xdebug

Ruby だったら pp モジュール

Schemegauche)だったら #?= デバッグ

javascript だったら firebug

言語はいわゆる"定石"と言われるデバッグ方法があるはずで、それらを検索し習得すること。

これは無益時間を過ごさないためにも本当に重要な要素なので、面倒くさがらずに開発環境を整えや方法論をマスターすること。


3 小さく動かして確かめ

最初の内は、基本的にプログラミングする時は小さな部品に別けてから1つずつ確かめながら作る習慣を付けるようにする。

その理由は簡単で、人間は正確無比に物事を進めるのは苦手な一方で、プログラミングでは正確無比に物事を進めることを要求されるからである。そのため、大きなプログラムを一度も実行せずに作成し、一気に確かめようとするとまず間違いなく正しく動作しない。

そして厄介なことに、大きなプログラムを作ってしまうとどこに問題があるのか切り分けすることが困難になるので、ますますデバックが難しくなってしまう。

そのためまず小さく作って小さく確かめ部品を組み合わせてプログラムを作っていくことが大事になる。

一般的に言って、どんなに熟練したプログラマーであろうとも、一つのミスもせずに一定以上の大きさのソフトウェアを作り上げることは不可能である。そのため、ミスエラーはある程度発生することを前提に、少し作っては実行して確かめる、というサイクルをたくさん回す習慣を付ける。

ソフトウェアは一行書き上げた瞬間から指数関数的に複雑性が増大し、気付いた時にはどうにもならなくなっていることも多い。そういう時は思い切って一から作り直すという選択肢検討してみるべきだ。

"Small is Beautiful"

これは非常に有名な unix (という OS)の設計理念である

unix開発者は様々な失敗経験から、このようなソフトウェア開発のベストプラクティスを学んだに違いない。

まだプログラミング経験の浅い人も、これから偉大な開発者経験から学ぶことができるはずである。"Small is Beautiful"。小さく作って動かすこと。


4 Google を使い倒す

先ほどから何度も書いてあるように、プログラミングする上ではエラーとの付き合い方が非常に重要になってくる。

おそらく何らかの上手くいかない場合は何らかのエラーメッセージが出るはずだ。

原因がどうしても分からない場合は、エラーの文章をそのままコピーして検索してみる。そうすると、おそらくエラーの原因と対策方法などが表示されるので、それを足がかりに再度挑戦する。




現実プログラミングは、どんなにスキルが伸びようとも、いつも上手くいかないことばかりだ。それこそ、何をしてもエラーが出てくるし、何をしても上手く動作しない。だから僕は初心者のうちで一番大事能力とは、実は "忍耐力" だろうと少しばかり思っている。

でも悩んでるのはあなただけではなく、おそらく全てのプログラマーが通ってきて道だ。

そして、自分の思い通りに動くプログラムを見た時程うれしいものはない。

ぜひ初心者の人はこれを読んで少しでもプログラミングが出来るようになればと思っている。





2013-03-18

SI業界中の人間は、凄惨世界を望んでいる件について

http://d.hatena.ne.jp/iad_otomamay/20130318/1363596244

この記事。本当に腹が立ちました。

まず質問自体が酷いのが多い。

省略したのは知らないと障害の危険があるので知っとくべきってことで同意なんですが、

HTTPクライアントブラウザの種類などの情報を知るためのヘッダは何ですか?(筆記解答)

HttpRequestオブジェクトからPostされたデータを取得するServletメソッドは何ですか?(筆記解答)

これは使うときにググれば良い話。暗記しておくメリットがわからない。

結合テスト中のシステムで、OutOfMemoryErrorが発生しました。UTソースコードの変更はしていません。ヒープメモリは足りているようです。原因として何が考えられますか?(筆記解答)

UTソースコードの変更はしていません」という一文が意図不明単体テスト終わった後にソースコード変更したら、再度単体テスト必要だと思うのですが?この一文は何のヒントにも制限にもなっていないです。

String オブジェクトを+で結合するのはなぜNGなのかメカニズムを説明してください。(筆記解答)

なぜNGなのかというのは「文字列連結演算子(+)では速度が遅いから」であり、StringBufferかStringBuilderのような結合用クラスのappend()を使うことでパフォーマンスは向上する、というところまでが質問の狙いなのかと思いました。もう一歩踏み込むならば、+をしたときコンパイラでどのようになるかを知っているかどうか、みたいな。しかし結合用クラスにはデメリットもありまして、append()は冗長過ぎて可読性が酷く低下するデメリットがあります文字列の連結時にクラスをnewするタイミングを調節したほうが速くなることもあります近年ではマシンスペックもあがってますので、そんなに気にする部分ではないと思います。そもそも、このStringBufferの仕組みは絶望的に救いがないJava言語の汚点と言ってもよい部分です。なんで文字列の連結方法に複数のやり方を速度だけの理由で取捨選択させるというバッドノウハウなので、早くコンパイラ最適化して一元化くれることを望む部分です。

StringBufferかStringBuilderと書いていて、そういやスレッドに関しての質問がないのはどういうことなのかと感じました。JavaWeb系ってスレッド重要だと思うのですが。

JavaScriptHTML要素をid属性の指定により取得するメソッドは何ですか?(筆記解答)

もうjQueryDojoも使われるようになってきたからこれも知らなくてもいいんじゃないかと。id指定で取れるということとを知っておけば答えにはたどり着けるはず。バッドノウハウです。どうしてJavascript最近になって流行ってきたかを思い出して欲しいです。

プログラマーバッドノウハウの塊でなくてはならない、というのが見えてくる質問内容ですが、最近は覚えなければならないことが多く、技術更新スピードも早いので、あの質問のような重箱の隅まで暗記するようなことをしていては、重要な部分が抜け落ちているし、暗記の苦手な人は辛いと思います書籍ネットのような情報の蓄積と抽出する部分は充実してきたので、概念は知っておいて、実装手段はその都度調べるほうが効率的であるかと思います質問は、応用の効く根本的な部分を問う方がよかったです。

現実は、もっと凄惨世界を経て時代が進んでいくようだ。」などと締めくくっていますが、この人は凄惨世界が嫌なのでしょうか?不安を煽るだけで対策も講じていません。まず、質問の回答を書くだけでも、読んだ人の知識の底上げに貢献できると思うのが普通です。「これは基礎教育をやってれば当たり前」とか言ってドヤ顔して、できない人間馬鹿にしているだけに見えます本心では凄惨世界を望んでいるのでは?としか思えてなりません。

この記事を読んだことで、またSI業界から優秀な人が遠のくことでしょう。こんな人間が居る業界には居たくないと。

どうして悲しみを減らす方向に動いてくれないのかと…

※追記

頭沸騰しててスルーしてしまったのですが「淘汰」って書いてあったので、業界底上げは望んでないんだなあと、見当はずれなこと書いてしまったなあ、と、後悔した。

http://anond.hatelabo.jp/20130318175611

増田脳内変換した」

「てめえの形相があまりにも恐ろしすぎて、適当にそれっぽく言っただけ」

 

小町メソッド

2013-03-10

http://anond.hatelabo.jp/20130310143818

下級のクソプログラマだって時間さえあれば多少メソッド化してみせるくらいの器量はあるのさ、時間さえあればね

下流の質を嘆く前に、まず上流で時間を食い過ぎてないか、下流が滞るようなクソ要件定義やクソ基本設計を作ってないか、そういうところも見直しが必要だったりするよ

まあ下流がゴミばっかりで救えないのも事実ではあるのだけど

下流「エンジニア」もたいがいだけどねえ。

http://anond.hatelabo.jp/20130309233920

俺、それなりの規模のSIer側の人間なので、下請けに出す側の人間だけど、下請けもたいがいクソだよ。

会社は、対象のプログラミング言語を「やったこともない」人間を出してくるし、

そうやってやってきたPGは、コーディング規約(何も難しいことはない、空白の入れ方や大文字小文字のルール等)すら守れず、ひどいときはインデントすら合っていないコードを書く。IDEでどうやってそんなことができるのか不思議だが。

まともにロジックが組み立てられないから、プログラムフラグの嵐。長大なメソッドを書く。

ソースコードレビュー品質が担保できるのは、かなり早い段階からレビュー実施できた場合で、デスマってくるとなんだかんだで先送りになり、気づいた時には千行のメソッドができあがっているわけで、そんなもんレビューしたって直しようがない。もちろんそんな状況にしてしまったプロジェクト運営に問題があるのだけれど、それにしても、それにしてもさあ。

で、下流の人間は、(契約形態によるけど)残業代がかかるし期日がくると逃げる。で、バグだらけのクソコードを俺がサビ残でせっせと直しているわけさ。

2013-03-08

[]開発の手順

1. そうなって欲しいこと・願望・コンセプトを得る。得ようと思っても得られない。ここは偶然起こること。

2. 何をするか・What・思い付きを挙げる。ブレインストーミング

3. どうやるか・How・方法を考える。「できそう」という段階まで。

4. 必要もの・使える技術前例を集める。他人を説得できるようになる。

5. 機能クラスといった実装上の分割、役割分担など行動に移すための細分化と割り当てを行なう

6. 各機能・各クラスでやることを列挙する。

7. やること別に「そのためにやらなければならないこと」を実行順通りに書き下す。擬似言語擬似コード

8. 擬似言語設計→擬似言語フィードバック設計と擬似言語→実装

コラム ── アサーションについて】

擬似コードを書くならアサーションも一緒に書く。不要な用語や用語の重複があるとうまくアサーションを書けない(かみ合わない)。用語の最適化変数コード最適化でもある。

事前条件→事後条件をアサーションで表明、事後条件→他の事前条件へ連鎖契約によるプログラミング契約プログラミング

擬似言語でのアサーションはそのままプログラムコードでもアサーションになるか、テストコードになるか、メソッド|関数|手続きのパラメーター・戻り値コメントになる。アサーションは「実行可能なコメント」(Executable Comments)とも呼ばれている。

9. あとはセンス

RIGHT:[[:t/Prog]]

----

CC0

2013-02-27

型が無い事の利点とやらが全く的を射てない

変数に型がないということの利点について考える

http://d.hatena.ne.jp/perlcodesample/touch/20130227/1361928810

が大変お粗末な内容だったので、反論記事を書きます

型推論ソースコードコンパイル時間を遅くしてしまますソースコードが大きくなってきた場合に、すばやく書いて、すばやく実行結果をもらうことができなくなります

今時のパソコンならコンパイル時間なんて大したことない。

大規模開発環境コンパイル時間よりリンク時間の方が問題になりやすいが、それは別に型の話とは関係ない。

あと、インタープリタ最近は実行時にJITコンパイラが走る。

実行時間に影響がなく、開発者の待ち時間で済む方が実はよいのでは?

統合開発環境での、メソッド自動補完の機能の実装が少し難しくなります

みんなが統合開発環境をつくるとでも?

そもそも型が不定なら補完することすらできないので、

比較対象として相応しくない。

変数に型がないとソースコードの変更に強くなります。たとえば右辺の返す型に変更があったとしても、受け取る側のソースコードを変更する必要はありません。

これは逆に危ない。

実行するまで意図したインスタンスが返ってこなくなった事実に気づかないから。

コンパイル時に指摘してくれる方が安全

変数の型を持つ言語は、型が異なるのだが、処理としては同一の処理を行いたい場合には、オーバーロードという機能を使う必要があります変数の型がなければ、オーバーロード機能必要ではなく、ただ単にif文で分岐すればよいだけなのでとても楽です。

インターフェイスというもの勉強してください。

CならVTable。Javaならinstanceofなど同等の事はできます

というか、これ。型を意識しまくったコードじゃないですか???

C++テンプレートのような複雑でデバッグしにくい機能を使ったりしなければなりません。

とあるインスタンスしか入ってないつもりのリスト

実は全然ちがうものが混ざってた!なんて事故コンパイラによって止められる分、デバッグする必要すら無いんですけどね。

変数に型がないとどのような型の値が代入されているかからないという批判があるかと思います。可読性の問題で

変数に何が入ってるかわからないよりも、

インスタンスが何を持ってるのかわからない方が可読性に問題がある。

2013-02-25

http://anond.hatelabo.jp/20130225210128

何であの人はこのメソッドおかしいと理解できないのか謎。

はじめはワザとやっているのかと思っていたがどうやら本気でそう考えているらしいし。

このメソッドを使えばこの世の出来事のあらゆることを批判できるだろうに。

2013-02-13

http://anond.hatelabo.jp/20130213193100

たぶん、あなたの8年ぐらい前に修士にいた人間からの助言ですが、

 

はっきり言って、あなた、それ、何も心配しなくていいよ。超大丈夫

一応、いろんな、修士学生さんみてきたけれども、

特に文系は大概の人が、6月ごろにプチ鬱になるから

だって学部の頃とぜんぜん違う能力が求められるってことに気づくのが、

だいたいみんなそのぐらいのタイミングなんだよね。

 

学部の時はすごく優秀だったけれど、修士に行って憂鬱になって、

鬱でやめてしまう人、たくさんいます

 

大学院制度にも、あなたにも問題がないわけじゃないだろうけど

それは、無能だった訳じゃなくて「相性が悪かった」んです。

学究の道、そのものと相性が悪かった可能性もあるけど、

単に、設定したテーマや、環境の掛け違いだった可能性も大きい。

大学院って、そういう場所なんです。

そうならない人のほうが珍しい。そう思って下さい。

  

そういう人、たくさん見てきてますよ、わたしは。

自分は、ダメな奴なんじゃないか」と思いすぎて、

前に踏み出せなくなる必要はまったくありません。

そこそこに名前の知れた大学大学院まですすめたのであれば、

あなたは、世間一般的には、じゅうぶん優秀です。

たぶんね。

  

だって、どうせ、はてなとか、トゥギャッターで、

偉そうなこと書いてる連中の半分前後が、

「たいしたことないな」

って思えてるでしょ?

そこそこの大学大学院まですすめてる人間なら、

虚勢とかじゃなくて、そう思えるはずですよ。

そのレベルに達していれば、充分あたまいいです。

 

あなたの特殊な幸せと不幸は、教官が優秀すぎたことかもしれませんね。

普通は、もうちょっと教官ダメ人間なので、

「うちの教授、まあ、バカじゃないけどねぇ…まぁ、教授もいろいろと問題のある人だしなぁ…」

と、大学院入りたての頃は目をキラキラさせていた人が、

適度に、教授Disりはじめて、

「あーあ、修士2年間冴えなかったなぁ。まぁ、俺も悪いけど、教授教授だしなぁ」

という感じで、2年間が終わっていくわけです。

でも、教官責任転嫁させられなかった、というのが、あなたの辛かったところなんでしょうね。

  

確かに、あなたにとって教官はすごい人に見えていて、ものすごくお世話になりまくって、

それと対比するように、あなた自信が、ものすごくダメな奴に見えているかもしれない。

でも、教官にとっても、たぶんねぇ、いま後悔してる真っ最中だと思うよ。

  

だって教官が、ぜんぶ代筆するんでしょ。

教官にとっても、「ああ、自分は優秀な学生をうまく育てられなかった」って、後悔すべき状況そのものでしょ。それ。

教官も、すごい反省してるんじゃないの?優秀な人であればこそ。

あなたは、質問できなかった自分を責めているけれども、

質問できる環境をきっちりと構築できなかった教官にも、責任の一端はあるんです。

「いや、大学院生自己責任でしょ」って思うかもしれないけど、

そりゃ、究極的には、そうだけどさ。

教官が、学生の自発性を引き出すためのメソッドとかって、本当は、たくさんあるんですよ。

たとえば、ごく単純に、週一でガンガンミーティングする時間を増やすとか、

モチベーションが下がってきたように見えたら、共同研究に強引に組み込んであげちゃうとか。

  

でも、大学院生場合、そういう懇切丁寧なことやらない場合が多いだけ。

大学院教官がクソ忙しいという理由はもちろん、あるけれども

大学院生は、モチベーションが高いという前提だから

でも、だいたい大学院入学から2ヶ月~半年の間に、

方向性を見失ってモチベーションが下がる子が多いことは、

経験事実として、大学院関係者は、だいたいみんな知ってるわけ。

でも、やれてないの。

そういう組織設計必要だということを、大学院運営側の人間コンセンサスにできてないの

できているところでも、大学院組織制度設計に、まだ充分成功してないの。

から、そこにはでっかい穴が空いてしまってるんです。

  

あなたは、そこにひっかかっちゃっただけ。

ほんとは優秀なはずの人間が、

そういう些細なきっかけで、鬱になってしまうのとか、

本当にこの国の損失ですよ。

大学院での研究に挫けた人とか、ネット上に掃いてすてるほど転がってるから

  

とりあえず、あまりに気持ちの落ち込みがひどいようだったら、

まず、CES-Dに行ってね。

http://ex.senmasa.com/cesd/

ここで、チェックしていって、

 

16点超えたら、心療内科行って下さい。

 

#####

あと、あなたリンクしてる、

発声練習、のとこの先生エントリ読んだけど、

http://d.hatena.ne.jp/next49/20081019/p2

どういう学生が、鬱になりやすいか、については禿同っすな。

(その後の対処法については、いろいろ議論したいところではあるけれど)

 

この先生も書いてるけど、

ある種の優秀そうな学生のほうが、実は鬱になりやすいっていうのは、

まじで、経験的には、その通りだと思う。

 

わたしは、大学院で鬱にならなかったけれど、

あなたと同じような鬱で、とてもとても大事な後輩を一人失ってしまいました。

とても悲しかったよ。

2013-01-24

http://anond.hatelabo.jp/20130124124921

理想現実ギャップイライラなんて誰にでもあるんだがな

皆がそのたび愚痴ってるわけでもない

それに、愚痴ってることが変わりたいと思ってることの証明にもならない


つか、お前はただ単にミスチルdisりたくて書いてんの?実は。

大カトーメソッドみたいになってるし

2013-01-22

http://anond.hatelabo.jp/20130122182200

桝田は彼女の子どもになりたかったんだけど

なんかこの手の話題になるとすぐこういう解釈する奴が一定数いるよね。小町メソッドというか。

どこをどう読むとそういう解釈になるのか不思議でならない。

http://anond.hatelabo.jp/20130122110621

それは、裕福な偏差値50は大学進学して、貧乏偏差値55は進学できない。とかそういうのどうするの?

無茶苦茶頭良くなくても、普通でも裕福なら進学できる。そうじゃなければ進学できない。というのは変だろ。

 

そのうえ、大人になってから振り返れば、塾って、あるいみ答え暗記メソッドだよね。

そりゃぁ、大学入ってからも、他人のレポートコピペするし

会社入ってからも、下請けにまるなげするんじゃね?

 

塾は塾で有効だけど、社会的有用か?というのは考えなきゃならん。

未知の問題に対する対応力が低い人間を大量に生み出しているから、『想定外』なんていう事態が起きるんではないか?(必ずしも塾だけのせいではないけど)

 

塾に行けば偏差値10ぐらいは底上げできるとすると・・・それって本来 自頭だけでみると

偏差値50の人間が60の大学に入ってるって事で・・・

バカを社会構造の上に押し入れるシステム・・・あるいみ裏金とあまりかわらんよね。(大きく違うけど、わかりやすくするためにこういう表現を使った。)

ログイン ユーザー登録
ようこそ ゲスト さん