つれづれ

その331

今話題の派遣PG時代の思い出 - Togetter さん。読んでてなんだかデジャブなカンジだなー、と思ったので、どれくらい経験済みかを適当にチェックシートつくって数え上げ。

1 メソッド(または 関数)を作ると処理が上下に飛んで可読性が落ちるので、一つにまとめてください と言われたことがある
2 DB は金額以外全部 varchar だった
3 参考に渡されたフローチャートは双六のようだった
4 何度も出てくる処理をメソッドに抜き出したら「詳細設計書の順番になっていない」と怒られた
5 「これからは XML だ!」と String を + で繋いでXMLを吐きだしていた
6 他の PG が書いたコードがテストを全く通らなかったので直すように言ったら、通らなかったものの8割が仕様になっていた
7 コンパイルが通らないコードを平気でコミットされていた ×
8 開発者がバージョン管理システムを理解してないため、レポジトリに日付付きのフォルダが増やされていった ×
9 普通は Join して1クエリで引っ張ってくる所を、全データを引っ張ってきて1レコードずつサブテーブルにクエリを投げていた
10 クラス名の命名規則が、例えば「プロジェクトコードネーム3桁、機能大分類を表す数値3桁..」のようなCOBOL文化の暗号のようなシロモノだった ×
11 一つの画面クラスが全ての画面の機能を持ち、メソッドの引数でどの画面として動くかを切り替える「コードの共通化」を勘違いした凄まじい実装だった
12 コードを修正したらコメントアウトして元のコードを残せというルールだった
13 テーブルにカラムが一つしか無くて char型だった ×
14 DBのカラムにCOL20、COL21・・・とかあって、「何ですかこれ?」と聞いたら「予備カラム」と言われた
15 朝に言われた作業を完了したら、夕方「要らなくなった」と言われるのがしょっちゅうだった

んー、11点。2/3 くらいですか〜。多いと見るか、少ないとみるかは微妙かしら。

みんなもやってみてねー。

その332

きむら(K)さん経由、http://anond.pha11.info/archives/5350

んー。なんだかおかしい。はてブのコメントも「わからんでもない」とか「(やる気の無い人は)こんなもんだよね」みたいに穏やかなのが目立ちますが、いあいあそう言う問題じゃないと思うのです。

仕事でやる以上、好きだろうが好きでなかろうが、作るものがある一定の品質を確保してなければいけない。そこから上を目指すか目指さないかという話ならありかもしれませんが、

間抜けがプログラマになるなど言語道断であり、10000行のメソッドが作られるような悲劇はなんとしても避けなければならない

(でもいいじゃない。好きじゃなくても仕事するのがにんげんだもの..と、つづく)というのは、

たとえばタンポポを刺身に仕事があって、タンポポ大好きでその仕事するやつもいれば、なんとなく就職してタンポポ乗せてる奴もいる。

そんで、タンポポ乗せるのうまい奴とか下手な奴とかいる。それだけ。

と全然お同じなんかじゃない。むしろ、タンポポを載せ忘れたり、お刺身に素手で触れて食中毒のリスクをガンガンアップさせたりしているような状況だと思うのです。

つまり、「本当に職業プログラマには絶え間ない向上心が必須か?」という問題と思わせてがちですが、出てくる具体例がそう言う次元の話じゃないのです。このミスマッチが「釣り」ならいいのですが、天然だったらイヤすぎます。だって、そうだとしたら問題は 10000行のメソッドというやつが、どれだけ酷いことをしているかの自覚すらない、ということでしょう? そう言う話ならばそんな方は辞められたほうが、お客様も同僚も、そして多分ご本人も幸せになれるのじゃないかな、と思いました。

余談ですが、このエントリを読みながらわたし、バケツウランを思い出してしまいました。あんな事故が起きるをわかってればだれだってやりませんよね?でも、どれだけ酷いかが わからない人はそれをやっちゃうという構図に、そこはかとなく似ているものを感じたり。

・・というところでマイクをスタジオの JavaBlack さんにお返しします。

その333

アメリカ人がみた、「日本の女子高生とガジェット文化」について | ギズモード・ジャパンをみて、そういえばポケベルとtwitter って似てるよね、と思っていたり。

その334

プログラミン がいい感じです。見た目は EToys や Scratch っぽいけれど、まだちゃんと弄っていないので、何処まで似ていてどこら辺が違うのか把握していません。なので、週末いじれたらいいなー、と思います。

ちょっと見したところ、下のドック風の中に「プログラミン」という生き物チックなタイルが居るのが売りっぽい?タイルスクリプティングはタイルを探し出すノウハウを身につけるまでが壁なので、取っつきやすくていいかもしれません。ただ、数が限られているので 自由度はEToysやScratchに比べてどれくらいなのかはちょっと気になります。

ところで、この「プログラミン」を自分で作ることはできるのかな?(出来れば凄く面白いかとおもったり)

追記

とかなんとか書いた舌の根も乾かないうちに、適当にこんなの作って遊んでいるわたし。本当に我ながらこらえ性がない...。


プログラミン | 文部科学省

何もやれてない、プログラムというのもおこがましいモノですが、「イッペンニン」が(並行プログラミング的な意味で)面白げかな?と思って無理やりつかってみたり。お子様みたいにあれもコレも詰め込んで、全体では何にもなっていないという...。

条件分岐が見あたらないとか、変数をどうすればいいのかわからないとか、まだ右も左もな状態で、何がどこまで作れるかのイメージがいまいちついていないのですが、はてさてフフ〜。

(てか本当に何もできない....orz / 絵がタートルでない*1とか新世界すぎで、本当に「右も左も」わかんない / 似てるのはタイルだけかも?)

追記の追記

サイトの「凄いサンプル」とかをみても、何も出来ない印象は変わらない。あれー?

今のところ、これをつかってどういう風に子供達の教育に用いるのかのイメージが、わたしには今のところ全然つきません。んー、最初のよさげな印象と打って変わって、だんだんと「これ大丈夫かな?」という気もしてきました。

わたしの理解が足りないだけ or プログラミンがまだまだアルファ版 ということだと良いのだけれど。

その335

「プログラミングと教育」つながり。

プログラマは論理的思考にも慣れているというイメージはけっこう定着しているけれど、抽象の取り扱いにも慣れているってことはあまり畑違いの人には思われていない気がします。

この二つはプログラマの大切な武器だから、日々使って研ぎ澄まされている、・・・と思います。あ、でも論理的思考は主にデバッグで培われるけれど、抽象の取り扱いは設計やリファクタリングで必要とされるので、「動けばいいや」とか「動いているものはいじらないで」的な発想が蔓延している環境にいると後者は鍛えられる機会がグンと減るかも。

・・・と、ちょっと脱線しましたが、プログラミングで鍛えられるこの二つの力のうち、「プログラミングと教育」の方向だと、やっぱり論理的思考の方に偏ってるような気がしてます、というのが今回のネタ。

論理的思考の育成――自分の中の考え(認識)をデバッグする力は、「学習する」という行為に対する土台で、基礎体力です。また、そのトレーニングは「何かを理解しようとする」過程において行われるため、良い循環になります。プログラミングを教育の道具に使うことは、「思考のデバッグ」と「学習」の相性の良さから、とても良いことだと思います。

一方で、抽象化の方はあまり教育の文脈では重要視されていないように感じがするのですが、気のせいでしょうか。例えば、教育用言語の抽象化機能ってあんまりリッチじゃないような印象があります。

もっとも、抽象化はなれるまで扱うのが難しいし、学習の道具自体に苦手意識を持たれてしまったら本末転倒ですし。だったら、一兎を追うものうんぬん..ってことかしら、と想像するのだけれど、本当の所はよくわかりません。

ただ、微妙にもったいないような気がするのですよね。

その336

ニコンのD3100が気になります。

D3000のまっすぐな後継機というよりは、斜め上のランクを狙ってきた感じで、いままで Kiss X 系には D5000D3000 のタッグで戦っていたのが、今回は単騎でいけそうかも、と思わせる感じにビックリです。(D5000の後継の居場所はあるのか!?)

外観的には、ドライブモードレバーとライブビューレバーが増設されていて、コストUP につながりやすいレバー類を増やしてきたあたりに驚きです。なんか使いやすそう。特にライブビューレバーは、ニコン他機種のボタンによるトグル動作よりも直感的でいいかも、と思います。

サイズ的には縦横は微妙に縮めてきてますが、奥行きが 10mm 伸びいるのが不思議です。D3000と写真を見比べてもどうしてもそんなに伸びたようには見えないですが、グリップかな?それともマウント部がさらに前方の飛び出したのかしら?これは実物で確認したいところ。

ガイドモードは正直わたしには必要ないのですが、けれど、ライブビューとセットで初めて生きる機能だと思っていて(初心者にはインタラクティブなほうが絶対分かりやすいから)、そう言った意味でD3100のには興味があります。こうするとこうなる(例えば、絞りを開くとボケる)などがその場でリアルタイムに変化する様子が見れたほうが絶対にいいです(NEX の「背景ぼかし」は良い手かも、とおもったり)。・・ただ、そんなふうに実装されたかはよくわからないのでこれも実物をお楽しみに、です。

なにげにポイントが高いのが、ファインダーに液晶を重ねてこなかった(と思われる)こと。格子線表示機能こそオミットされてしまいましたが、反面 ファインダの見やすさはかなり良くなるハズ。特に明るさギリギリで、スクリーンをスケスケにしているペンタミラー機では、「紙一重」の紙一枚になるかもと思ったり。

その他にも見てくれでは、背面にラバーグリップをつけたり、「D3100」というラベル周りをなんだか立体的にサイバーに仕上げてきたり*2と、全体的にディテール過剰な「カッコ良い(男の子向け)」方向に変えてきているのは、そういう層も狙っているからかな。

個人的には、もうちょっとデザインがかわいい路線だと好みなのですが(D40みたいに)、でも実物みると印象が違うかも。

9月が待ち遠しいです。

その336

今月の日本カメラで始めて知ったのですが、LOMO LC-A (LC-A+) を インスタントカメラにするアクセサリーが出たそうな。


http://japan.shop.lomography.com/cameras/a-a-a-a-a-a-a-a-a-a-a-a-a/instant-back-2/lc-a-and-instant-back-love-kit

なんというデンドロ。2月くらい出たらしいのですが全然知らなかったです。

特筆すべきは、LC-A の モーターワインダー用のカプラを使ってシャッターチャージを行うこと。実は LC-A ってカプラはあっても肝心のワインダーなんて製品化されていなかったので(ソ連らしいなぁ)、今回初めて有効活用することに。何十年寝かされていたのやら。

・・とはいえ、わたしの LC-A は後期型で、このムダなカプラが無くなっちゃってるモデルなので、装着が出来ない・・というかかなりやりづらい(オーキスインスタントパックに邪魔されて 巻き上げノブ大変回しにくい)らしいので、ちょっと悔しいなぁ。

1万円くらいなので、飲み会装備としてもお手軽ですし、欲しいのですが、どうしようかな。(LC-A+も一緒に買うべき?)


http://toycam.imaimax.com/modules/smartsection/item.php?itemid=136

*1:絵の向きを回しても進行方向が変わらないデスよ?この手のツールでタートル幾何学じゃないのは珍しいかも

*2:もっともこれは製造上の都合――D3000/5000から型番が長くなって、こういう小型ボディですとラベルをボディに添わせてぐにゃっとカーブさせて貼らなくちゃならなくなったのだけれども、それが「貼るのが大変」とか「温まると剥がれやすい」とか、あったのかもしれない