Pythonのお勉強 Part3000.12
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/08/30(水) 00:02:30http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
問題集
http://www.pythonchallenge.com/
Pythonのお勉強 Part11
http://pc8.2ch.net/test/read.cgi/tech/1155219600/
みんなのPython著者はこんなブログを書いてる人
>> http://coreblog.org/ats/scbscriber-of-coreblogml
> 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
0002デフォルトの名無しさん
2006/08/30(水) 00:06:070003デフォルトの名無しさん
2006/08/30(水) 00:06:36乙
0004デフォルトの名無しさん
2006/08/30(水) 00:17:34はやく夏よ終われ
0005デフォルトの名無しさん
2006/08/30(水) 00:19:01ふざけるな。貴様がスレを立てた基地害だろうが。
貴様が消えろ。今度という今度は許さん。
0006デフォルトの名無しさん
2006/08/30(水) 00:21:34import python
python.exit()
0007デフォルトの名無しさん
2006/08/30(水) 00:25:180008デフォルトの名無しさん
2006/08/30(水) 00:29:39>みんパイが叩かれてる理由を説明するレスが多すぎるから、それを省くために>>1に書いといてやったよ
>著者の主張を広めてみんパイ著者をあおってるってことはないだろう
>
>>>993
>嘘をつけ。みんPy叩き関連は、おそらく大部分が貴様の自作自演だ。
>このスレの人間はほとんど読んでない。対象読者から外れているからな。
>
>>>all
>俺はもう諦めた。次スレはこのまま使おう。
>馬鹿は言葉が通じないから馬鹿なのだ。どうしようもない。
あー
あー
0009デフォルトの名無しさん
2006/08/30(水) 00:34:32偏執狂は病院へ行ってください
0010デフォルトの名無しさん
2006/08/30(水) 00:36:17ふいにするのか…。
0011デフォルトの名無しさん
2006/08/30(水) 00:37:37作者らしき人が出てこなきゃ普通の入門書だったのにな・・・
0012デフォルトの名無しさん
2006/08/30(水) 00:40:23それと同じで、Pythonにメジャーになってもらいたくないツンデレの仕業と考えるんだ!
「あ、あんたたちに使いこなせるほど、簡単な言語じゃないんだからねっ!」
0013デフォルトの名無しさん
2006/08/30(水) 00:43:55オタ氏ね
0014デフォルトの名無しさん
2006/08/30(水) 00:44:37しかし作者を少し恨みたくはなるよ。あのblogのエントリは、ネットイナゴの
格好のエサだ…。
0015デフォルトの名無しさん
2006/08/30(水) 00:46:51http://d.hatena.ne.jp/keyword/%A5%CD%A5%C3%A5%C8%A5%A4%A5%CA%A5%B4
0016デフォルトの名無しさん
2006/08/30(水) 00:47:210017デフォルトの名無しさん
2006/08/30(水) 00:47:37>>>998
>こっちはみんパイの宣伝ばっかで飽き飽きしてんだよ。
>1000 名前: デフォルトの名無しさん Mail: sage 投稿日: 2006/08/30(水) 00:31:10
>>>999
>リアル敗北者乙。
>
>そして1000!!
ゲラゲラゲラ
0018デフォルトの名無しさん
2006/08/30(水) 00:50:081. 私怨らしい
2. Zope関係らしい
3. すごくヒマらしい
0019デフォルトの名無しさん
2006/08/30(水) 00:55:462. を隠れ蓑にしようという目論見が痛々しい
0020デフォルトの名無しさん
2006/08/30(水) 01:01:14ここで合っていますか?
0021デフォルトの名無しさん
2006/08/30(水) 01:08:20著者乙
0022デフォルトの名無しさん
2006/08/30(水) 01:08:59このわかりにくいスレタイ
まともなPythonistaの仕業とは思えない
今日は2chのPythonスレが終わった記念日...orz...
0023デフォルトの名無しさん
2006/08/30(水) 01:16:44合ってます。もう達人すぎて大変ですよ。
0024デフォルトの名無しさん
2006/08/30(水) 01:25:49もっと自分の人生見つめなおしたほうがいいよ
0025デフォルトの名無しさん
2006/08/30(水) 01:26:442chのム板みたいなさびれた板で
ネガティブキャンペーンはできないよなー
粘着キチガイは世間を知らない井の中の蛙か
感覚がずれたリアルキチガイかのどっちかだな(www
0026デフォルトの名無しさん
2006/08/30(水) 01:34:42>1. 私怨らしい
>2. Zope関係らしい
>3. すごくヒマらしい
1と3は否定しないんだね(W
0027デフォルトの名無しさん
2006/08/30(水) 01:44:130028デフォルトの名無しさん
2006/08/30(水) 01:47:37それなら難しい質問をさせて頂きます。
ttp://www.newlc.com/SIS-Info-tool-for-Symbian-9-1-SIS.html
上記サイトにある、「sisinfo.zip」をダウンロードして解凍すると、
「sisinfo.py」等のファイルが入っています。
sisinfoは何をするものかと言いますと、「SIS」という形式で圧縮されたファイルを
解凍するプログラムです。
しかし、実際には、解凍できるSISファイルと解凍できないSISファイルがあり、
なぜ解凍できない場合があるのか分からなくて困っています。
解凍できるSISファイルと解凍できないSISファイル構造の違いについて、
sisinfoのソースから、何か少しでも手がかりとなるような事があれば、教えて頂きたいです。
�@sisinfoの使用方法
コマンドプロンプトで、「sisinfo.py -f [フルパスのSISファイル名] -e [ファイル解凍先ディレクトリパス]
と打ち込む。
�A解凍できるSISファイル
ttp://www.handango.com/servlet/d/screenshot_s60_3rd_2.30.sis?s=1&p=186751&secw=1e5842b1&email=fafafaf%40hotmail.com
↑からダウンロードできるSISファイル
�B解凍できないSISファイル
ttp://gallery.mobile9.com/d/40737/
↑からダウンロードできる(※20秒ぐらい待つと、ダウンロード先リンクが表示される)SISファイル
0029デフォルトの名無しさん
2006/08/30(水) 01:55:03新しい次スレを立てませんか?
0030デフォルトの名無しさん
2006/08/30(水) 01:57:12> 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
003128
2006/08/30(水) 01:57:17ちなみにSISファイルとは、NOKIAという携帯等で使用されている、
Symbian OS用の圧縮ファイルです。
もしも、解凍できなかったSISファイルも解凍できるよう、プログラムを改良できた人がいたら、
神扱いされ、携帯版は祭りとなるでしょう。
0032デフォルトの名無しさん
2006/08/30(水) 02:12:27それは難しい質問というより面倒くさい質問だな。w
まぁ暇な人よろしく。ww
0033デフォルトの名無しさん
2006/08/30(水) 02:27:41;' ':..
;' ´ ` あたまのびょうきは
./ ● .● なおらないよ
./ ⌒ ▼⌒':
__ ./ 彡 ∵人∵ノミ___
 ̄ ./ _ ミ ノ"ミ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄━━━ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄
0034デフォルトの名無しさん
2006/08/30(水) 05:37:00sisinfo.pyのソースをすこし眺めてみたんだけど、
これ本当にちゃんと動くプログラムなのかな?
例えば sisreader.py にこんなコードがある。
def readSignedBytes(self, numBytes) :
buf = self.readPlainBytes(numBytes)
if len(buf) < numBytes :
return []
format = ""
for i in range(numBytes) :
format += "b"
return struct.unpack(format, buf)
def readBytesAsInt(self, numBytes) :
result = 0
bytes = self.readSignedBytes(numBytes)
if len(bytes) == numBytes :
for i in range(numBytes) :
result |= bytes[i] << (i*8)
return result
普通、2バイトを符号付きの16ビット整数として読む場合、
>>> struct.unpack("h", "\x88\x88")[0]
-30584
となるんだけど、引用したコードで readBytesAsInt(2) とやると
>>> bytes = struct.unpack("bb", "\x88\x88")
>>> (bytes[0]) | (bytes[1] << 8)
-120
>>>
というおかしな結果になる。展開できるファイルの方が少ないのでは?
sisfields.py の SISField#readFieldLength() も63ビットの符号なし整数を読む場合の
処理が仕様書(google://softwareinstallsis.pdf)と合致してない希ガス。
あと、format = "b" * numBytes だよなぁとか、むしろ
struct.unpack("%db" % numbytes, buf) だよなぁとか。Python 歴が短い印象。
003534
2006/08/30(水) 05:44:20「どうしても展開できません。本当にありがとうございました」って
知らせて対応してもらうのが一番手っ取り早いよ。
0036デフォルトの名無しさん
2006/08/30(水) 07:25:25ナカちゃん。はやく成仏してください。
0037デフォルトの名無しさん
2006/08/30(水) 08:40:42> > 「インストール方法」みたいな低ーーーいところとか,「落ちている物を拾って使います」的な乞食みたいな思想から抜け出せないのでは危ないと思います。
> > 趣味で使うならいいんだけどね。しかしまあ,趣味の延長ではおいしい物食べられないし,車とかプラズマテレビは買えない(笑)。
これは酷いね・・・
禁句じゃないか。
なんでこんなことが書けるんだ?
人間性を疑われても仕方がない。
003834
2006/08/30(水) 09:57:05その引用部分って、開発側の人間が開発側の人間に対して
「すごーく専門性の高いものを作ってるんだから、
孤高を自覚してストイックにやらなきゃダメだよー」と促してるんだよね。
(そのことが分からないように引用されているところに悪意を感じないでもないけどw)
俺は外野だけど、同じくフリーソフトを作って公開している立場から察するに、
言われた側は良い意味で刺激を感じることはあっても怒ったり失礼だと感じることはないと思う。
きっと騒いでいるのはごく一部で、発言の真意を理解している人がほとんどだと思うけど念のため。
0039デフォルトの名無しさん
2006/08/30(水) 09:58:030040デフォルトの名無しさん
2006/08/30(水) 10:04:53考えてみた。
Pythonが簡単で便利すぎて、とくに質問もでないし
話題がない。
0041デフォルトの名無しさん
2006/08/30(水) 10:45:38LL Weekend もつい最近だったし、いろんな意味で話題の新刊も出たし。
特にLL方面から来る人は、他言語出身だから、最初はいろいろ聞きたいことが
あるはず。実際、あちこちのblogで素朴な疑問を抱えた人が見つかる。
じゃあ、何でそういう人がこのスレに質問しに来ないのか。
理由は言うまでもあるまい。
0042デフォルトの名無しさん
2006/08/30(水) 10:47:33見てない人も多い。
0043デフォルトの名無しさん
2006/08/30(水) 10:50:06何を言っても無駄無駄無駄
0044デフォルトの名無しさん
2006/08/30(水) 11:27:390045デフォルトの名無しさん
2006/08/30(水) 11:48:47具体的にどこが専門性高い?
0046デフォルトの名無しさん
2006/08/30(水) 12:02:22あちこちのblogで素朴な疑問を抱えた人が見つかる。
じゃあ、何でそういう人がこのスレに質問しに来ないのか。
理由は言うまでもあるまい。
-> Pythonに疑問があるからといって、2chにくるとは限らないだろ?
0047デフォルトの名無しさん
2006/08/30(水) 12:04:27お勉強はとっくに卒業したひとが、
このスレにたまってるから
発展しないんだな。
0048デフォルトの名無しさん
2006/08/30(水) 12:05:48Pythonの技術的な話だけやれ
0049デフォルトの名無しさん
2006/08/30(水) 12:06:40と、オッサンが申しております
0050デフォルトの名無しさん
2006/08/30(水) 12:06:44おまえもな
0051デフォルトの名無しさん
2006/08/30(水) 12:08:16初心者がやってきたら、教えてあげるくらいしか
楽しみが無いのに、詳しい奴ばっかりで
初心者おいてけぼりで、喧嘩しててもつまんないよな。
0052デフォルトの名無しさん
2006/08/30(水) 12:12:23後半3行の意味が理解できない。できれば日本語で書いて欲しい。
0053デフォルトの名無しさん
2006/08/30(水) 12:12:45↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
0054デフォルトの名無しさん
2006/08/30(水) 12:15:170055デフォルトの名無しさん
2006/08/30(水) 12:16:40引用部分の前後(消されてる部分)を自分で探して読んでちょ。
0056デフォルトの名無しさん
2006/08/30(水) 12:22:534. 文章レベルが小学生並み
0057デフォルトの名無しさん
2006/08/30(水) 12:27:030058デフォルトの名無しさん
2006/08/30(水) 12:27:54自分が話したいことだけでも
・Python3000への移行
・TurboGearどうよ
・SciPyいいよね
・日本語ドキュメントや書籍の誤訳の共有
・unittest使ってる人いる?
・いかにしてPythonで飯を食うのか
だけど何を話しても荒れそうで躊躇しちゃうんだよね。結局無難なQ&A対応に
なってしまう。自分以外の人を見ても、叩かれにくいように1行レスをしてい
る人ばかり。
本当はPythonとHaskellがすごく似てるという話をしたいんだが、荒れること
必至だからなあ。
0059デフォルトの名無しさん
2006/08/30(水) 12:32:410060デフォルトの名無しさん
2006/08/30(水) 12:34:29PythonとHaskellのどこが似ているのか、まずは熱く語ってくれ。
0061デフォルトの名無しさん
2006/08/30(水) 12:43:27Pythonの話だけしてれば荒れない。
そこに、他の要素を持ち込むと利害関係で荒れるのでは。
特定の本の宣伝とか批判とか。
ルールをテンプレにして >2 あたりに張り付けようぜ。
0062デフォルトの名無しさん
2006/08/30(水) 12:46:15そこでチラ裏、もとい、blogですよ。
まあそれはさておき、このスレってずっと前から良くも悪くもQ&Aに終始してるよね。
こういってしまうとアレだけど、2ちゃんねるはSN比が高すぎて議論したくても無理っぽいねえ・・・。
しかも上級者が初心者からの質問を今か今かと口をあけて待ってる状況でもあって、
ぶっちゃけ単なる意見交換はお呼びでない感じだねえ・・・。
まあ、うまずたゆまず、テキトーに頃合いを見計らってネタ振りしてちょ。
0063デフォルトの名無しさん
2006/08/30(水) 12:46:16キチガイが居なくなれば全て丸く収まる。
0064デフォルトの名無しさん
2006/08/30(水) 12:47:400065デフォルトの名無しさん
2006/08/30(水) 12:52:07いつまでも馴れ合いなのが身分相応だろう。
0066デフォルトの名無しさん
2006/08/30(水) 12:53:59そーゆー言葉遣いを避けることから始めない?
こんな言葉、前スレより昔には全然出てこなかったよ。
特定の誰かに言っているのでなくても目障りだからヤメにしようよ。
0067デフォルトの名無しさん
2006/08/30(水) 12:54:45お言葉に甘えて、ちょっとだけ語ると、
Haskellにもほとんどそのままあるのは
・インデントによるブロック構造
・import文を使ったモジュール管理
・関数と変数の名前空間が同一なので、関数合成が容易
・タプル
・リスト内包表記
似ているものを並べると
・イテレータ → 遅延リスト
・不変オブジェクトが基本 → 変数の再代入禁止
・実行の単位が式でなくて文 → IOモナドなど
(最後のはあんまり賛同を得られないかもしれないが、目的は似ていると思う)
PythonistaがHaskellを学ぶと、あんまり似ているんでビックリするんじゃな
いかな。少なくともGuidoはすごく意識しているだろうと思う。
まあとりあえず、このくらいで。
0068デフォルトの名無しさん
2006/08/30(水) 12:57:29それって逆じゃね
0069デフォルトの名無しさん
2006/08/30(水) 12:58:44>こんな言葉、前スレより昔には全然出てこなかったよ。
認定基地外が登場したのは前スレな訳で.
このスレは基地外を隔離するための精神病院ですよ.
0070デフォルトの名無しさん
2006/08/30(水) 13:01:40逆ってどういう意味か良く分からないけど、
自分はHaskellは、Pythonの大きな源流の一つだと思う。
0071デフォルトの名無しさん
2006/08/30(水) 13:08:510072デフォルトの名無しさん
2006/08/30(水) 13:09:28・文字列がシーケンス → 文字列が(不変)リスト
まあ、今Haskellを知ってる人はあんまりいないかもしれないけれど、
Pythonの親戚のようなものとして認識してもらえば、Python生活にも
プラスの影響があったりしないかなあと。
Python3000も、自分にはまた少しHaskellに近くなったものに見える。
0073デフォルトの名無しさん
2006/08/30(水) 13:11:430074デフォルトの名無しさん
2006/08/30(水) 13:12:49それMatzも言ってた。
0075デフォルトの名無しさん
2006/08/30(水) 13:14:43もちろん、無益な議論ではないと思うし、個人的には面白い
でも Haskell 知ってる人は少ないんじゃない?
0076デフォルトの名無しさん
2006/08/30(水) 13:15:07・そもそも本当に似ているか
・似ているなら、Haskellで普及した各種の技法を、Pythonでも利用することは
できるだろうか
まあ2番目の話は、Haskellになれた人がある程度いないと話しづらいけどね。
0077デフォルトの名無しさん
2006/08/30(水) 13:18:11Pythonでさえも希少なのに。
0078デフォルトの名無しさん
2006/08/30(水) 13:19:09>Haskell使ってる人みたことないよ。
普通はそうだよな。
そうじゃないところもあるんだろうけど。
0079デフォルトの名無しさん
2006/08/30(水) 13:20:32似ているのはどちらかというと外面的な要素じゃないかという気がする。
(例:インデント文法)
内面的な設計思想はかなり違うよね。もっとも俺は Haskell のほうは「入門Haskell」に目を
通した程度なので誤解してるかもしれん。
0080デフォルトの名無しさん
2006/08/30(水) 13:24:21シンタックスが似てなくて本当によかったとおもう。
0081デフォルトの名無しさん
2006/08/30(水) 13:39:28いや実は自分もそんなにHaskellに詳しいわけじゃないけどね。
外面的に似ている点が多いのは同意してもらえるかな。
内面的設計思想については、「安全性」という点が似ていると思うんだ。
例えばPythonのクロージャは、他の多くの言語と違い、束縛された変数を書き
換えることができない。つまりクロージャは状態は持てても、それを変更はで
きない。つまり、便利さよりも安全性を取っているということ。
それはHaskellのクロージャも同じ。
他にもPythonは
・代入文は式ではない
・不変オブジェクトの使用が推奨される
ことによって、変数状態の変更によるバグを避けようとしている。
これはHaskellの変数再代入の禁止に近い設計思想だと思う。
>>80
いやむしろ、シンタックス(外面)の方が似ているのが分かりやすくない?
0082デフォルトの名無しさん
2006/08/30(水) 13:49:48Haskell
スレを埋め立てなければならない理由
0083デフォルトの名無しさん
2006/08/30(水) 14:03:57本題にしたかったのは、Python3000と、Haskellの遅延リストの関係だったんだけど。
興味のある人はHaskellを齧ってもらえると嬉しい。
「Python3000がイテレータだらけになったのは、こういうことをやりたかったからか!」
って納得してもらえると思う。
では失礼しました。
0084デフォルトの名無しさん
2006/08/30(水) 14:11:170085デフォルトの名無しさん
2006/08/30(水) 14:18:53結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかなり違うと思うぞ。
副作用、型についての考え方は真逆だし。
Python は手続き型言語にうまく関数型言語の道具を導入したなぁという気はするけど、
(手続き色の濃い言語に List conprehension を導入したセンスはけっこう凄いと思う)
関数型言語に似ているとはいえないし、似ている必要もない。
0086デフォルトの名無しさん
2006/08/30(水) 14:29:49> 結果的に使う目的が似ていることはあるけど、ベースとなる考えも適用範囲もかな
> り違うと思うぞ。
そうかな?
実装の方法は全然違うけれど、目的はどちらも「直感性を裏切らない資源の節
約」で共通じゃない?
適用範囲は、イテレータはランダムアクセスできないのが残念だけど、遅延リ
ストだってシーケンシャルなアクセスをするほうが多いんだから、大差なくな
い?
0087デフォルトの名無しさん
2006/08/30(水) 14:38:14これも真逆とは思わないんだよ。
Rubyなどの「勝手気ままな」言語に比べて、Pythonには、副作用を封じ込めよ
うとする明確な意思がある。>>81にも少し書いた。本当はdo構文とPythonのス
テートメントについて話したいんだけど、まとまらないんでやめる。
型については、Pythonは実は単なる型なし言語で終わる予定じゃない。
decoratorは型チェックに使えるし、型変数の導入もずっと検討され続けてる。
ただし、Pythonが関数型だとは全く思わない。関数型の手軽に利用しやすい部
分を輸入しただけだと思う。そこについては全く同意。
0088デフォルトの名無しさん
2006/08/30(水) 14:52:410089デフォルトの名無しさん
2006/08/30(水) 14:53:01できるというだけ。遅延評価のメリットには他にも勝手に memoization されるとか
いろいろある。まぁデメリットも多いし、俺は遅延評価嫌いだけども。
一方で Python の generator はまさに iteration のために導入されたもの。
iteration のことだけを考えれば、 generator のほうが使いやすいし、副作用の
ある言語にうまく適合していると思う。
generator 導入によるデメリットはあまりないし、 fiber 的な使い方ができるとか
応用も利く。
0090デフォルトの名無しさん
2006/08/30(水) 15:00:02あと、今の Python で外の変数を書き換えられないのは、
Python では変数宣言がないので、たまたま外の変数と名前が被ったのか
実際に外の変数を使いたいのか判別できないため。
ML 見てみればわかるけど、何かいいアイデアがあれば書き換えられるように
する方向だよ。
0091デフォルトの名無しさん
2006/08/30(水) 15:05:190092デフォルトの名無しさん
2006/08/30(水) 15:11:440093デフォルトの名無しさん
2006/08/30(水) 15:13:23Python に型が導入されようと Haskell なんかの型安全な言語とは違った形なのは
間違いない。
型安全性を守るため、 Haskell のリストに複数の型の値をごちゃ混ぜにできる日は
来ないだろうし( OCaml の polymorphic variant の導入はあるかもしれないけど)、
利便性のため、Python のリストに単一の型の値しか入れられなくなる日は来ないと思う。
>>91
失礼。議論するにしてももう少し具体的な話じゃないとアレだよな。
0094デフォルトの名無しさん
2006/08/30(水) 15:15:49少しはためになるんジャマイカ
0095デフォルトの名無しさん
2006/08/30(水) 15:35:12意見が違う理由が分かった気がする。自分は最初から遅延リストとイテレータ
と言っていたけど、あなたは遅延評価とジェネレータと言っている。議論の対
象自体が違ってたのだ。だから例えばあなたはジェネレータに特化した議論を
している。視点を共通化したら意見はそう変わらないのじゃないかと思う。
まあ自分は遅延評価が好きなので、自分はPythonがどんどんlazyになっていく
というだけで嬉しい。
>>90
それは参った。英語苦手なんで、MLはきちんと読んでない。そうか、意図的な
ものではなかったのか。ありがとう。しかしショックだ。変更されないことを
願う。
0096デフォルトの名無しさん
2006/08/30(水) 15:40:04これも視点の違いのような気がする。Pythonが型安全な言語になるとは思わな
いが、実用上はHaskellと似たような使い勝手の型システムを導入するのじゃ
ないだろうか。
Haskellは今でも、複数の組み込み型を"|"で区切ったユーザ定義型を作れる。
型なし変数が無くても、これで十分だ。またPythonが型なしを捨てることは無
いだろうが、例えばリストに特定の型しかセットできないようにするやり方は
当然現れると思う。
>>94
コードを貼るともっと長くなっちゃうよ。まあご迷惑をかけしました。
0097デフォルトの名無しさん
2006/08/30(水) 16:14:19くっつけて纏めておける、使い方次第でものすごく便利な入れ物な気がしてきた。
いくらでも再利用できるから、タイプ量かなり減らせるし。
OOP以前って、同じ規模の為に今よりも長く打たないといけなかったのかな。
0098デフォルトの名無しさん
2006/08/30(水) 16:17:41扱うデータ構造を予め規定する。
0099デフォルトの名無しさん
2006/08/30(水) 16:21:05あと一つだけ。HaskellとPythonが共通して持つ、リスト内包表記について。
リスト内包表記は関数型言語らしいのだろうか?mapやfilterの方が関数型的
ではないか?そもそもmapとfilterで済むものに、何で専用の構文を与えなけ
ればならないのか?という批判がLISPERから出ている。
そのメリットは唯一つ、関数型云々ではなく、明示的で分かりやすいことだろう。
Haskellを使ってまず感じたことは、LISPよりずっと明示的で分かりやすいと
いうことだった。LISPにはシンタックスが事実上無いので、どこを見てもおん
なじに見える。しかしHaskellだと構文も演算子もあるので、同じコードでも
ずっと内容が明示的に見える。
Haskellのこの明示性は、Zen of Python の Explicit is better than
implicit.と通じていると思う。Pythonがmapを非推奨にしてリスト内包表記を
導入したのは、ちょうどLISPからHaskellへの進化の歴史をそのままなぞって
いるように見える。
では、今度こそ失礼。
0100デフォルトの名無しさん
2006/08/30(水) 16:21:59>OOP以前って、同じ規模の為に今よりも長く打たないといけなかったのかな。
そんなことはないよ。構造体(とかそれに類似するデータ構造)と
コードのモジュール化をうまくやってやれば、効率の良い再利用可能なライブラリ
なんて幾らでも作れたし、実際にそうやって開発もされてきた。
OOPは、それをより楽に、明示的にできるようにしただけだよ。
0101デフォルトの名無しさん
2006/08/30(水) 16:24:59とりあえず Haskell を少し本格的に使ってみ?
その感じだと、チュートリアル斜め読みしたくらいでしょ。
型安全については使っただけでは実感わかないかもしれないけど、
型安全を守るか、型を導入しつつも型安全を捨てて利便性を取るか、
というのは180度違う考えだよ。
■ このスレッドは過去ログ倉庫に格納されています