プログラミングの「楽しさ」とは 75
ストーリー by hylom
人それぞれ 部門より
人それぞれ 部門より
あるAnonymous Coward 曰く、
プログラミング言語Rubyの創始者であるまつもとゆきひろ氏が、転職サイトDODAのインタビュー記事にて、Rubyを生み出す過程で考えていたことを語っている。
氏はプログラミングの楽しさについて、
ペットの犬が『お手』をすると可愛いと思える。それと似た感覚。自分がプログラミングした通りに数字を表示するのが可愛い。自分がプログラミングを間違えると、やはり間違えた通りに動く。それも可愛い。
と述べていう。Rubyの開発については「趣味だから長く続いた」とし、最大のハードルはRubyの開発初期、プログラムが動かせるようになるまでの半年間だったという。
楽しさの形容 (スコア:2, 興味深い)
bit悪魔の辞典だったかに
「プログラミングとは服を着たままできる最も楽しいこと」
書かれていました。
パズル系のゲームと同根の楽しさだと思っていたのですが、
他の方のコメントに、親バカという言葉が出てくるあたり
子作りとも共通する部分があったんですね。
golangが楽しい (スコア:2)
最近golangが楽しいっす
PHPとかJavaとかC#とか言語仕様の追加&追加でどの言語も似たような感じになってるような気がしますが
あえて削って削って独自仕様な感じだけど、結果言語仕様が小さくてすぐ使えて並列処理も簡単に実装できるっ
ぼくのペットはルビー色 (スコア:1)
ただの親ばかじゃねえか…?
Re:ぼくのペットはルビー色 (スコア:2)
ジュエルペット?
Re:ぼくのペットはルビー色 (スコア:1)
いいじゃない。その親バカで育ったのがRubyなら。
Re:ぼくのペットはルビー色 (スコア:1)
Rubyはお手するからかわいい、って主張なら親バカだが、
プログラムはペットみたいにかわいい、って主張は親バカとは違うだろ。
いずれにしてもバカだとは思うけど。
Re:ぼくのペットはルビー色 (スコア:1)
まあ、確かにバカだとはおもう。
しかし、そのバカさがなければゼロから何かを造り出すのは難しい。
批判しているだけなら失敗することもないし、とてもお利口さんでいられますね。
でも、何も生まれて来ないよ。
Re:ぼくのペットはルビー色 (スコア:4, 参考になる)
薩摩の教え 「男の順序」
一、何かに挑戦し、成功した者
二、何かに挑戦し、失敗した者
三、自ら挑戦しなかったが、挑戦した人の手助けをした者
四、何もしなかった者
五、何もせず批判だけしている者
Re: (スコア:0)
結果として成功だったけど、細かく見ていくと失敗していたところがある。
結果良ければすべてよしで満足していると成長しない。
Rubyだって、バージョンアップで後方互換がなくなったりしてるけど、それは失敗だったと思われたから変更された機能だと思う。
失敗は必ずあり、それをどうリカバリするか、これから起こさないためにどうすればよいか、考えて実行することで成長していくんだと思う。
蛇足。
失敗しないってことは、つまり理想や目標が低いんだよね。
1億円稼いでも、目標が1000万なら成功だし、10億円なら失敗だし。
Re: (スコア:0)
蛇足にだけコメントするけど、
理想や目標が低いのは悪いことじゃないと思う。結果が同じなら。
目標が1000万だろうが10億だろうが、1億円稼いだって結果は同じ。
大事なのは結果であって、結果が同じなら理想や目標はどうだっていい。
高すぎる理想や目標はむしろ良くない結果を招く元凶だと私は思いますけどね。
Re: (スコア:0)
高すぎるのは確かにダメですね。現実が見えてない。
例えが高額すぎたねーごめんなさい。
結果から書いたのもいけなかったかな。
目標が1億円だったら、1億円を目標に頑張る。だから1億円稼げた。
でもこの目標が8000万だったら?人によっては、8000万稼いで満足するかもしれない。
あなたは目標が500万でも、それ以上の稼ぎを出せる人なのかもしれないですね。
でもそんな人よりも、最初に目標を高く設定し、その理由を説明できる人のほうが評価されるとおもいますよ。
失敗しても、低い目標での成功だったら、失敗よりも稼ぎが少なかったのかもしれないですし。
そしてこれは社畜の意見。
Re: (スコア:0)
何もしなければ失敗はしないだろうが
そんなやつはこの世に存在する価値は無い。
食べるものは誰かが生み出しているんだが?
何かを生み出すことが必要ないと思うなら
ご飯食べるのやめてさっさと餓死してくれ。
Re: (スコア:0)
こういう発言を真顔で出来る人がいるのに驚いた。
いくら年を重ねても驚きはあるんだな。
失敗しないことが大事なら、なにも目標も立てず目的も持たず行動も起こさなければいいね。
Re: (スコア:0)
僕は逆。
ゼロから作り出したもの以外は認めない。
現実はそれだけじゃ無理だから渋々認めているけれど。
Re: (スコア:0)
精子と卵子という、すでにあるものから作られた自分の存在を全否定ですか。
Re: (スコア:0)
/.-Jerの8割はコーダーです。
スクラッチから創り出すことは許されません。
Re: (スコア:0)
自分の失敗に気付ける人は、優秀な人です。
能力の足りない人は失敗があったことに気付けない。
そして同じ失敗を繰り返さないように自分を制御できる人が、成長できる人です。
Re: (スコア:0)
最近の若けーもんは、そのために、わざと失敗に気づいて
繰り返さないように努力するんだよな。
だから、本当に失敗しているときもあれば、失敗していないのに無理に気づいているときもある。
成長できる失敗っていうのは、その瞬間はすがすがしく、さしあたって打つ手がない負け方をするんだよ。
なぜなら、自分が伸びるってことは、その前に今の自分の全力が出切るってことだから。
それ以外の失敗は、「知らない自分の再発見」でしかない。それは、ご承知の通り「スイーツ」食べながらで十分可能。
すがすがしい負け方をした後、そこで降りるもよし。でも続けると伸びる。
Re: (スコア:0)
もしかして「まつもとゆきひろ」さんって嫌われてるの?
あの発言内容のどこに叩かれる要素があるのか分からないんだが。
趣味で続けていることなら、どこかに何がしかの楽しみは当然見出してるだろ。
それが「可愛い」か「楽しい」か「面白い」かの違いなだけで。他にもあるかもしれんが。
満足感、達成感、征服感、支配感、全能感。そういうのとか?
仕事で嫌々やってる人にはカチンとくる内容なのか?
Re:ぼくのペットはルビー色 (スコア:1)
むしろ、愛されている方じゃないですかね?
そこらの聞いたこともないようなプログラマが同じこと言っても、
「ふーん」
で終わるところでしょう。
rubyを作り上げた、とみんなが知ってるまつもと氏だからこそ、
「あのrubyをペット扱いかよ!?」ってツッコミができるわけで。
Re: (スコア:0)
親バカとかここで言うバカってどっちかって言うと賛辞だと思ったけど違うのだろうか。
それはそれとして、仕事に限らず、嫌いなものを嬉々として語られるとカチンと来るのが普通の人でしょう。
猫派の俺 (スコア:1)
自分にとって未知の分野に手を出す。
→ 四苦八苦してるうちが楽しい。
→ 習得して自分の思い通りに動くと飽きる。
Re:猫派の俺 (スコア:1)
ぢつは私も猫派なんだが、似てるわ。
厳密には、調べることが楽しいんだけど、期待どおりに動かすのは興味が無い。かな。
猫が居るとね、
・PC使ってるとマウスにネコパンチ。
・モニタ見てるとキーボードに乗って、私を見ろと。
・PCばらしてるとケーブルを噛もうと狙っている。
#だからネコ優先
組み込みから始めた (スコア:1)
ラジコンにカメラつけて走らせてたあの頃が懐かしい。
#何を撮影したかは内緒。
なぜかWeb系の仕事に就いてしまいましたが。
/.jで検索してもスラドが出ないからbingはダメなんだよ
Re:組み込みから始めた (スコア:1)
>ラジコンにカメラつけて走らせてたあの頃が懐かしい。
...
>なぜかWeb系の仕事に就いてしまいましたが。
次は、webカメラにラジコンつけて走らせてみたらいいかも。
#既にやってそう
Re:組み込みから始めた (スコア:1)
ごくふつうに走るよりも「這い寄る」ほうがいろいろダメな方向性が見えてきてはやったりして。
Re:組み込みから始めた (スコア:1)
>ごくふつうに走るよりも「這い寄る」ほうがいろいろダメな方向性が見えてきてはやったりして。
多脚かスネーク型から発展させれば災害時にも活躍間できそうでいいな。
#そっちだとダメな方向じゃないか
Re:組み込みから始めた (スコア:1)
>ごくふつうに走るよりも「這い寄る」ほうがいろいろダメな方向性が見えてきてはやったりして。
多脚かスネーク型から発展させれば災害時にも活躍間できそうでいいな。 #そっちだとダメな方向じゃないか
キャタピラで段差を乗り越えながら走らせてました(´ω` )
#ダメな方向?スピーカーつけて、うー(ry
/.jで検索してもスラドが出ないからbingはダメなんだよ
やっぱり難しいからかな (スコア:1)
プログラミングは兎に角難しいんですよ。
学問として確立されている面もあるけど、理屈通りに行かないことも多々あって
七転八倒して何とかコードを洗練させていくけど、やっぱり納得いかないところもあって
次は別のアプローチでやってみるかと考え続ける事が楽しいと思う。
Re: (スコア:0)
いや、そのりくつはおかしい。
Re: (スコア:0)
「設計」って概念が無い人のコーディングは、
それこそジグソーパズル的な娯楽でしょうね。
Re:やっぱり難しいからかな (スコア:1)
Re:やっぱり難しいからかな (スコア:1)
> 自分の考えた理屈通りに行かないときは,理屈通りに行かないことがあるんじゃなくて,
いや、自分で考えたなんて一言も言ってないけど…
あなたは理屈通りに行かないことを経験してないようですが、当然既知(?)の理屈が
通用しないような難解な事なんて沢山あって、それで自分なりに考えるけど間違っていて
七転八倒するわけだ。
理屈通りに行かないってそういう事じゃないの?
Re:やっぱり難しいからかな (スコア:1)
自己満足と車輪の再発明が原動力 (スコア:1)
だと思うんだ。
子どもは積み木で同じものを何度でも作ったり壊したりする。
でもそのことを否定的に言う大人なんていない。
自己満足と車輪の再発明は、しばしば批判の対象にされる。
自己満足は大勢満足の必要条件だと思うので、自分自身が満足しないものは、他の大勢を満足させることはあまりない。
でも現実社会の仕事では、コストやスケジュールなどの制約もあって、自分が満足しないものを、顧客に提供しなければ
ならないこともある。そういうことを繰り返していくと、プログラミングが楽しくなくなると思う。仕事も生活もつまらなくなってしまう。
たとえ自己満足であってえも、その積み重ねは、技術力の蓄積につながり、よりよいものを作り上げることができるようになる。
自己満足の積み重ねで鍛え上げられたエンジニアは、実戦投入されると、超人的な技術力を発揮するか、趣味に走るかのどちらかだろう。
後者は困った存在だが、前者は企業にとって貴重な人材となるだろう。自己満足の達人はコストやスケジュールの壁を乗り越えるだけの
力を発揮することができるので、趣味と仕事の両方で好循環が生じる。
先に、自己満足は大勢満足の必要条件と書いた。でも必要条件であって十分条件ではない。
趣味の範囲以上の視野を持たない、育ちの悪いエンジニアは淘汰されるしかない。
自己満足という単語に、悪いイメージが付いてしまっているのは残念だ。自分が納得すると言い換えた方がいいかもしれない。
車輪の再発明も悪いことばかりではない。車輪にはばらつきがあるので、ほとんど同じものが既存していても、
ちょっと性能が悪いとか、ちょっと使いにくいとか、思い通りの車輪が手に入ることは、意外と難しい。
自分のニーズに合ったものを自作したくなってしまうのは、趣味人の性だ。
車輪の再発明を成し遂げることは、最高の自己満足である。そうして得られる技術力は、他に代えがたい計り知れないものだと思うのだ。
ブルックスいわく5つの楽しさがある (スコア:1)
人月の神話の最初の方に、「プログラミングが楽しい理由」として5つの理由が挙げられていました。まんま今でも通用すると思います。
http://d.hatena.ne.jp/auient/20131121/1385052563 [hatena.ne.jp]
開発にはC言語を使ってるわけだから (スコア:0)
C言語が楽しいってことじゃん
Re:開発にはC言語を使ってるわけだから (スコア:1)
RubyはRuby本体のみでできているわけでは無く、添付ライブラリもあって、その中には、Rubyで書かれているものもあるよね。
Re: (スコア:0)
いや、まつもと氏がやっているようなコアの部分のライブラリはほぼCですよ。
てゆーか、もともとの話がRubyが楽しいっていうポジショントークじゃなくて、プログラミング自体の楽しさを語ってるんだから、
なにもうがって読むことはないでしょう。
Cも楽しい、Rubyも楽しい、みんな楽しい。ピース。
Re:開発にはC言語を使ってるわけだから (スコア:3, 参考になる)
> プログラミング自体の楽しさを語ってる
日経Linuxで「まつもとゆきひろの言語の世界」という連載(最新3月号の第10回で完結)があるのですが、
毎号毎号、違うプログラミング言語を紹介していて、それを読んでると「プログラミングを楽しんでいる」という想いがひしひしと伝わってきますね。
Re: (スコア:0)
_人人人人人_
> 突然のC <
 ̄Y^Y^Y^Y ̄
Re: (スコア:0)
「子供が欲しい」と「子作りがしたい」
ぐらい違うと思う。
私のプログラムは (スコア:0)
いつも大事なところでこける
でも後悔していない
Re:私のプログラムは (スコア:1)
娘と孫には叱られた?
Re:私のプログラムは (スコア:1)
叱ってくれるのはコンパイラ
違いの大きさ (スコア:0)
「自分がプログラミングした通り」云々というところ。
ほとんど同じことを何度か言って来たけど、彼が「可愛い」と言うのに対し自分は「面白い」だった。
それも違いなんだろうか。
簡易言語はいくつか作ったが、独立した開発言語を作る方向には結局行かなかった。
趣味も入れれば30年、必要に応じていろいろ作って来たわけだけど、その「必要」の大きさも段違いなんだろう。
まあそもそもそれ以前に、才能が違うのだろうけど。
魔法のようなところが楽しい (スコア:0)
からっぽのテキストエディタに自分のアイデアを展開し、無からプログラムを生み出す様が魔法のようでほんとに楽しい。
# 開発環境やハードウェアリソースなどは置いとくとして。
答えが多いこと (スコア:0)
同じ処理でも、書く人によって処理方法や実行速度が違うのは面白いですね。
突き詰めるのが好きなので、他の人が手におえないものとかサジ投げたものを担当してます。
Re:Rubyも林檎と関わらなければ今でも・・・ (スコア:1)
リンゴに関わった影響がどのくらい効いているか不明ですが、
2012年に、プログラミング言語「Ruby」が国際規格ISO/IEC 30170 になりましたね、
日本発のプログラミング言語がISO/IEC規格となったのは、Rubyが初めてだとか。
同じ年、プログラミング言語の人気順位の指標の一つ
The RedMonk Programming Language Rankings で、Rubyは 5位になったりしてます。
もっとも、同じランキングで 2014年1月では、Rubyは 7位に後退しています。
別の人気指標である TIOBE Index だと 2014年2月は Rubyは 12位です。
時期とか指標に依って Ruby は、C言語に勝ったり負けたりしていますが、近い位置にいて
勝てない相手は、Python ですね。もっともPython はまだ国際規格化されてないようです。
-----
いやーまったく落ちぶれたものです。リンゴと関わりを一切もたなかったら
今頃 Ruby がプログラミング言語の世界を統一していたでしょうに。
Re:GOD感 (伝わらない日本語 (スコア:1)
自分で勝手に(ここ重要)、俺言語や俺OSを作ってる時の楽しさって、ドラゴンボールの新しい光線技を妄想してる時の恥ずかしさや楽しさに似てる気がします。
「ピッコロの生き別れの従兄弟ポッコロ登場! 必殺技で魔貫Go殺法スペシャルというのがあってだな… ポーズはこうだ。これは超つよくてベジータも一撃という伝説なんだずぇ…」とか妄想してる時の楽しさ&恥ずかしさに近い種類の暇つぶしな気がします。ひとには見せられません。
俺言語を作る楽しさは、オリジナル必殺技を考えてる時の楽しさに近くて、それはある種、中2的楽しさなので、すわなち、だから後でコード見返すと恥ずかしかったりもしますし、他人へ公開したいような、したくないような、揺れ動くそれなのでしょう。
ゾクゾクするのもわからなくもないです。
オラわくわくしてきたぞ。
ワクワクもします。
ただし遊びの場合に限る。
仕事となると、もうちょっと別の感情も混じってくるのかもしれませんが、そこはよく知りません。