消えてなくなれよ > ..
[2ch|▼Menu]
331:デフォルトの名無しさん
09/03/06 02:42:27
最初にオブジェクト指向から入った人には
オブジェクト指向が普通で、そうじゃない物を使う人が変に見えるだろうな
意外とこういう人多いんじゃ無かろうか
それと、分業させるのがOOだと楽ってのもあるんだろうな

332:デフォルトの名無しさん
09/03/06 05:29:29
そうでもないみたいだよ

333:デフォルトの名無しさん
09/03/06 07:18:34
ここで言ってるOOって、結局は手続き型ベースのOOPLばっかりで、
関数型ベースや論理型ベースについては皆さん無知ってことで。

334:デフォルトの名無しさん
09/03/06 07:51:30
道楽じゃないんでね。

335:デフォルトの名無しさん
09/03/06 12:14:41
ほんとに、昨今のオブジェクト指向だけが正義みたいな風潮やめてほしいなぁ。

336:デフォルトの名無しさん
09/03/06 12:18:08
抽象化の手法はOOP派生のアプローチだけじゃないのは確かだけど、
現在主流となってる言語でできるのは大概それぐらいしか無いから仕方ないね

337:デフォルトの名無しさん
09/03/06 12:30:31
>>336
Haskellとかは全く違うスタイルなんだけど。

338:デフォルトの名無しさん
09/03/06 12:31:34
てか、F#とか最近流行ってるやん。
あれは関数型言語だからオブジェクト指向スタイルじゃないよね。

339:デフォルトの名無しさん
09/03/06 12:47:00
HaskellとかF#の案件がperlとかCとかJavaの案件以上にないと主流とは言えません

340:デフォルトの名無しさん
09/03/06 13:00:40
Haskellにもclassあるけどな。

341:デフォルトの名無しさん
09/03/06 13:03:02
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

342:デフォルトの名無しさん
09/03/06 13:03:53
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

343:デフォルトの名無しさん
09/03/06 13:04:55
340 :デフォルトの名無しさん [↓] :2009/03/06(金) 13:00:40
Haskellにもclassあるけどな。

344:デフォルトの名無しさん
09/03/06 13:07:07
>>340
なんという釣りw

345:デフォルトの名無しさん
09/03/06 13:26:19
ん?haskellにもtype classがあるだろ。class typeじゃないけどw

346:デフォルトの名無しさん
09/03/06 13:49:29
世の中の案件が全て消えてなくなればデジドカも消滅するしOOPも要らなくなる

347:デフォルトの名無しさん
09/03/06 13:59:38
プログラミング系の学校では、OOはどのくらいの行程で勉強し始めるのかな
学校ではやはりOOは重要みたいな教え方なんだろうか

348:デフォルトの名無しさん
09/03/06 14:01:41
わんわんにゃーにゃー共通化
名詞抽出
デザパタを覚えてそれを雛形にして当てはめましょう


349:デフォルトの名無しさん
09/03/06 14:02:13
>>347
それどころじゃない。
教科書(それも低レベル過ぎるやつ)
を入力させて教えた気になってる。
●馬の高●にある●ューティーの隣。

350:デフォルトの名無しさん
09/03/06 14:10:23
また言語論争か
OOは言語とは関係ないとあれほど

351:デフォルトの名無しさん
09/03/06 14:33:33
>>350
関係ないわけがない。
オブジェクト指向でプログラミングするために作られた言語はオブジェクト指向でプログラミングしたほうが自然にかける。
○○するために作られた言語は○○につかうのが一番自然なんだよ。
当たり前のこと。

352:デフォルトの名無しさん
09/03/06 14:37:11
人の作った「当たり前」は疑うべし

353:デフォルトの名無しさん
09/03/06 14:38:56
当たり前のことが出来ない言語は出来損ないの言語

354:デフォルトの名無しさん
09/03/06 15:14:31
プログラマとかってガンダムOOみても
「あ、オブジェクト指向」とか反射的に思っちゃうわけ?

355:デフォルトの名無しさん
09/03/06 15:16:34
javaやrubyなんて明かに意識して作られてるし
C++は斜め上だけど


356:デフォルトの名無しさん
09/03/06 15:17:20
C++だって20年くらい前はCにクラスがついただけのような素朴な言語だったぞ。

357:デフォルトの名無しさん
09/03/06 15:40:48
おれもはじめは 「オブジェクト指向」 ってヤツになかなか慣れなかった。
C言語にまだ 「プロトタイプ」 やら 「void」 が無かったころの人間なんで・・・

「オブジェクト指向」 の何が嫌いかって、それはだな、
他人の書いたソースコードを追いかけるのに、上を見たり下を見たり
あっちこっち飛ばなきゃならんってこと。
プリンター用紙に印刷して赤ペンで印を付けながら卓上デバッグすんだぜ。
すんげ〜〜〜大変だよ。

今はすぐれた統合開発環境IDEがあるから、キーボードのファンクションキーを押すだけで
ソースコードのあっちこっちへ飛ぶことができて楽に追っかけられるようになったが。
そうでも無けりゃやってられないよ、オブジェクト指向なんて。
言語単体だけじゃダメだ。オブジェクト指向言語は統合開発環境とセットで評価すべき。
そう思た。

358:デフォルトの名無しさん
09/03/06 16:12:03
なんで赤の他人が作った仕様書も残ってないクラスを解析するとか言う
トンデモな世界を当たり前のように語っているんだ?


359:デフォルトの名無しさん
09/03/06 16:14:47
コードが仕様書です(キリッ!!

360:デフォルトの名無しさん
09/03/06 16:41:37
>>357
つ Smalltalk

361:デフォルトの名無しさん
09/03/06 16:45:37
>>357
それ、手続型でも同じですから。

362:デフォルトの名無しさん
09/03/06 16:47:59
>>358
オブジェクト指向と言いつつ、なんやかんやで
結局、そのクラスがどう言う実装してるかまで追いかけないと、
発生した障害が解決しないんだよね・・・

363:デフォルトの名無しさん
09/03/06 16:52:41
中身を意識させないためのカプセル化(笑なのに見る必要性がでてくるという本末転倒な
せめて明確な事前条件、事後条件、不変条件ぐらいは確立させてドキュメント化しておくべきなんだけど
そういう事に言及している解説書の少ないこと

364:デフォルトの名無しさん
09/03/06 17:22:09
>>362
幸せになりたいなら、他人のコードを追いかけないこと。
多少処理が重複して無駄が出来ても気にするな。

365:デフォルトの名無しさん
09/03/06 18:26:29
いいな、殿様ショウバイは。うらやましいよ。

366:デフォルトの名無しさん
09/03/06 19:20:08
>>357
規模が大きいと自分で書いたものまで分からなくなりますからw

367:デフォルトの名無しさん
09/03/06 20:09:28
結局、何で書こうと人間の頭で把握できなくなったらそこで終わりだしね。


368:デフォルトの名無しさん
09/03/06 20:18:59
ここにいる奴に存在するのか聞きたいんだけど、
UML書けない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

369:デフォルトの名無しさん
09/03/06 20:21:37
ただのお絵かきにご大層な名前つけなくてもいいのに。

370:デフォルトの名無しさん
09/03/06 20:36:50
>>361
というのがまるっきり理解できない莫迦ほど
>>357 みたいなトンチキな批判を繰り返すんでしょ。

371:デフォルトの名無しさん
09/03/06 20:45:16
普通に考えてUMLのかけない奴なんていくらでもいるだろ
描く必要の無い人間の数と同じくらいいる




372:デフォルトの名無しさん
09/03/06 20:48:06
いや、Cは一ヵ所見ればいい。
単純な関数()+1とかでも底が見えないのがC++なのは事実。

373:デフォルトの名無しさん
09/03/06 20:50:10
UMLって別に大げさに考えるほどのものでもないけど、
必要なら描き方を覚えるぐらい誰でも出来るんじゃないの?

374:デフォルトの名無しさん
09/03/06 21:05:17
ここにいる奴に存在するのか聞きたいんだけど、
フローチャート書けない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

375:デフォルトの名無しさん
09/03/06 21:37:44
>>374
何も見ないでは正確に書けないけど。

四角と矢印ぐらいならかける。

376:デフォルトの名無しさん
09/03/06 21:54:31
ここにいる奴に存在するのか聞きたいんだけど、
風呂に一週間以上入ってない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

377:デフォルトの名無しさん
09/03/06 21:57:58
オブジェクト指向だけだと、Object-Oriented って形容詞句だから意味が定まらないよね
OOP か OOD か OOA か(まだある?)

378:デフォルトの名無しさん
09/03/06 21:58:56
ここにいる奴に存在するのか聞きたいんだけど、
86系のマシン語すら理解してない奴ってどれくらい居るの?
必要・不必要論は抜きとして。

379:デフォルトの名無しさん
09/03/06 22:00:25
>>1
closureって何なの?

380:デフォルトの名無しさん
09/03/06 22:45:00
>>368
ここにUML書ける奴どころか読める奴すらいないようだな
どいつもこいつも言語の話に終始
UMLでアクティビティやコンポーネントを見た上で、
インターフェースを設計してるなら言語の話なんかする必要ないからな
設計のままクラスとインターフェース作ればいいんだから

381:デフォルトの名無しさん
09/03/06 22:50:37
UMLどころかデザパタすらシラネ

382:デフォルトの名無しさん
09/03/06 22:55:02
ここにいる奴に存在するのか聞きたいんだけど、
Z読み書きできる奴どれくらい居るの?
必要・不必要論は抜きとして。

383:デフォルトの名無しさん
09/03/06 22:57:57
UML書ける出来る、と言ってるヤツの設計のまま作ると、
なぜか>>362とかみたいになるのだよ。

本当にオブジェクト指向で作ると安全で保守しやすいモノが出来るのか?

384:デフォルトの名無しさん
09/03/06 23:22:21
>>380
いや、そんな読めるとか読めないとか低レベルなことを気にしてるのはお前ぐらいのものだろw

385:デフォルトの名無しさん
09/03/06 23:25:41
UMLもデザパタも知らないけど>>362みたいにならないから設計の違いだと思われ

386:デフォルトの名無しさん
09/03/06 23:27:28
>>383
それは設計者の能力不足の問題であって、オブジェクト指向の問題ではないよな
オブジェクト指向はプログラマーよりも、むしろ分析者・設計者が学ぶべきことなんだよ

387:デフォルトの名無しさん
09/03/06 23:28:41
>>384
そんな低レベルなことを言われないようにお前はもっと学習しろ

388:デフォルトの名無しさん
09/03/06 23:48:01
カプセル化を今日Wikipediaみて再理解した
で、どうも府に落ちないことがあって、カプセル化と抽象化の違いをうまく説明できない
だれか恐ろしくわかりやすく文章化できるやついる?

389:デフォルトの名無しさん
09/03/06 23:50:57
抽象化=インターフェース抽出
カプセル化=利用する側から見えないこと

390:デフォルトの名無しさん
09/03/07 00:12:55
>>378
別に理解はしてないな。
マニュアル見れば使えはするが。

391:デフォルトの名無しさん
09/03/07 00:13:25
ここにいる奴に存在するのか聞きたいんだけど、
地図が読めない奴ってどれぐらいいるの?
たとえば、この記号。ちゃんとわかる?

    \             /
      \_  |   _/
          彡彡彡
          ミミミミ
         ミミミミ
         ノ σ ヽ
       / / ゚ヽ ヽ
      / //\\ \ 
       ( (     ) .)
      \ \\// /
       `  \/  '
\         *←─この記号
  \_____/\_____/

392:デフォルトの名無しさん
09/03/07 00:16:19
結局は機械語で書くのが一番

393:オブジェクト指向神
09/03/07 00:18:52
次代のポストコボラの諸君
せいぜい頑張って我を信奉するがいい

394:デフォルトの名無しさん
09/03/07 00:22:33
気象予報士って13歳でも受かるんだな

395:デフォルトの名無しさん
09/03/07 00:38:49
JavaでOOPしようとするのは、Windowsのメモ帳つかってプログラミングするくらい頭悪いわけだよ
なんでプリミティブ型があるんだよバカだろ
オートボクシングは便利だけど、本来それ自体が必要ないものなんだ
どんだけJavaが糞なのかみんなもっと理解すべき
その面倒な分だけスキルが上がった奴もいるのだろうけど、それ以上に糞コードが蔓延して、たくさんの人間が不幸になったわけだ

さっさと純粋OOPLが政治的、ビジネス的に普及してくれれば全部解決だろjk


396:デフォルトの名無しさん
09/03/07 00:42:15
業務系やオープン系のような「仕事」のプログラミングだと
結局保守性の良いコードってのは
value class と strategy に分ける形式になっていく気がするんだが、

それならオブジェクト指向でなくていいんじゃねーの?っていう。

397:デフォルトの名無しさん
09/03/07 00:47:32
オブジェクト指向とかあんまり関係なくてさ、
要は情報隠蔽してインタフェース駆動のプログラミングをしましょう
ってだけじゃね?

private な field と public な accessor を分けることで value class の情報隠蔽を実現して、
interface と implement を分けることで strategy の情報隠蔽を実現する
だけでいいんじゃないのかと。
データと振る舞いを一緒にカプセル化するっていうのは、
発想として面白いけど正直プログラミングモデルとしては複雑性を増してるだけな気がする

398:デフォルトの名無しさん
09/03/07 00:48:21
ここにいる奴に存在するのか聞きたいんだけど、
いちいち他人様を馬鹿にしないと気がすまない奴ってどれぐらいいるの?
必要・不必要論は抜きとして。

399:デフォルトの名無しさん
09/03/07 00:51:00
オブジェクト志向をいっさいつかわないということは1クラスに10万行くらい書いて納品するということ?
分担作業やりづれーよ
ていうかムリ

400:デフォルトの名無しさん
09/03/07 00:53:09
例えばJavaなら全部ユーティリティクラスにしてpublic staticなメソッド
だけで書けば分担作業出来るじゃん。

401:デフォルトの名無しさん
09/03/07 00:57:35
>>397
振る舞いを含めないのなら、カプセル化する意味ないんしゃない?
つまりゲッターとセッターの存在理由がないじゃん
コード量を5倍に増やしてるだけ
Step数的に必要?w

402:デフォルトの名無しさん
09/03/07 01:32:33
strategyパターンって何?それなんて高階関数?

403:デフォルトの名無しさん
09/03/07 06:58:47
>>395
Integer.toString(5);
とか馬鹿すぎ糞すぎアホ過ぎ

404:デフォルトの名無しさん
09/03/07 10:45:21
>>388
カプセル化 = 抽象化


405:デフォルトの名無しさん
09/03/07 11:10:10
>>404
氏ね

406:デフォルトの名無しさん
09/03/07 11:38:40
>>404
カプセル化 = 英語表音を取り入れたハイカラな呼び方
抽象化 = 漢語表記にした東アジア的呼び方


407:デフォルトの名無しさん
09/03/07 13:26:57
カプセル化 = データ抽象 = 抽象データ型 = ユーザーによるデータ型定義

408:デフォルトの名無しさん
09/03/07 14:23:42
>>404
抽象はAbstractionの訳として用いられるから、
カプセル化と抽象化をイコールで結ぶのは違和感がある。

409:デフォルトの名無しさん
09/03/07 14:25:57
カプセル化と抽象化は直交する概念だろ

410:デフォルトの名無しさん
09/03/07 14:55:55
カプセルか・・・
カプセルか・・・
カプセル怪獣!

411:デフォルトの名無しさん
09/03/07 15:02:16
カプセル化=インタフェースとその実装との関係での話。
抽象化=インタフェース設計での話。

412:デフォルトの名無しさん
09/03/07 15:10:06
抽象化 = いくつかの事物に共通なものを抜き出して、それを一般化して考えること
カプセル化 = 要約化, 簡約化すること


413:デフォルトの名無しさん
09/03/07 16:02:31
なんでもかんでもクラスにしようとする香具師は死ねばいいのに

414:デフォルトの名無しさん
09/03/07 16:30:23
カプセル化の目的は抽象化だけではないし、
抽象化はカプセル化以外にもたくさんある。

415:デフォルトの名無しさん
09/03/07 16:31:42
[1] 授業単元:オブジェクト指向講座
[2] 問題文(含コード&リンク):
1から9までの数字を縦横方向に同じものが並ばないように下記の例のように並べる
並べ方が全部で何通りあるかとその並びをすべて列挙する
[3] 環境:オブジェクト指向で解決すること
[4] 期限: 明日まで
[5] その他の制限:

534681297
685293714
948367125
153472869
426538971
261759483
817945632
379126548
792814356

416:デフォルトの名無しさん
09/03/07 16:40:23
はいはい未解決未解決

417:デフォルトの名無しさん
09/03/07 17:10:01
私は素人なんですが、一言。

プロの人でもよく分かってないことが多いのなら、
ホビイストとか日曜プログラマと呼ばれる層にとっては
OOは邪魔なだけになりやすいですよね?

昨今はオブジェクト指向じゃないと自然に書けない・・・というか
オブジェクト指向を半ば強要するような仕様の言語が多いですけど、
ダイクストラ流の構造化だけしか要求しない言語だったら、
「HSPも中途半端にしかできない」、「シェルスクリプトしか組めない」、
「わしは昔BASICで色んなもんを作ったんじゃよ」なんていう
素人でもそれなりの物を作れるはずです。

ところが、今日では計算機技術全般がプロ用になってしまっているため
ワードやエクセルで適当にやってみて、それでダメだとすぐ自力解決を諦めてしまう。
その結果、そのまま泣き寝入りするか、プロに無駄金払う人が増えています。
やろうと思えば自分でできるはずのことだったとしても。

418:デフォルトの名無しさん
09/03/07 17:15:41
オブジェクト思考は天才

オブジェクト思考は天才

419:デフォルトの名無しさん
09/03/07 17:16:57
>>417
> プロの人でもよく分かってないことが多いのなら、
> ホビイストとか日曜プログラマと呼ばれる層にとっては
> OOは邪魔なだけになりやすいですよね?

あなたはプロで、現場のことを良く知っている、という前提ですか?
それともソースは2chだけという にわかさん ですか?
後者なら、2chでオブジェクト指向がよく分からないと発言している人が素人だと私は言いますよ。

420:417
09/03/07 17:18:09
さらに言いますと、
プロの方にとってもOOが弊害になる場合が多々あるのではありませんか?
私の社内にいる情報系の人がC++で作ったプログラムを見て、
「何でこの程度のことをC++で書くんだろうか?」と疑問に思ってしまいました。

黙っている方が賢明だったかもしれませんが、見るに見かねて無駄を指摘し、
目の前でそのプログラムと同じことを、Bashの一行野郎でやってみせたら不機嫌そうでした。

何でもOOでやるのが当たり前、と考えるのは簡単なことを複雑にし、
普通の人の自己解決を妨げると同時に、プロにまで無駄を強いるのではありませんか?

421:デフォルトの名無しさん
09/03/07 17:19:56
>>419
いえ、OOが悪いと言ってるんじゃないですよ。
ただ、時と場合によるはずなのに、
「OOこそ専ら正義」であり、「それができない者もしくは好まない者は
プログラミングから排除されて当然」という風潮が変だと申し上げているだけです。

422:デフォルトの名無しさん
09/03/07 17:26:48
> 「それができない者もしくは好まない者は
> プログラミングから排除されて当然」という風潮

プログラミングから排除ってw そんな風潮あるの?

申し上げましょうか。
OOPのメリットを知るには非OOPの苦痛を知らなければなりません。
そのためには、非OOPの業務経験が必要だと考えられます。

OOPがいつでも役立つなどと言うものは、
おそらくOOPを理解していません。

同時に、OOPを理解するものは、
OOPを理解しないものを排除したりはしないでしょうが、
代わりに、経験不足を見て取ります。

423:デフォルトの名無しさん
09/03/07 17:31:29
>>413だけど、

> OOPがいつでも役立つなどと言うものは、
> おそらくOOPを理解していません。
激しく同意
ほんと死ねばいいのにね

424:デフォルトの名無しさん
09/03/07 17:50:34
>>421
とりあえずOOPとOODやOOAは区別して話すべきだと思うけど。

OOPに関しては、開発インフラと言うのも無視できないと思う。

例えば案件がJavaでのWebアプリ開発だったとして、Javaという
言語はもちろん周辺のライブラリやフレームワークも一応OOPに
乗っ取ったデザインになっている。
結果として開発するにしてもOOPの流儀に則るのが一番楽だし、
そこを無理に外すとかえって大変だったりあとから保守する人が
面倒を被ったりする。

イチからスクラッチで開発するのならともかく、実際はそうした既存
のライブラリやフレームワークといったインフラの上で開発する場合
も多いのだから、こうしたインフラが現在ますますOOPに基づいて
整備されている以上OOPを理解しないと仕事では辛くなるのでは?
と思う事はあります。

425:デフォルトの名無しさん
09/03/07 17:52:10
>>422
たまたま私の周りにいる人たちが変なだけかも知れませんね。
私の会社は医療サービス業なので、直接的にはプログラミングと関係ありません。
しかし、今時いかなる業種であろうともコンピュータと無縁ということは許されませんので、
いわゆるプログラマやシステムエンジニアと呼ばれる人々ともある程度関わらざるを得ないわけです。

現場サイドだけで使うCSV形式のデータベースを処理するごく簡単なシステムを
社内の情報系職員に依頼したら、「できません」と断られました。
開発に手間がかかりすぎるので外部に依頼すべきというのです。
ようするに面倒くさいから逃げただけなのでしょう。
で、とある業者に見積りを出させたら、開発に十数万円、保守が月数千円ということでした。
バカらしくなってしまったので、WindowsのインストールされたPCに
GNU BashとGawkを入れて、自分で作りました。
本当はUNIXやLinuxでやるほうがスマートなのですが、社内になかったので・・・

私はプログラミングなんてできませんが、たまたまシェルスクリプトをかじったことがあるので
こんな方法で解決できましたが、そうでなければプロにボッタくられるところでした。
大規模なプログラムを設計するには便利な技術であろうとも、それをあらゆる場面で強要するのは
我々普通の人にとって迷惑でしかありません。
いや、迷惑をかけられていることすら気づかずに、本当は自己解決できる程度のことに
大金を払い、感謝すらするのです。

426:デフォルトの名無しさん
09/03/07 17:57:39
でっかい釣り針が何本もみえるスレだなw

>>425 なんてオブジェクト指向となんの関係もない話じゃん。あほくさ。

427:デフォルトの名無しさん
09/03/07 18:05:49
>>425
自分で出来る事をプロに頼むのが間違い

証明写真をプロに撮って貰うのか、3分間写真で撮るのかってのと同じ問題だ


428:デフォルトの名無しさん
09/03/07 18:06:10
ぼくはぷろぐらむがかけるんだぞ
そとにいたくしたらなんじゅうまんえんもするしごとができるんだぞ
すごいでしょ
ほめてよ



あっそ

429:デフォルトの名無しさん
09/03/07 18:06:13
「クラスのオブジェクトのプロパティがメソッドでインスタンスだからぁ〜
ポリモーフィズムのインヘリタンスがカプセル化でぇ〜」
とか語ってる暇があったら、非OO言語でゴリゴリ書いたほうがマシなことは沢山あるけどな。

素人さんたちが、それすらやらなくなったのは確かに退化だと思う。
その原因の一つが「プログラミングは普通の人には難しすぎる」という刷り込みで、
さらにその原因の一つがオブジェクト指向なのは間違えてないだろう。

だからと言ってオブジェクト指向を目の敵にするのは変だけどな。

430:デフォルトの名無しさん
09/03/07 18:25:51
>>425
というかCSV形式のデータをゴリゴリやるのに今更awkというチョイスが
よく判らない。趣味?

perlでもpythonでもrubyでも、CSVをComma-Separated Valuesとして
扱ってくれるライブラリを持っている言語を使って書いた方が書く人も
使う人もあとで読まされる人も楽だと思うけど。
別にライブラリだけ使ってその後は手続き的に書いても良いわけだし。

431:デフォルトの名無しさん
09/03/07 18:30:34
BASICだろうがCだろうがコードを書いてる間に関数レベルで抽象化はするし
どうせ、抽象化するならオブジェクト指向に対応した言語を使ったほうが楽じゃん


432:デフォルトの名無しさん
09/03/07 18:32:49
なんかちょっとする時はRubyの一択だな。
>>425もcygwin入れてもっとラクしたらいい。

433:デフォルトの名無しさん
09/03/07 18:33:13
>>415
(define (oremove o l)
(if (pair? l)
(if (eq? o (car l))
(cdr l)
(cons (car l) (oremove o (cdr l))))
l))
(define (perm s)
(define n 0)
(define (perml f l y)
(if (pair? l)
(for-each (lambda(x) (perml f (oremove x l) (cons x y))) l)
(f (reverse y))))
(perml (lambda (y) (display (list->string y)) (newline) (set! n (+ n 1))) (string->list s) '())
n)

(perm "123456789")
123456789
123456798

987654312
987654321
=>362880

(* 1 2 3 4 5 6 7 8 9)
=>362880

434:425
09/03/07 18:36:47
>>430
それはプロ的な発想でしょう。
私はプログラミングの素養などありません。
単純にコマンド並べて動くものしか理解できません。
だから、他の言語で書いたほうが楽だとおっしゃられても
私には楽ではありません。

後でソースを読む人なんているのでしょうか?
プロとおぼしき人といえば、
別の部署にあてにならないシステム管理者がいるだけです。
私の部署にはプログラムを組める人なんて皆無ですし。

そんな状況でお金をかけずに解決するには、bashとawkくらいしか思いつかなかったんですよ。
awkは古いとお思いでしょうが、perlより覚えることは少なく、単純なプログラムなら
可読性も高いでしょう。
素人にはうってつけではないでしょうか?

435:デフォルトの名無しさん
09/03/07 18:38:29
フレームワークつかっててさ。
えれー使いにくいAPIと、えれー使いやすいAPIってあるじゃん。

そては何でか?ってのを、自分なりに考えてみれば
見えてくるものもあるんじゃないかと。

436:デフォルトの名無しさん
09/03/07 18:42:07
>>434
それはオブジェクト指向だ

437:デフォルトの名無しさん
09/03/07 18:47:43
他人がOOPで書いたプログラムは迷惑で、プログラムを作ってくれる業者はぼったくりで
自分はOOを覚える気はないので目の届く範囲に持ってこないでください
ってこと?何が言いたいの?

438:デフォルトの名無しさん
09/03/07 18:52:23
>>434は自分を基準としてものを考えるな。
別に変なことを言っているとは思わないから。

439:デフォルトの名無しさん
09/03/07 18:59:19
>>434
とりあえず総論としては「勉強すれば?」といったところですが。

>それはプロ的な発想でしょう。
でしょうね。実際にCSVをゴリゴリいじった経験のある人は、多分最初に
CSVには色々方言がある事について考えると思います。
単純なパーサーでは読み込めたCSVファイルが、誰かがExcel等の
ツールでちょっと編集した途端に扱えなくなる事は良くある事です。

そういう経験のある人はトラブルの可能性を先読みしてお馬鹿なパーサー
を手作りする前に既存の良い実装を探して再利用すると思います。

>後でソースを読む人なんているのでしょうか?

あなたが退職したり異動した場合は?

>素人にはうってつけではないでしょうか?

今さら感がプンプンです。テキストファイルを切り貼りする程度であれば
学習する手間に大差はないと思います。


個人的な範囲ではsedはともかくawkは使う機会が駆逐されたな〜。
ワンライナーもまずはruby、たまにsedぐらいなもので。

440:デフォルトの名無しさん
09/03/07 19:09:33
>>425
その時間に本来あなたがするはずであった業務は誰かが代わりをしてくれたのですか?
そうでなければあなたが自分の業務をさぼった時間で物を作った訳ですから全く評価されません
もしその時間とその成果物に見合うだけの追加費用をあなたが受け取ったのであれば
それはそれで結構なことですがそれは結局業者に払う金額と同じくらいであるべきだとは思いませんか?


441:デフォルトの名無しさん
09/03/07 19:17:52
気象予報士って13歳でも受かるんだな

442:デフォルトの名無しさん
09/03/07 19:29:46
「perlとawkの違い」
perlは簡潔明解で可読性が高い
初心者でも使いこなせる
だから、perlが普及するとプロの仕事が減ってしまう

#!/usr/bin/perl
$\ = "\n";

while (<>) {
chomp;
if (/^hoge.*/) {
print $_;
}
}

--------------------------------

#!/usr/bin/awk -f
/^hoge.*/{ print }

443:デフォルトの名無しさん
09/03/07 19:45:13
#!/usr/bin/awk -f
/^hoge/

444:デフォルトの名無しさん
09/03/07 19:55:57
grep使えって。

445:デフォルトの名無しさん
09/03/07 20:03:08
#!/usr/bin/perl
$\ = "\n";

while (<>) {
($Fld1,$Fld2,$Fld3) = split(' ', $_, -1);
if (/^hoge/) {
print $Fld3;
}
}

--------------------------------

#!/usr/bin/awk -f
/^hoge/{ print $3}


>>444
特定のフィールドを扱う処理だったらgrep使わんでしょ、普通
にしても・・・perlなんてワンライナーで使いたくねぇw

446:デフォルトの名無しさん
09/03/07 20:15:18
#!/usr/bin/perl
$[ = 1;
$, = ' ';
$\ = "\n";

while (<>) {
chomp; # strip record separator
@Fld = split(' ', $_, -1);
for ($i = 1; $i <= $#Fld; $i = $i + 1) {
$sum = $sum + $Fld[$i];
}
}

print $sum;

----------------------------------------

#!/usr/bin/awk -f
{ for (i = 1; i <= NF; i = i + 1) sum = sum + $i }
END{ print sum }


awkに比べてperlのなんとシンプルでエレガントなことかw


447:デフォルトの名無しさん
09/03/07 20:25:23
>>445
>特定のフィールドを扱う処理だったらgrep使わんでしょ、普通

だから>>442の作業だって。これなら何も考えずにgrep使う。

特定のフィールドを使うのであれば自分はruby使う。

ruby -ne 'puts $_.split[2] if $_ =~ /^hoge.*/'

ただ>>442の作業後に特定のフィールドを使いたくなったら、
流れ的にgrepとの合わせ技を使っていると思う。

grep "^hoge.*" | ruby -ne 'puts $_.split[2]'

>>446
ruby -ne 'print $_.split.join'

448:デフォルトの名無しさん
09/03/07 20:35:34
perlのオブジェクト指向の機能って、
無理やりとって付けたような感じで
変態的だよな

449:デフォルトの名無しさん
09/03/07 20:38:18
なんか話がオブジェクト指向から離れてきているようなキガス
まぁ、ワンライナーだったらAWKもありなんじゃね?
古かろうと新しかろうと使える道具が良い道具だから

本題に戻ろう。
昔大量に生息していたBASICオタみたいな種族が減少したのは厳然たる事実。
原因は良いアプリケーションがドッサリあるから、というだけではなさそう。
プログラミングできればそのほうが便利なこと自体、今も昔も変わりないのだから。
プログラミングが難しくなったから、と言えば身も蓋もないが、
バッチファイルすら書こうとしない、もしくは書けないのだらけなのは一体何だろうね?
粘着してたヤシは、よーするにオブジェクト指向のせいだ!って言いたいわけだろ?
さて、実際のところどうなんだろうね。



450:デフォルトの名無しさん
09/03/07 21:43:06
Smalltalk以外のOOは似非OOだろ

451:デフォルトの名無しさん
09/03/07 21:55:45
要するにSmalltalkの話はスレ違いってことか

452:デフォルトの名無しさん
09/03/07 22:09:49
>>448
>perlのオブジェクト指向の機能って、
>無理やりとって付けたような感じで

「感じ」じゃないです
無理やりとって付けたんです

>変態的だよな

「変態的」じゃないです
変態です


453:デフォルトの名無しさん
09/03/07 22:12:53
>>449
1.金にならんから
2.他人にやらせる(利益は自分がとる)
という風潮が広まったせい
プログラミングに限らないよ
世の中全部が(ry

454:デフォルトの名無しさん
09/03/07 22:23:33
サンデープログラマの人口統計なんてあるのかね。
パソコンユーザー全体に占める「割合」は明らかに小さくなったと思うけど、
絶対数が減ったかというと確信は持てない。

455:デフォルトの名無しさん
09/03/07 22:32:05
>>449
エンドユーザー言語とか簡易言語とかいう言葉があるけど、
実を言うとそんなのは存在していない。
正真正銘のエンドユーザーには使いこなせないものばかりだから。

エンドユーザーにとっての正義とは
1. 覚えることが少ない
2. とりあえず動く
3. 早い
4. 安い
ということだ。

プログラミングの諸技術の発展は、意図するか否かに関わらず
それと矛盾する方向に進んでいる。
その意味ではOOはエンドユーザーを無能化したと言っても間違えていない。

456:デフォルトの名無しさん
09/03/07 22:34:05
確かにOOは覚える価値はありそうだとは思うんだけどな。
最初に良く勉強しないと、良さを生かせないクラスがいっぱい出来て
後で泣く事になりそう。

個人的には、どこまで継承させて書くべきなのか…
別々のクラスとして書くべきなのかが分からん
また、どれをスーパークラスにするべきか・・等

この辺の考え方は、相違がありそう

457:デフォルトの名無しさん
09/03/07 23:12:56
>>456
>最初に良く勉強しないと、良さを生かせないクラスがいっぱい出来て
>後で泣く事になりそう。

OOに限らず大抵のプログラミング技術はこの手のトライアンドエラー
から学ぶ事って少なくないと思う。
実践無しに理論や文法・設計論等々を座学で学んで、いざコードを
書き始めたらいきなりスーパープログラマー、なんて例はあまり見た
事は無い。

458:デフォルトの名無しさん
09/03/07 23:19:10
あまりというか、そんなのはプログラム界の歴史に名が残る級の
真の天才でもなければ不可能じゃないの?

459:デフォルトの名無しさん
09/03/07 23:21:30
>>457
良いこと言うなぁ

高級言語使う限りパソコンが壊れる事なんてないし、適当にやってみるのが一番だよな
アセンブラで適当にやっちゃうとやばいけど...

460:デフォルトの名無しさん
09/03/08 00:33:18
>>459
いやいや、アセンブラで適当にやっても今時のパソコンならOSが守ってくれるぜ。

461:デフォルトの名無しさん
09/03/08 01:22:15
OOをプログラミング技術とか言ってる奴が大杉
OOは設計手法なんだよ

OOPは結局、言語仕様の話で終わるだろ
分析設計は機能分割の旧来手法なのに、
製造はOOPでするからメリットを享受できないんだよ

勘違いしてる奴がいるが、
OOを正しく活用するのであれば、
インターフェースとかクラスは設計段階ですでに決まってるわけで、
製造に入ってから考えるものでは無い

ここを分かってない奴がOOの話題になるとすぐ言語仕様の話をする

462:デフォルトの名無しさん
09/03/08 01:30:32
まーた得意げなお馬鹿さんだな。
わかってない奴ってお前さんのことじゃんw

仮にOOを「設計手法」と呼ぶとして、
どう考えても設計手法もプログラミング技術の一部だろう。

463:デフォルトの名無しさん
09/03/08 01:36:23
確かにOOについて論じるには
高いレベルでの話で考えなきゃならないけど、
実装時のアプローチについての話を完全に無視できるほど高いレベルの概念ではないね


464:デフォルトの名無しさん
09/03/08 01:37:19
>>462
設計手法がプログラミング技術の一部って、どんだけ新入社員だよw
それをいうならソフトウエア工学だろw

465:デフォルトの名無しさん
09/03/08 01:37:52
っていうか、このスレの意義を否定するようだが(っていってもネタスレだと思うけどw)
かつての構造化プログラミングがそうだったように、オブジェクト指向なんて
具体的実践はともかく概念そのものはたいして難しいわけでも量的に膨大なものでも
なく、普通の知能があれば誰でも理解できる程度のものだから、
あまり熱く語るのも傍目に恥ずかしいぞ。

466:デフォルトの名無しさん
09/03/08 01:39:26
大学生同士の罵りあいはもう見飽きました。
習いたてのことを言いたくてしょうがないのはわかるけど、
いい加減小学生みたいな真似はやめろよ。
もうほとんど大人なんだろ?

467:デフォルトの名無しさん
09/03/08 01:42:05
>>464
そういう無意味な分類学に意味があると錯覚しているのは
君が本質をわかってないからだろう。

まあいいやじゃあ何が「プログラミング技術」で何が「設計手法」で
何が「ソフトウェア工学」か定義できる?

468:デフォルトの名無しさん
09/03/08 01:49:59
>>467
少しは本を読むか調べるかしろ

469:デフォルトの名無しさん
09/03/08 01:53:19
>>468
しょうがない馬鹿だな。
じゃあ読んでしんぜるから具体的に誰の書いたなんて本にそれらが定義されてるの?

470:デフォルトの名無しさん
09/03/08 01:56:58
それなんてゆとり?

471:デフォルトの名無しさん
09/03/08 02:26:54
>>425
> とある業者に見積りを出させたら、開発に十数万円、保守が月数千円ということでした。
まぁまぁ妥当な金額だな。工数としては数人日ってところか。
ぼったくりなんてとんでもない。

472:デフォルトの名無しさん
09/03/08 02:55:42
プログラミングは簡単だろうけど、425の頭の中だけにある必要なシステムというものを
ヒアリングして要件と仕様を確定させてというのが一番時間かかるだろうね。

473:デフォルトの名無しさん
09/03/08 03:06:09
>>472
そんなことに金を取るのか!そんなこと営業活動の中に含まれるだろ!
そんなのに、金を出せるわけないだろ!

・・・何度、客にそんなこと言われて見積りでモメたことか・・・

474:デフォルトの名無しさん
09/03/08 04:45:11
見積り無料という言葉さえあるのに、そういう客がいるんだよねぇ。

475:デフォルトの名無しさん
09/03/08 08:21:13
無料だからってそれをやらずに進めると納品後にもめる罠
客はそれを予め狙ってるのかも知れない

476:デフォルトの名無しさん
09/03/08 09:17:15
そ、曖昧に済ましたところは後でたいてい揉める。全部文書にして残しておかないと結局やらされるはめになる。
しかもタダで。これはつらいよ。頼むほうは自分が理解できて頭の中では簡単だと思ってるから
プログラムも簡単にできると思ってる。あんたの頭の中のことなんか言ってもらわなきゃわかりませんて。

477:デフォルトの名無しさん
09/03/08 10:23:03
>>471
インターネット、メール、ワープロ、表計算以外は全て
「プロの人、お願い!」って時代だ。
エンドユーザ・コンピューティングなんて号令だけで、
実際には全然発展していない。
そこいらの普通のリーマンが「統計処理ならS言語だよね!」とか
「ネットから必要な情報だけを定期的に自動で取得させるシェルスクリプト組まなきゃ」
とか語ってるならエンドユーザ・コンピューティングが十分に浸透していると言える。
でも、現実はそうなってない。

簡単なことは自分でやれば良いのだが、いざとなると
どうやれば良いのか見当がつかず、嫌々業者に頼むことになる。
それで「ぼったくり」と感じる面はあろう。

478:デフォルトの名無しさん
09/03/08 10:23:11
>そんなことに金を取るのか!そんなこと営業活動の中に含まれるだろ!
>そんなのに、金を出せるわけないだろ!

そういう馬鹿は完成した後も金払い悪いんだよな

479:デフォルトの名無しさん
09/03/08 10:27:28
>>477
プロが仕事なくなって困らないように
客を馬鹿のままにしておきたいのが
見え見えですよね

480:デフォルトの名無しさん
09/03/08 10:43:48
道具が便利になるとそれを使うだけの人間のレベルは堕ちていくのは当然
そうならないために道具を不便なままにしておくという選択もあるんだよ

481:デフォルトの名無しさん
09/03/08 10:53:48
ないない

482:デフォルトの名無しさん
09/03/08 11:04:20
MSの場合バージョンアップとかで金とるために
わざと改良をゆっくり進めてるという噂はある

483:デフォルトの名無しさん
09/03/08 11:07:46
うわさっつーかそりゃ彼らのビジネスモデルだろ

484:デフォルトの名無しさん
09/03/08 11:10:05
他所の会社のを朴ってばかり
しかも機能はオリジナルより劣る
稼ぎは一番ウハウハですな

485:デフォルトの名無しさん
09/03/08 11:10:37
>>482
そんな事はない
奴らがやっているのは、十分利用できる旧バージョンをサポートしないという強硬手段で役に立たない新バージョンを売りつけるというビジネスモデルだ


486:デフォルトの名無しさん
09/03/08 11:42:56
時々何のスレか忘れるわ

487:デフォルトの名無しさん
09/03/08 14:35:47
サンデープログラマがOOは糞だというのは、
日曜大工で戸棚をつくってるオヤジが
50階建ての高層ビルの工法を理解できないからといって
「こんなのは作り方を難しくしているだけだ、ぷんすかぷん」
と喚いているだけだと思えばある意味微笑ましい。

488:デフォルトの名無しさん
09/03/08 14:38:08
そのとおり。それが全て。

489:デフォルトの名無しさん
09/03/08 14:58:05
>>487
Java で開発してる現場で,
「今のニューヨークの時間を求めろ(本当に必要だった)」
って, 言ったら (JST - UTC) + (UTC - EST) の差分しか
考えないアフォが大量にいるんだが…

こんな連中を何とかしてもらえませんかね?

OO 以前の知識がなさすぎwW >現場のアフォども


490:,,・´∀`・,,)っ-○◎●
09/03/08 15:03:34
>>489
夏時間か。めんどいな

491:デフォルトの名無しさん
09/03/08 15:10:08
Java使ってる時点でお察しください

492:デフォルトの名無しさん
09/03/08 15:16:54
>>489
なんか、いけ好かない野郎臭がする
人を馬鹿にするのなら、人に頼まず自分で作れば良いのでは?


493:デフォルトの名無しさん
09/03/08 15:25:54
>>489
アホなりの解決方法
w3m -dump URLリンク(24timezones.com) 2>&1 | grep "EST"

494:,,・´∀`・,,)っ-○◎●
09/03/08 15:31:53
>>493
wwwwwwwwwwwwwwwwwww

495:デフォルトの名無しさん
09/03/08 15:38:07
プロならググって適切なサンプルコード見つけてコピペするのが基本。
自分で考えて作るなんて素人がやること。
趣味で楽しんでヤルなら、それでいいのだけど、
自分達で考えて作るなんて怖いこと、プロはやっちゃダメ。

プロなら、正しく動くものを組み合わせて、確実に動くものを作る。

それが、オブジェクト指向の極意だろ?

496:デフォルトの名無しさん
09/03/08 15:40:04
仕様は命題でソースコードはその証明っていうのが関数型の極意

497:デフォルトの名無しさん
09/03/08 15:42:23
最後の行で台無し

498:デフォルトの名無しさん
09/03/08 16:07:21
>>495
何?
それは、鶏と卵の話?
コピペ元のサンプルコードは誰が作るの?


499:デフォルトの名無しさん
09/03/08 16:58:33
>>498
言語設計者・ライブラリ開発者・フレームワーク提供者。
その周りのコミュニティ。

なのでドキュメンテーションが半端なライブラリ等はプロジェクトに
持ち込むべきじゃないし、ドキュメンテーション活動が活発なところ
からチョイスした方が楽が出来る。

500:デフォルトの名無しさん
09/03/08 17:37:45
>>499
そんなプログラムの作成法なんて、言うなれば残飯処理じゃん
美味しいところは、全部喰われた後じゃないか

501:デフォルトの名無しさん
09/03/08 17:59:22
>>500
料理人が良い食材を安定して供給してくれる漁師や農家を探すような
もの、と言ってくれ。

釣りや家庭菜園の楽しさは知っているが、それは本業じゃないんだ。

レシピもまずは基本に忠実に、その上での発想の妙だと思うぞ。
創作料理でも本当に美味い料理と単に珍妙な料理があるだろう?







というのは理想論で、大抵は卸された食材をルーティン通りに処理して
供する場末の定食屋である事が大抵な訳だが。

502:デフォルトの名無しさん
09/03/08 18:20:59
>>501
食器工場の作業員と陶芸家ってかwwww

俺だったら、陶芸家を目指したいねぇ


503:デフォルトの名無しさん
09/03/08 18:22:50
> 正しく動くものを組み合わせて、確実に動くものを作る。
確実に動くけど、正しく動くとは限らない罠w

504:デフォルトの名無しさん
09/03/08 18:38:34
>>502
理想は高いけど。厳しいぞ。
一応食器工場の作業員はたいていの人が目指せばなれるし海外に
押されていない限りは一応食える。でも陶芸家人生は、賭でしょ。

あと料理人が市販の素材が不満だとか言って田舎に店を構えて自ら
生産を始めるパターンも多いけど、大抵は品質でもプロの農家には
かなわず、ただ変なプライドや宗教じみた哲学等々がまとわりついた
トンデモ料理店に墜ちるケースが実に多い。

あるいは口八丁で「注文の多い料理店」を目指すところとか。

505:デフォルトの名無しさん
09/03/08 18:46:47
>>504
んなこたぁ判ってる
しかし、それが今の日本のソフトメーカーに足りないところだ


506:デフォルトの名無しさん
09/03/08 20:11:59
この特に分野はソフトウェアを無料だと思ってる
馬鹿の声がでかくなってるから、作業員ですら
まともな報酬を手に入れるのが難しい
陶芸家なんか成立しないよ

507:デフォルトの名無しさん
09/03/08 20:13:57
特にこの

508:デフォルトの名無しさん
09/03/08 20:20:04
>>495
そうやってソフトウェア作成を組み立て工場とみなしてしてしまったことが、
日本のソフトウェア産業が外国に勝てない原因だと思うよ。
組み立て工場の工員が何人集まっても、設計技術を持ってる国には勝てないんだよ。

509:デフォルトの名無しさん
09/03/08 20:27:10
>>490
めんどくも何もない! 何のための zone info だか…

>>492
いけすかんだろうよ.
今回は, コード書かせる側で関わってるんだから

>>496
> 仕様は命題
命題を命題として提出できない設計屋がどれだけ多いんだ?

>>502,504
> 理想は高い
OO を標榜している現場にいないぞ! 特に上の連中

# 去年の夏当りに今年の正月直前に入った閏秒が問題になるシステムの件で
# 「秒の定義を変えればいい!!!」と, のたまわった方もorz


510:デフォルトの名無しさん
09/03/08 20:29:23
要するに構造問題。

ちょっと前に毒吐いていたOOAD屋さんには、是非この構造を
分析してUML等々に落としていただきたい。ネタで。

511:デフォルトの名無しさん
09/03/08 20:34:34
ここむいはんですねわかります

512:デフォルトの名無しさん
09/03/08 20:41:52
あんまり作業量が減った感が無いのは気のせいだろうか?
まあ、GUI扱うのは楽になったが。

513:デフォルトの名無しさん
09/03/08 20:45:02
>>506
そりゃあんた、コピペに金払う奴が何処にいるんだ?

「ソフトはただと思っている連中が」と言うけれど、そんな人たちでも、買わなきゃ行けないソフトは買ってるでしょ


514:デフォルトの名無しさん
09/03/08 20:49:51
>>513
コピペに金払えとは言っていない。
コピペする能力に金払えと言っているんだ。
適切なコピペネタを探し出して取捨選択し、適切な場所に張り付ける。
しかも貼り合わせた周辺とのすりあわせも忘れない。
これはなかなかに高度なスキルだ。

フルスクラッチを有り難がる発想こそ日本人的だと思う。

515:デフォルトの名無しさん
09/03/08 20:49:55
>>512
減ってないと思う。つか、むしろ増えてる。
特に出来の悪いクラスライブラリを与えられた場合…


516:デフォルトの名無しさん
09/03/08 20:50:28
プログラミングは免許制にすべき

517:デフォルトの名無しさん
09/03/08 20:51:23
Javaは言語全体が出来の悪いクラスライブラリ

518:デフォルトの名無しさん
09/03/08 20:53:01
>>516
免許制というか資格制だな
資格独占職種にしないとだめだ

519:デフォルトの名無しさん
09/03/08 20:54:41
「業務独占資格」
だったorz

520:デフォルトの名無しさん
09/03/08 20:57:48
>>514
どんなに出来が良くても、コピペは所詮コピペなんだって


521:デフォルトの名無しさん
09/03/08 21:01:03
>>516
更新が面倒くさそうだなぁ。

おでこにもみじマークを貼り付けておいたら少しは周りも気を
配ってくれるかな?

522:デフォルトの名無しさん
09/03/08 21:03:47
>>519
医師も資格制にする前は下に見られていたが、資格制にしたとたん社会的地位が上がった。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5392日前に更新/139 KB
担当:undef