【Perl,PHP】LLバトルロワイヤル17【Ruby,Python】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/05/07(土) 23:09:39.61エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!
■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。
ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。
現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)
前スレ
【Perl,PHP】LLバトルロワイヤル16【Ruby,Python】
http://hibari.2ch.net/test/read.cgi/tech/1302692765/
0002デフォルトの名無しさん
2011/05/07(土) 23:24:18.460003デフォルトの名無しさん
2011/05/08(日) 00:29:41.68運命の切り札をつかみ取れ!!
0004デフォルトの名無しさん
2011/05/08(日) 00:36:51.130005デフォルトの名無しさん
2011/05/08(日) 02:40:33.08甘いんだよ、お前は
0006デフォルトの名無しさん
2011/05/08(日) 10:22:36.980007デフォルトの名無しさん
2011/05/08(日) 10:32:57.400008デフォルトの名無しさん
2011/05/08(日) 10:38:41.70do 〜 end で統一されたコードをメンテするのは苦痛ではないんですか
0009デフォルトの名無しさん
2011/05/08(日) 10:47:02.94文法上の結合優先度(演算子の優先順位みたいなもの)が違うので使い分けます
0010デフォルトの名無しさん
2011/05/08(日) 10:51:21.02foobar a, b do .. end
# ブロックはメソッドbの引数、aの値とbの返り値とがfoobarの引数
foobar a, b { .. }
0011デフォルトの名無しさん
2011/05/08(日) 12:16:56.630012デフォルトの名無しさん
2011/05/08(日) 13:36:16.07selfは食わず嫌い。しばらく使ってる時にならなくなる。
phpの==, ===, strcmp とか、しばらくその言語使っててもウゼーと
思うのが本当にダメな部分。
0013デフォルトの名無しさん
2011/05/08(日) 13:50:10.14def norm(self):
return math.sqrt(self.x ** 2 + self.y ** 2)
みたいな?
まあこの例だけだといまいちピンとこないけど
要するに数式にいちいちselfがついてくる感じ
0014デフォルトの名無しさん
2011/05/08(日) 13:57:32.01メソッド定義する時に第一引数に書かなきゃいけないのがちょっと…
0015デフォルトの名無しさん
2011/05/08(日) 14:27:06.52大差ないといえばそれまでだけど
class Rational {
def num
def denom
Rational(n, d=1) {
def g = gcd(n, d)
num = n.intdiv(g)
denom = d.intdiv(g)
}
static gcd(x, y) {
if (x == 0) y
else if (x < 0) gcd(-x, y)
else if (y < 0) -gcd(x, -y)
else gcd(y % x, x)
}
def plus(x) { new Rational(num * x.denom + x.num * denom, denom * x.denom) }
def minus(x) { plus(new Rational(-x.num, x.denom)) }
def multiply(x) { new Rational(num * x.num, denom * x.denom) }
def div(x) { multiply(new Rational(x.denom, x.num)) }
String toString() { sprintf("Rational(%d, %d)", num, denom) }
}
0016デフォルトの名無しさん
2011/05/08(日) 15:24:41.68しばらくPython使ってても
いちいちフィールド呼ぶ度にselfは正直ウザいよ。
0017デフォルトの名無しさん
2011/05/08(日) 15:34:56.93変数という名前に、文字の名前で修飾するのは読みづらいんだよね。
0018デフォルトの名無しさん
2011/05/08(日) 15:35:03.89def __init__(_, a, b):
_.name = a
_.age = b
これでひとつなんとかなりませんか
0019デフォルトの名無しさん
2011/05/08(日) 15:37:56.200020デフォルトの名無しさん
2011/05/08(日) 15:38:46.13OO の味噌はモデルを簡潔に表現出来る事なのに、
記述性を悪くしたのは設計ミスだよなあ
0021デフォルトの名無しさん
2011/05/08(日) 15:41:58.230022デフォルトの名無しさん
2011/05/08(日) 15:50:16.420023デフォルトの名無しさん
2011/05/08(日) 15:51:51.210024デフォルトの名無しさん
2011/05/08(日) 15:52:56.66暗黙的な self ではなく、引数で self 相当のラベルを明示的に書かせる事に
したんだっけ。
0025デフォルトの名無しさん
2011/05/08(日) 16:05:54.790026デフォルトの名無しさん
2011/05/08(日) 16:11:27.440027デフォルトの名無しさん
2011/05/08(日) 16:12:51.080028デフォルトの名無しさん
2011/05/08(日) 16:14:02.570029デフォルトの名無しさん
2011/05/08(日) 16:32:11.240030デフォルトの名無しさん
2011/05/08(日) 16:32:42.72キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
キレる 子供=sora_hキレる 子供=sora_hキレる 子供=sora_h
0031デフォルトの名無しさん
2011/05/08(日) 16:42:55.01this(selfに相当)に限って言うなら…
少なくとも自分のフィールドやメソッドを呼ぶのに明示的なthisは要らないでしょ
自分自身を他へ引数として渡す、という場面以外であまりthisを使うことはないかと
0032デフォルトの名無しさん
2011/05/08(日) 17:03:53.12self って付けないとローカルにある名前を参照出来ない
うーん、、、
0033デフォルトの名無しさん
2011/05/08(日) 17:06:29.550034デフォルトの名無しさん
2011/05/08(日) 17:10:57.820035デフォルトの名無しさん
2011/05/08(日) 17:11:18.26正確に言おうぜ
1) Python2.Xではそもそもグローバル以外の自由変数を更新できない
2) Python3.Xでは自由変数がグローバルかどうかで、自由変数を更新する際に
globalとnonlocalを使い分けなければならない
3) Pythonはインスタンススコープを提供しない
0036デフォルトの名無しさん
2011/05/08(日) 17:14:49.08いずれにせよ関数スコープが基本でありブロックスコープは存在しない
5) function(){}() のようなブロックを無様な醜いハックすらPythonには無い
(lambdaの中に文を記述できないから)
0037デフォルトの名無しさん
2011/05/08(日) 17:15:25.43function(){}()のようなブロックを真似る無様な醜いハックすら
0038デフォルトの名無しさん
2011/05/08(日) 17:28:04.37C++やC99のように変数宣言を関数の先頭以外でも可能にした言語では
大抵の場合、宣言以下の行がスコープになっている
勿論それらの影響を受けたJavaやC#などのメインストリームの言語はみなそうだ
宣言の右辺がスコープに入るかどうかで多少言語による差はある
C++系ではスコープに入り、Perlでは入らない
Lispではletのスコープはbodyとはっきりしているので、Lispに似ているのは
Perlおんほう
Pythonの場合、やはり中途で変数束縛を記述できるが、その上もその変数の
スコープに入ってしまうので、そこは
その名前によって既存の変数が隠され使用できないが、
新しい変数も未束縛なので使用はできないという区間になる
003938
2011/05/08(日) 17:28:43.64おんほう
なんかバグってるな
主に俺がw
0040デフォルトの名無しさん
2011/05/08(日) 17:50:57.57そんなことない?
class AAA(object):
def f(self):
print "AAA"
class BBB(AAA):
def f(self):
super(self, BBB).f() ← クラス名を書かなきゃいけないのがすごく面倒
0041デフォルトの名無しさん
2011/05/08(日) 17:59:54.30こんなのが書かれるぐらい厄介な箇所
http://fuhm.net/super-harmful/
0042デフォルトの名無しさん
2011/05/08(日) 18:05:00.02コードで書くとこういう事だよね
n = 10
def foo():
print n # => UnboundLocalError: local variable 'n' referenced before assignment
n = 20
print n
コンパイラがもうすこしがんばってくれれば解消出来そうな問題だと思うんだけどなぁ
withと実行フレーム操作で擬似的にスコープを実現するハックをがんばった後、
ダミーのクラスを使う方法を思いついた。
n = 10
class _: # 名前は適当
print n # これはグローバル 10
n = 20
print n # これはクラス変数 20
print n # => 10
数分後、素直に globals 使うように書き直した。
0043デフォルトの名無しさん
2011/05/08(日) 18:09:46.96ローカルで定義したつもりがグローバル変数に上書いてたとかなるだろ
エラー吐いてくれる今の方がマシ
0044デフォルトの名無しさん
2011/05/08(日) 20:13:59.71ほんとだ。さんくす。
ttp://docs.python.org/release/3.1.3/library/functions.html#super
class C(B):
def method(self, arg):
super().method(arg) # This does the same thing as: super(C, self).method(arg)
なんで最初っからこういう仕様になってなかったんだろう。
Python2のsuper()はPHP以下のクソったれ。
でもPythonのキーワード引数は便利。
0045デフォルトの名無しさん
2011/05/08(日) 20:27:07.240046デフォルトの名無しさん
2011/05/08(日) 20:31:10.67まぁ、面倒くさいっちゃ面倒くさいけど。
class Rational:
def __init__(self, n, d=1):
g = self.gcd(n, d)
self.num = n // g
self.denom = d // g
# これ、クラスメソッドにする必要あんのかなぁ?
# 俺なら、普通の関数として、クラスの外か__init__の中に書く。
@classmethod
def gcd(cls, x, y):
if x == 0: return y
elif x < 0: return self.gcd(-x, y)
elif y < 0: return -self.gcd(x, -y)
else: return self.gcd(y % x, x)
def __add__(self, x):
return Rational(self.num * x.denom + x.num * self.denom, self.denom * x.denom)
def __neg__(self):
return Rational(-self.num, self.denom)
def __mul__(self, x):
return Rational(self.num * x.num, self.denom * x.denom)
def div(self, x):
return self * Rational(x.denom, x.num)
def __repr__(self):
return "Rational(%d, %d)", (self.num, self.denom)
0047デフォルトの名無しさん
2011/05/08(日) 20:36:38.99嫌がらせに決まってるじゃないかw
0048デフォルトの名無しさん
2011/05/08(日) 20:37:53.800049デフォルトの名無しさん
2011/05/08(日) 20:37:55.41if x == 0: return y
> elif x < 0: return self.gcd(-x, y)
> elif y < 0: return -self.gcd(x, -y)
> else: return self.gcd(y % x, x)
このへんclsのtypo?
0050デフォルトの名無しさん
2011/05/08(日) 20:39:06.20__add__とかそのへん、returnばっか書くのがめんどくさかったら、lambdaでやっちゃってもいいかもね。
__div__ = lambda self, x: self * Rational(x.denom, x.num)
みたいに。
gcdも三項演算子使えば単文でかけるのだろうけど、ややこしいわな。おすすめしない。
def gcd(x, y):
return y if x else gcd(-x, y) if x < 0 else -gcd(x, -y) if y < 0 else gcd(y % x, x)
うん、typoだ。すまない。
0052デフォルトの名無しさん
2011/05/08(日) 20:54:36.85Groovy
0053デフォルトの名無しさん
2011/05/08(日) 21:39:23.64Pythonでは未定義のローカル変数の参照と解釈されるんだよね、
曖昧なシチュエーションだからエラーになることには納得してるんだけど。
宣言以前は外側の変数を参照して欲しいって用途だったと思う。
勿論、上書きは期待してない。というかその為に明示的に使えるスコープが欲しかった。
他にPythonのスコープ関連の問題に遭遇したといえば、
for の一時変数をlambdaで使った時。
xs = []
for i in range(10):
xs.append(lambda: i)
map(apply, xs) # => [9, 9, 9, ...]
del i
map(apply, xs) # => NameError: global name 'i' is not defiend
実際のコードは、event:handler の辞書をforで回して一括して登録する処理だったと思う。
ちなみに、高階関数にすると期待通りに動きます。
>>46
1ファイル1クラスの制限のためじゃないかな、
単に言語比較のため合わせるとしたら、
@staticmethod にして第一引数を省く。
__repr__は、vars使うと self. 省けます。
return "Rational(%(num)d, %(denom)d)" % vars(self)
0054デフォルトの名無しさん
2011/05/08(日) 21:58:23.66>コンパイラがもうすこしがんばってくれれば解消出来そうな問題だと思うんだけどなぁ
ってのは、実行時エラーじゃなくて、コンパイル時エラーにできないかってこと?
できそうに見えるね確かに
Pythonちょっと実行時エラーが多すぎ
Perlのstrictモードあたりに比べると特にそう
0055デフォルトの名無しさん
2011/05/08(日) 23:36:38.440056デフォルトの名無しさん
2011/05/09(月) 00:16:08.08xxx = 1
...
if foo: # これ通るときは必ずhogeを通っている
print xxx
みたいなケースを考えると、実行時は確実に未束縛変数の参照を検出できるが、
コンパイル時には確実に検出できるとは限らない。だから実行時に検出するという
Pythonの方針は間違っていない。(俺もJavaScriptみたいに変数宣言があれば
いいとは思うが、代入=宣言ならば仕方ない)
n = 1
def foo():
print n # グローバル変数
n = 10
print n # ローカル変数
これを許したって、グローバル変数を書き換えられているつもりで書き換えられて
いないという動作で初心者を混乱させる事になる。行儀の悪いコードを暗黙に
通すよりも、明示的にエラーにするというPythonの方針は合理的なものだ。
(重ねていうが、俺はローカル変数宣言があればもっと良いと思う。)
0057デフォルトの名無しさん
2011/05/09(月) 00:26:38.32後者であればRubyみたいに記号を割り当てないのが嫌だと言っているのか、
それともJavaみたいに省略できないのが嫌だと言っているのかをはっきりしてくれ。
第一引数の事であれば、たった self, とスペースの5タイプだけだから気にするな。
属性アクセスの事であれば、長い式の中に何度もselfが出てくるのがウザイなら
ローカル変数に代入してから使えば良い。
記号は、できるだけ記号を使った構文を増やさずにシンプルで汎用的な
ルールで多くのケースをカバーするのがPython流だ。
Javaみたいな省略?名前空間が動的な言語でそれやると動作が複雑になったり
速度が犠牲になるから、それらの問題を解決する方法をぜひ実装してみてくれ。
0058デフォルトの名無しさん
2011/05/09(月) 00:28:34.04あたまわるいですね
0059デフォルトの名無しさん
2011/05/09(月) 00:34:18.59Python に欠点があっても良いでしょ。わざわざ取り締まる必要は無いと思うけど。
引数に self を渡すのは正直馬鹿らしいし、分かり辛い仕様だと思うけど、それを
理解した上で俺は使ってるよ。
0060デフォルトの名無しさん
2011/05/09(月) 00:36:09.54馬鹿な頭で無理に分かろうとするな
0061デフォルトの名無しさん
2011/05/09(月) 00:39:03.300062デフォルトの名無しさん
2011/05/09(月) 00:41:19.350063デフォルトの名無しさん
2011/05/09(月) 00:46:18.09つまり君は、『メソッドの第一引数に self / this を明示的に渡す事が必須である』という仕様が
OOPL に慣れ親しんだ現代人にも分かり易いと思う訳かな?
普通は『そんな事はコンパイラが解決しろ』と思うよねえ。
0064デフォルトの名無しさん
2011/05/09(月) 00:46:49.340065デフォルトの名無しさん
2011/05/09(月) 00:50:01.030066デフォルトの名無しさん
2011/05/09(月) 00:51:17.76奇麗な Python みたいな夢を抱いてる人ってまだ居るのかな。。。
0067デフォルトの名無しさん
2011/05/09(月) 00:53:56.87違うの?
じゃあ >>63 は >>57 向けってことで。
0068デフォルトの名無しさん
2011/05/09(月) 00:59:59.64その上のやつみたいな、実行時の条件によってunbound variable参照による
実行時エラーが出たり出なかったりするような糞コードは、
もしコンパイル時チェックをするのなら、単にコンパイル時エラーにするんだと思うよ
> 行儀の悪いコードを暗黙に通すよりも、明示的にエラーにするという
> Pythonの方針は合理的なものだ。
ちょっと主張の意味がわかんない
グローバルな名前をshadowする名前をつけることを行儀の悪いといっているのなら
Pythonはそれを禁じていないし、それゆえ
>グローバル変数を書き換えられているつもりで書き換えられて
云々の「初心者の混乱」とやらは現に今でも起きることだよね
そういう問題を本気で避けたければ、単に上位の変数をshadowする名前を
禁じればよいだけ
特に合理的だとは思えないね
0069デフォルトの名無しさん
2011/05/09(月) 01:07:23.100070デフォルトの名無しさん
2011/05/09(月) 01:10:54.87ライブラリが揃っていて、インストール不要で使える環境が多い
0071デフォルトの名無しさん
2011/05/09(月) 01:16:39.41>単に上位の変数をshadowする名前を禁じればよいだけ
普通はそういうのは文法の側で面倒見る物だと思うけど・・・
0072デフォルトの名無しさん
2011/05/09(月) 01:22:02.50省略してもいいししなくてもいい、という仕様よりは分り易くはあるよ
必ず改行しなきゃいけない、必ずインデントしなければいけない
そういう言語でしょ。それが受け入れられてるんだと思うけど
0073デフォルトの名無しさん
2011/05/09(月) 01:24:51.47普通の世界では引数の self なんて『全く書かなくていい』から、
そういう世界から来た人には分かり辛いし、面倒くさいでしょう。
0074デフォルトの名無しさん
2011/05/09(月) 01:24:58.87ちょっとプログラム書くのにクラスとかたくさん作ったりする?
ライブラリとモジュールで済ませようとするでしょ
それで済まないならselfが勝手に補完されるIDEを使うか
あるいは静的なオブジェクト指向言語使ったほうが速いんじゃないか
0075デフォルトの名無しさん
2011/05/09(月) 01:25:43.40勿論Pythonの言語仕様の話をしてるんだから、それも言語仕様の話
紛らわしくてごめん
0076デフォルトの名無しさん
2011/05/09(月) 01:26:51.04それって不便だけど、何とかなるって話でしょ。。。
0077デフォルトの名無しさん
2011/05/09(月) 01:28:58.58んなこと言ったって
clazz.method(obj, args)
obj.method(args)
のどっちでも書けるし
>>> class Foo(object):
... def foo(self, x):
... return x
...
>>> Foo().foo()
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: foo() takes exactly 2 arguments (1 given)
このエラーは間違いなく初心者にとっては混乱の元
1 givenと言ってるが
初心者にとっては引数など与えたつもりなどない
0078デフォルトの名無しさん
2011/05/09(月) 01:29:49.09仕様を理解してない初心者が混乱しない言語って何?
0079デフォルトの名無しさん
2011/05/09(月) 01:34:17.61まあ、分かってしまえば大した事無い問題だけど。
0080デフォルトの名無しさん
2011/05/09(月) 01:34:26.080081デフォルトの名無しさん
2011/05/09(月) 01:36:38.38Foo.fooの型は引数を取らないcallable(bound method)でしょ
ユーザはそれを呼んだ
勿論字句上でもセマンティクスにおいてもそのcallableに引数など与えていないよ
それでそんなエラーメッセージを出されてもお世辞にも親切で分かりやすいとは
言えんだろうよ
>>72の流儀なら
いつもClazz.method(obj, arg)とでも呼ばせたほうが
一貫性があってわかりやすく受け入れられるという理屈になるのでは
008281
2011/05/09(月) 01:38:22.05Foo().fooだった
0083デフォルトの名無しさん
2011/05/09(月) 01:40:44.91Foo.fooを何のつもりで読んだのか分からない。Foo.fooのコードは知らないって設定?
そりゃいつもひと通りの方が一貫性があっていいんじゃない
ダメなの_
0084デフォルトの名無しさん
2011/05/09(月) 01:43:04.75初心者はきっと分かり難いはずだ!って想像して代弁してあげてるのか
今理解してるのなら良いじゃない。お前にも分かるんだから皆分かるよ
0085デフォルトの名無しさん
2011/05/09(月) 01:43:17.43もしかして、実装を知らなきゃクラスを使えないのか?Pythonでは
そういうのはleak of abstractionというんだが
単純にユーザが引数など与えていないのに、引数を一個渡された、3個必要だという
エラーメッセージが混乱の元だと言ってるだけだが
(そしてもちろん素直に3個渡せばまたエラーになるわけだ)
0086デフォルトの名無しさん
2011/05/09(月) 01:43:22.17A. 残念ながら Python はしょっぱい所もあるよ! でもそれを補って余りあるから使ってるよ!
で良い気がするんだけど・・・
0087デフォルトの名無しさん
2011/05/09(月) 01:48:57.06一個渡されて3個必要なら渡すのは2個だろw
あとselfがあるってことくらい初心者でも把握しろよ。基本だろ
それにhelpでドキュメンテーション文字列が読めるからそれで引数の説明があると思うが
呼ぶ時点でどんな引数がいるかだいたい分かってるんじゃないのって話
どんな入力に対してどんな出力が帰ってくるかって分からないのに、どうやって呼ぶの
0088デフォルトの名無しさん
2011/05/09(月) 01:50:34.09いや面倒くさいから分かり難いって話になってるからな
たぶん勢い余った言いがかりだろうけど
0089デフォルトの名無しさん
2011/05/09(月) 01:52:09.05・他の言語と違うから分かり辛い
・記述量が増えるから面倒くさい
コンボだよ
コンボ
両方
0090デフォルトの名無しさん
2011/05/09(月) 01:52:27.06定義ではselfを書くが、呼ぶときは書かない
書かないだけでなく、bound methodには実際self引数はない
ただしエラーメッセージではselfの分が数えられる
0091デフォルトの名無しさん
2011/05/09(月) 01:53:12.22それが分かってるのに分かりにくってどういうこと?w
0092デフォルトの名無しさん
2011/05/09(月) 01:55:04.94複雑で奇妙なルールを「わかりにくい」と表現するのは
別におかしなことではないのでは?
仮にそれを理解していたとしても
0093デフォルトの名無しさん
2011/05/09(月) 01:55:24.17まさに虎の威を借る狐だよ。まあそういうのって逆立ちしてもCに勝てないんだけどね
0094デフォルトの名無しさん
2011/05/09(月) 01:55:28.79他の言語に従事しつつ Python もたまに書いていたら、あ、しょっぱいな、と
思うもの
0095デフォルトの名無しさん
2011/05/09(月) 01:55:57.64あーつまり分かりにくくはないけど分かりくいって言ってんのか、ややこしい奴だな
0096デフォルトの名無しさん
2011/05/09(月) 01:57:22.59いや、「分からない」と「分かりにくい」は違うぞ?
日本語分かってるか?
誰も「わからない」とは言ってない
0097デフォルトの名無しさん
2011/05/09(月) 01:57:41.51pythonよりしょっぱくない言語教えて
0098デフォルトの名無しさん
2011/05/09(月) 01:58:58.53Pythonは素直でシンプルなようで、その辺結構壁があるのな
意外と
0099デフォルトの名無しさん
2011/05/09(月) 01:59:00.77分かり難いものを分かる俺スゲーってことだろ。解ったよ
だがな、お前以外の皆も分かってるんだぜ。分かり難いにもかかわらずだ
分かり難いってなんだろうな
0100デフォルトの名無しさん
2011/05/09(月) 02:00:18.19Scheme とか
あれはあれで別の所がしょっぱいけど・・・
0101デフォルトの名無しさん
2011/05/09(月) 02:00:36.02そりゃ、他の言語ならそもそもそんなところで躓くことすら無いのだから
それに比べりゃ分かりにくい
ただの相対論だ
0102デフォルトの名無しさん
2011/05/09(月) 02:03:17.20じゃあ絶対的には分かりにくくないってことかよw
じゃあPerlとかRubyの相対的トラップを教えてよ。で、総合的に評価してよ
今の議論は全く意味を成さないね
0103デフォルトの名無しさん
2011/05/09(月) 02:05:19.32『Python は理解し易いという割には、随所に罠があるよな』と思ってる人がいるだけ。
(多分)みんな Python を貶そうとしている訳じゃないから、安心汁。
0104デフォルトの名無しさん
2011/05/09(月) 02:05:27.05親切に説明してきたのにこれかw
そんなら最初から聞くなやアホが
0105デフォルトの名無しさん
2011/05/09(月) 02:07:03.61お前の説明は分かり難かったわー、というか分からなかった(笑)
0106デフォルトの名無しさん
2011/05/09(月) 02:07:34.77馬鹿の振りして分かり難い分かり難いって連呼してる奴はいるな
0107デフォルトの名無しさん
2011/05/09(月) 02:09:55.04いねーーーってw
誰かいる?
0108デフォルトの名無しさん
2011/05/09(月) 02:10:17.64rubyとかは難しすぎて多分語れる奴は出てこないだろうな
0109デフォルトの名無しさん
2011/05/09(月) 02:11:20.97お前だろw
ワリニクイーwwwソウタイテキニーwwwwワカラナイトハーイッテナイーwwww
0110デフォルトの名無しさん
2011/05/09(月) 02:12:20.17それ俺じゃないし・・・
0111デフォルトの名無しさん
2011/05/09(月) 02:13:10.720112デフォルトの名無しさん
2011/05/09(月) 02:13:47.440113デフォルトの名無しさん
2011/05/09(月) 02:15:09.460114デフォルトの名無しさん
2011/05/09(月) 02:15:19.53こういう議論も参考になるんじゃないかしらん。
0115デフォルトの名無しさん
2011/05/09(月) 02:16:20.34そういう人もいるだろ。いたらダメなのか?
こんな初心者どもの意見とか意味ないよ
0116デフォルトの名無しさん
2011/05/09(月) 02:17:29.10ダメだけど、良いんじゃね。
リスクはあるよとだけ言っておく。
0117デフォルトの名無しさん
2011/05/09(月) 02:19:26.320118デフォルトの名無しさん
2011/05/09(月) 02:20:59.660119デフォルトの名無しさん
2011/05/09(月) 02:22:39.440120デフォルトの名無しさん
2011/05/09(月) 02:23:58.31こいつの考えた理想的な言語を使ってみたい。たぶんクソ言語だろうな
0121デフォルトの名無しさん
2011/05/09(月) 02:25:56.610122デフォルトの名無しさん
2011/05/09(月) 02:28:30.38>>120はPythonユーザは初心者を小馬鹿にする傲慢で鼻持ちならない連中ばかりだと
思われても特に損だとは思わないタイプの人間だろうから
忠告しても無駄だろう
0123デフォルトの名無しさん
2011/05/09(月) 02:30:04.32俺を見てpythonユーザはこうだと決め付ける情報リテラシの欠片もない現代人としての初心者のこととかどうでもいい
0124デフォルトの名無しさん
2011/05/09(月) 02:30:30.50Rubyはなんか性格悪いやつばっかりな気がする。
0125デフォルトの名無しさん
2011/05/09(月) 03:09:46.21コミュニティって必要かな
0126デフォルトの名無しさん
2011/05/09(月) 03:12:41.230127デフォルトの名無しさん
2011/05/09(月) 03:12:43.13一部のイジメをTwitterで公言する中二とかが目立っちゃってるだけで、
Rubyにも親切ないい人がいっぱい居るよ。
0128デフォルトの名無しさん
2011/05/09(月) 03:20:51.24Pythonでは中二みたいな奴は存在しないよね
Rubyはどうだろ?
0129デフォルトの名無しさん
2011/05/09(月) 03:26:30.84前見た時はこんなに沢山パッケージが無かった気がしたのに
013057
2011/05/09(月) 03:47:32.06別に第一引数のselfが素晴らしいと言っているわけじゃなくて、見た目の悪さ
ほどには実用上は問題にならないから気にするなと言っただけのつもりで、
素晴らしいというつもりは全くなかった。
記号がいいかselfという名前が良いかは、俺はどっちかが良くてどっちかが悪いとは
思わない。Rubyは記号を、Pythonは名前を選んだだけだ。phpは$this->でPerlは
なんだっけ?
Pythonは十分使いやすくてそれなりに綺麗でそれなりの効率、という、
特筆するほどいい点はないけどバランスは良い言語だと思うよ。
他の有名なLLは、スレッドが使いにくかったり遅かったりそもそもWeb以外で
あまり使われていなかったりGUIライブラリが貧弱だったりと汎用言語にするには
キツイ欠点があるけど、Pythonはそういった欠点が少なくて適用範囲が広いから便利。
でも、そういった実装や周りの環境を考えないで言語だけに注目したときに、
「Pythonは他のLL全部を圧倒する素晴らしい言語だ」って言っちゃうヤツっているの?
0131デフォルトの名無しさん
2011/05/09(月) 03:47:51.89Python「ググるとわかりますよ」
Perl「ググればわかるけど、こういうことじゃないだろうか?」→なぜか関係ない古参の雑談のネタに
Ruby「死ねよ。俺登校拒否だけど、コミッター。イジメってストレス解消だよね。」
という答えが返ってくる確率高い。
0132デフォルトの名無しさん
2011/05/09(月) 05:10:51.41イジメってストレス解消だよね。
こんな事言った奴は許せんな。
人間としてのまともな感覚があるとは思えん。
0133デフォルトの名無しさん
2011/05/09(月) 05:27:52.76>このエラーは間違いなく初心者にとっては混乱の元
>1 givenと言ってるが
>初心者にとっては引数など与えたつもりなどない
すごく同意。初心者にはわからないエラーメッセージだよね。
>>86
そうなんだよ。まったくそのとおりなんだけど、Pythonにしょっぱいところはないと言い張る
Python信者がいるから変なはなしになるんだよ。>>87みたいな。
0134デフォルトの名無しさん
2011/05/09(月) 06:48:31.910135デフォルトの名無しさん
2011/05/09(月) 07:30:15.02初心者でも一度もつまづかずにマスターできる汎用的な言語があるのなら、ぜひ知りたいものだ。
それと>>57の問うてる
> self反対派は、まず関数の第一引数のことを行っているのか、属性アクセスの事を言っているのか、
> 後者であればRubyみたいに記号を割り当てないのが嫌だと言っているのか、
> それともJavaみたいに省略できないのが嫌だと言っているのかをはっきりしてくれ。
は、かなりまともな問いだと思うよ。
具体的に何が不満なのか書かずに、ただself批判してるだけだと、理由もなく叩きたいだけの人にしか見えない。
これに関しては、どっちでもいいことだと思うし、他の言語と違うからとかいう叩き方はすごくダサいと思う。
0136デフォルトの名無しさん
2011/05/09(月) 08:43:34.90>> self反対派は、まず関数の第一引数のことを行っているのか、属性アクセスの事を言っているのか、
>> 後者であればRubyみたいに記号を割り当てないのが嫌だと言っているのか、
>> それともJavaみたいに省略できないのが嫌だと言っているのかをはっきりしてくれ。
こんなことを言われてる時点で、仕様がださいことが決定的だよな。
0137デフォルトの名無しさん
2011/05/09(月) 08:55:32.980138デフォルトの名無しさん
2011/05/09(月) 08:56:12.45いや、マジでselfがあるって知らないでPythonプログラミングしてる奴がいるなら今直ぐに止めた方がいいと思うよ
なんか反論ある?初心者が把握しないでも良い正統的な理由があるの?
0139デフォルトの名無しさん
2011/05/09(月) 08:58:06.37Perlは、$_[0]
0140デフォルトの名無しさん
2011/05/09(月) 09:01:00.280141デフォルトの名無しさん
2011/05/09(月) 09:04:50.65Pythonすら使えないゆとりが使える言語を紹介してくれよ
0142デフォルトの名無しさん
2011/05/09(月) 09:33:43.42そいつは改行やインデントも省略するに違いない
ルールを他の言語に合わせることの合理性が欲しいならpythonをやるべきではないが
Javaと似てないからしょっぱいという主張に正当性があるのかは不明
0143デフォルトの名無しさん
2011/05/09(月) 09:59:15.810144デフォルトの名無しさん
2011/05/09(月) 10:01:58.76お前アホすぎてそこしか理解できないだけだろ?
0145デフォルトの名無しさん
2011/05/09(月) 10:07:30.10スコープと生存期間周りのルールの問題
>Pythonの作者のGuido Van Rossumはまた、間抜けな技術的失策を初期に犯している。
>ラリーの失策ほど甚だしいものではないが、それでもいくつか本当にひどいのがある。
>たとえばPythonはもともとレキシカルスコープを持っていなかった。
>そして動的スコープも持っていない。動的スコープにも問題はあるのだが、それなりには機能する。
>Pythonはグローバルスコープとローカル(関数)スコープ以外のスコープを何も持っていない。
http://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
0146デフォルトの名無しさん
2011/05/09(月) 10:17:51.65>>127
Pythonでは中二みたいな奴は存在しないよね
Rubyはどうだろ?
お前sora_hのこといってんのか!?
キングダム オブ ルビー コミッターのsora_hに土下座しろ!!
0147デフォルトの名無しさん
2011/05/09(月) 10:17:51.53しかもホワイトスペースには寛容らしいから、並のプログラマでもないんだろうな。訳がわからない
0148デフォルトの名無しさん
2011/05/09(月) 10:17:56.43じゃなくて、pythonのselfがいけてないことをどうしても認めようとしないだけでしょ?
信者の鏡ですな
0149デフォルトの名無しさん
2011/05/09(月) 10:21:29.38じゃなくて、selfってスコープを表してるだけだからなあ
他に叩くこともなくてこれを一生懸命叩いてるんだろうけどさ
0150デフォルトの名無しさん
2011/05/09(月) 10:22:34.41ハワイかどっかに旅行いって
変な教会の場所に、ラリウォールみたな人が受付をやってました
最初、なんかピンッときたんですが
そのあと質問したらラリーウォールっていってました
旅行者に出されるクイズみたいなやつがでたんですが
最初は視力とかなんか意味わからない問題がでました
そして中盤らへんにPerlの質問がでました
質問内容は、Perlのよさはなにか みたいで4択ででました
変数がどうたら、処理速度がどうたら 実用的とかだったきがします
そして突然ラリーウォールが教われました つかみ合いになってました
僕はその敵の腹を殴ったんですが びくともしませんでした
そして、なぜか教室掃除をさせられました旅行者全員
乾拭きをもって床をふいてました
0151デフォルトの名無しさん
2011/05/09(月) 10:24:44.74お前らウンチがスコープとかselfクソ!!都会っても無駄です
言語製作者に直接いうか、言語製作者がウォッチしてそうなスレでやってください
こんなクソスレはパイソン製作者とかみてません
わかりましたか?
だったらさっさと書き込むなクズ
0152デフォルトの名無しさん
2011/05/09(月) 10:24:57.12kwsk
0153デフォルトの名無しさん
2011/05/09(月) 10:26:31.16初心者はself以外の話を出来ないんですよ。許してあげましょうよ
0154デフォルトの名無しさん
2011/05/09(月) 10:27:29.300155デフォルトの名無しさん
2011/05/09(月) 10:27:31.49正直それができるぐらいならselfいらないと思うんだが
そのsuper()にはself渡してないけど、どっからselfに関する情報もってきたの?
Pythonマジ意味わからん
ってかキモすぎる
0156デフォルトの名無しさん
2011/05/09(月) 10:28:17.21フォフォフォフォフォ
selfとかマジでいってんおかね君は
Perlでいうmy $class=shift;みたいなもんすか
もうわしは50歳
0157デフォルトの名無しさん
2011/05/09(月) 10:29:06.20selfっていうのはperlでいう$self=shift;ですか?おしえてください
なんかよくわかりません
0158デフォルトの名無しさん
2011/05/09(月) 10:30:01.720159デフォルトの名無しさん
2011/05/09(月) 10:30:11.27普通、初心者だから把握してないんだろ
それを、初心者も把握していなければならないとしてしまったら
初心者は路頭に迷ってしまうぞ
0160デフォルトの名無しさん
2011/05/09(月) 10:30:24.52ゲームも弱っ弱っの忍者さんがいるスレはここですか!?
0161デフォルトの名無しさん
2011/05/09(月) 10:30:51.17マジでキモいんだけど
0163デフォルトの名無しさん
2011/05/09(月) 10:32:41.89え?じゃあどうやってプログラミングするの?把握せずに、どうやってプログラミングするの?
0164デフォルトの名無しさん
2011/05/09(月) 10:34:09.36少なくともself批判してる馬鹿みたいに大混乱することはなかったな
たぶんself批判してるレベルの理解力の奴はプログラミングとか向いてないと思うよ
0165デフォルトの名無しさん
2011/05/09(月) 10:35:27.12ポインタ分からないからC以外の言語を使うとか言う奴みたいだな
0166デフォルトの名無しさん
2011/05/09(月) 10:44:04.91分かりにくい件で、これがイケてないのはGuidoも認めてる。
http://coreblog.org/ats/translation-of-why-explicit-self-has-to-stay
第一引数を省略できない(追加の5タイプが必要な)デメリットは、メソッドを
インスタンス経由で参照されるまではただの関数として利用できるメリット
(クラスの外側で定義した関数をメソッドにできるとか、デコレータが使えるとか)
とのトレードオフ。
ただし、Rubyは後発で、Pythonでいう関数をモジュールのメソッドに置き換えることで
関数自体を無くしてメソッドで統一したり、mixinを使ったりして、このトレードオフを
Pythonよりもうまく扱っている。つまり、PythonがイケてないというよりRubyがエライ。
まぁRubyにはRubyで代わりにしょっぱいところは沢山あるし、RubyはPythonが昔から
持っているキーワード引数をまだ導入出来ていなかったりするから、selfの件だけで
RubyがPythonよりエライとは言わないけどね。
0167デフォルトの名無しさん
2011/05/09(月) 10:45:34.260168デフォルトの名無しさん
2011/05/09(月) 10:46:59.960169デフォルトの名無しさん
2011/05/09(月) 10:47:18.46引数が一意に決まるからだろ
0170デフォルトの名無しさん
2011/05/09(月) 10:48:51.36存在自体がしょっぱいから落ち目ってこと
0171デフォルトの名無しさん
2011/05/09(月) 10:49:46.60ちょっと意味が分からない
def __init__(self, arg):
super().__init__(arg) // self使ってないが別に困らない
引数のselfは何の役に立ってるの?
0172デフォルトの名無しさん
2011/05/09(月) 10:50:44.97>>44のコメント読めよ
0173デフォルトの名無しさん
2011/05/09(月) 10:51:03.50Python3 の super() は引数が省略された場合、呼び出し元のフレームから
第一引数を取ってくる。
Python2では、super() は旧スタイルクラスが混じってると動作しないから、
あまり使われていない。
0174デフォルトの名無しさん
2011/05/09(月) 10:53:26.47>>173 なので、第一引数の self は暗黙的に super() に渡されている。
0175デフォルトの名無しさん
2011/05/09(月) 10:53:40.57なるほど意味分かった、ありがとう
フレームの第一引数を暗黙に取るのか
そういう暗黙チックな構文糖を導入するぐらいなら
他にも色々できることあったような気がする
0176デフォルトの名無しさん
2011/05/09(月) 10:54:35.310177デフォルトの名無しさん
2011/05/09(月) 11:01:29.57Python3 の super() に関してはもっと暗黙な部分があって、
呼び出し元のメソッドオブジェクトからクラスを取れるようになっている。
なので、クラススコープで定義された関数とそれ以外で定義された関数は別物。
クラスの外で作られた関数では、super()の引数を省略できない。
selfはむしろ、クラス取るために呼び出し元をこれだけ弄るなら、第一引数取る
くらい追加の仕掛けなしにできるからイイじゃない、ってくらいのオマケ。
0178159
2011/05/09(月) 11:01:51.27把握せずにプログラミングしちゃうのが初心者だろ?
>>164
大混乱はしないさ、最初だけ
でもそれを批判しちゃってるのが「初心者でも把握しとけ」だろ?
0179デフォルトの名無しさん
2011/05/09(月) 11:05:21.73初心者が把握できてないselfのどこに問題があるんだ?
問題があるのは初心者だろ
0180デフォルトの名無しさん
2011/05/09(月) 11:06:44.15詳しくありがとう
callerの実行時情報見て動きを変える関数って黒魔術めいてるけど
特殊用途の関数だからいいってことなのかな……
Pythonのほかの言語要素からすると異色の実装に見える
0181デフォルトの名無しさん
2011/05/09(月) 11:07:23.810182デフォルトの名無しさん
2011/05/09(月) 11:08:45.140184159
2011/05/09(月) 11:13:33.32初心者には確かに解り辛くて、それをあろうことか
初心者のせいにしちゃってるのがマズいってこと
0185デフォルトの名無しさん
2011/05/09(月) 11:13:42.74もしかして>>180に対するレス?
一般にオーバーロードは呼び出し側のフレーム情報は用いないし
Pythonにはオーバーロードは存在しないと思ったけど
俺なんか勘違いしてる?
0186デフォルトの名無しさん
2011/05/09(月) 11:15:18.37pythonにはオーバーロードは存在しないよ。初めから引数が省略されてるのがおかしいみたいな
言い方してたから。それってそんあにおかしいことかあ?
挙動を考えれば分かると思うけど、クラス外でクラス内の省略した呼び方したら普通にエラーになるんじゃねえの
0187デフォルトの名無しさん
2011/05/09(月) 11:16:34.52いやだからなんで「オーバーロード」が出てくるのかさっぱりわからない
0188デフォルトの名無しさん
2011/05/09(月) 11:17:31.96デフォルト値があるからオーバーロードがないんだろ
結局とる引数によって動きを変えるなんて普通
0189デフォルトの名無しさん
2011/05/09(月) 11:19:39.25> 結局とる引数によって動きを変えるなんて普通
関数がその関数に与えられた引数によって動きを変えるのは普通というより
当たり前
super()関数は、super()の引数じゃなくて、super()を呼んだ関数への引数
によって動きを変えているから
いちいち実行時フレームを参照している
ちっとも普通じゃない
そんなことも理解しないでオーバーロードとかホザいてたの?
0190デフォルトの名無しさん
2011/05/09(月) 11:20:31.90だからフレームが変わると引数が変わるだろ
0191デフォルトの名無しさん
2011/05/09(月) 11:21:21.27kswk
0192デフォルトの名無しさん
2011/05/09(月) 11:23:57.110193デフォルトの名無しさん
2011/05/09(月) 11:30:24.84一種のハックだと思う
0194デフォルトの名無しさん
2011/05/09(月) 11:47:49.95クラスの外で呼んだ時、の意味を詳しく
class Foo(Bar):
def meth(self):
super().meth()
で、foo=Foo(); foo.meth() という意味であれば、もちろんできる。
def hacked_meth(self):
super().meth()
Foo.meth = hacked_meth
という意味であれば、できない。第一引数じゃなくてクラスのほうが取れないから。
0195デフォルトの名無しさん
2011/05/09(月) 12:07:58.20もしかしてselfって環境そのもの?
0196デフォルトの名無しさん
2011/05/09(月) 12:18:35.54そうではなくて、ただのthis
0197デフォルトの名無しさん
2011/05/09(月) 19:22:26.33どうでもいいけど俺の名前使うのやめてくれない?
0198デフォルトの名無しさん
2011/05/09(月) 19:22:45.370199test ◆M5ZWRnXOj6
2011/05/09(月) 19:23:01.230200a ◆M5ZWRnXOj6
2011/05/09(月) 19:25:46.460201test ◆M5ZWRnXOj6
2011/05/09(月) 19:35:46.370202デフォルトの名無しさん
2011/05/09(月) 19:43:18.15まるで@だとすごくいけてるかのような書き方だなw
0203デフォルトの名無しさん
2011/05/09(月) 20:17:54.84そもそもメソッドなら@すら要らないんだし
…あー、属性への代入で self 省けないのはちょっとスマートじゃないな
仕組み上、仕方ないのは解るけどさ
0204デフォルトの名無しさん
2011/05/09(月) 20:18:56.190205デフォルトの名無しさん
2011/05/09(月) 20:28:22.090206デフォルトの名無しさん
2011/05/09(月) 20:35:12.070207デフォルトの名無しさん
2011/05/09(月) 20:50:17.41B 言語 PG :『A 言語って××がマイナスポイントだよね
A 言語 PG :『B 言語だってマイナスポイントはあるだろ
ってなるのは何でだろうね。
B 言語 PG :『A 言語って××がマイナスポイントだよね
A 言語 PG :『そうだね。そこは不便だけど、別のプラスポイントがあるから使ってるよー
で良いと思うんだが・・・
0208デフォルトの名無しさん
2011/05/09(月) 21:32:35.12バトルロワイヤルですし
0209デフォルトの名無しさん
2011/05/09(月) 21:37:53.03属性とインスタンス変数が区別出来なくなるじゃない
0210デフォルトの名無しさん
2011/05/09(月) 21:47:44.31Perlから移りやすい文法なので言語としてはいいんだけど。
初心者でゼロからやる人はPythonの方がいいよな。今なら間違いなく。
0211デフォルトの名無しさん
2011/05/09(月) 21:57:21.30コミュニティって必要かな
0212デフォルトの名無しさん
2011/05/09(月) 22:02:04.48でもPythonは今日のログで排他的な印象持ったなあ
まあRuby側からの印象でしかないけどさ
0213デフォルトの名無しさん
2011/05/09(月) 22:03:52.19このスレでコミュニティの質を判断するなww
0214デフォルトの名無しさん
2011/05/09(月) 22:06:21.12心底うんざりしているのを忘れないでくれ
0215デフォルトの名無しさん
2011/05/09(月) 22:10:02.04黙れハゲ
0216デフォルトの名無しさん
2011/05/09(月) 22:10:24.390217デフォルトの名無しさん
2011/05/09(月) 22:12:22.95self とか
global とか
lambda とか
GIT とか
速度とか
色々あるでしょ
0218デフォルトの名無しさん
2011/05/09(月) 22:12:38.760219デフォルトの名無しさん
2011/05/09(月) 22:12:59.68× GIT
○ GIL
0220デフォルトの名無しさん
2011/05/09(月) 22:18:51.50圧倒的にスレッドが使い物になる言語だから、それを欠点にあげると他のLLは
論外になってしまう。
0221デフォルトの名無しさん
2011/05/09(月) 22:23:35.71お前がその二つしか解らない底なしのアホだからって
そんなに怒んなよ
0222デフォルトの名無しさん
2011/05/09(月) 22:26:48.80他の LL って php, Perl, Ruby 1.8 しか挙ってないみたいですが??
どこが論外なんだろう・・・
0223デフォルトの名無しさん
2011/05/09(月) 22:28:52.43スレタイ
0224デフォルトの名無しさん
2011/05/09(月) 22:29:14.820225デフォルトの名無しさん
2011/05/09(月) 22:30:18.35そういうこと言いたいなら、まずリストアップされてない
言語を自分で挙げなよ
0226デフォルトの名無しさん
2011/05/09(月) 22:31:15.16次スレからは Erlang も Haskell も Go も JavaScript も Common Lisp も
Scheme も SML も OCaml も、マルチスレッドを扱える LL は全て入れて
おくべきだなw
0227デフォルトの名無しさん
2011/05/09(月) 22:31:38.00>>226
0228デフォルトの名無しさん
2011/05/09(月) 22:33:02.620229デフォルトの名無しさん
2011/05/09(月) 22:35:54.94微妙な所だけど、gauche が昔からネイティブスレッド扱えるから入れておいた
0230デフォルトの名無しさん
2011/05/09(月) 22:36:42.82スレタイにそんなに書ききれないし
>>1には
LLの定義とともに
>エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
と書いてある(ただの例示的列挙)わけだからいちいち明示する必要はないだろう
ってマジレススマソ
0231デフォルトの名無しさん
2011/05/09(月) 23:39:05.49へー
0232デフォルトの名無しさん
2011/05/10(火) 04:42:04.03ほかのみんなはPython信者の傲慢ぶりとPerl忍者のきちがいぶりに心底うんざりしていることを忘れないでくれ
0233デフォルトの名無しさん
2011/05/10(火) 05:32:11.75傲慢なんじゃなくてアホが言い負かされてるだけ
0234デフォルトの名無しさん
2011/05/10(火) 05:53:27.16ソースファイルを瞬時に実行できるなら
このスレの対象であるところのLLに含めていいと思う
0235デフォルトの名無しさん
2011/05/10(火) 06:34:55.30プログラマの三大美徳は不精、短気、傲慢
0236デフォルトの名無しさん
2011/05/10(火) 09:30:34.40ソース読め
0237デフォルトの名無しさん
2011/05/10(火) 10:03:54.53それが、C++インタプリタとかいう物も存在するんだよ…
0238デフォルトの名無しさん
2011/05/10(火) 10:27:38.62cint? あれ試したこと無いけど早いのかな
使ってたら time helloworld.c とかやってくれるとうれしい
静的型でも早いなら>>234は引っ込める
0239デフォルトの名無しさん
2011/05/10(火) 12:12:18.49ちょ、ちょっと待て、>>234 に早さの条件とか入ってたのか
0240デフォルトの名無しさん
2011/05/10(火) 12:17:00.65cc helloworld.c && ./a.out
0241デフォルトの名無しさん
2011/05/10(火) 12:17:55.65「プログラマの負担が軽量な言語」とは言えんと思うがw
0242デフォルトの名無しさん
2011/05/10(火) 12:29:56.20少なくともJavaよりは楽かな。でもやっぱC/C++のいいところは実行速度だからな
たまにPythonのコードをC/C++に書き換えるとその速さに感心する
でも文字列処理とか配列処理とかいちいち作るの面倒すぎ
0243デフォルトの名無しさん
2011/05/10(火) 12:47:01.83ごめんごめん。>>234を十分条件みたいに書いたのはバカだった
CをLLというにはたしかに無理があるw
あくまで必要条件として次がほしいなあと
* 事前の明示的なコンパイルが不要
* 実行開始するまでの時間が短い
JRuby, Scala, Clojureみたいにスクリプトっぽく実行できるけど
スタートアップに時間かかる言語/処理系があるので
そういう思いで>>234を書いたのでした
0244デフォルトの名無しさん
2011/05/10(火) 14:18:17.10LLの第一義定義である「プログラマの負担の軽重」と何も関係ないし……
特に、Web用途が大半である(と思われる)PHPとの比較で考えれば
起動の時間は問題にもならないだろ
0245デフォルトの名無しさん
2011/05/10(火) 14:46:10.08http://hirata-create.lar.jp/
0246デフォルトの名無しさん
2011/05/10(火) 15:44:16.600247デフォルトの名無しさん
2011/05/10(火) 19:51:51.95とりあえず十分条件の意味をよく調べてみようか
0249デフォルトの名無しさん
2011/05/14(土) 12:27:17.190250デフォルトの名無しさん
2011/05/14(土) 12:32:17.360251デフォルトの名無しさん
2011/05/15(日) 06:37:19.83(Lispは知らないので真偽は定かでない)
0252デフォルトの名無しさん
2011/05/15(日) 09:31:54.070253デフォルトの名無しさん
2011/05/15(日) 10:43:05.89そのかわりメモリだだ使いまくりでコンパイル遅いけど
ふつうのプログラムならそりゃCで書いたほうが速いに決まってるわけで、つまりこの世の9割はLispで書くとCより遅い
0254デフォルトの名無しさん
2011/05/15(日) 12:32:07.49Cだと何でもできるから最適化に限界があるってかんじじゃん?
0255デフォルトの名無しさん
2011/05/15(日) 12:37:07.70Cの最適化はかなり進んでるぞ
0256デフォルトの名無しさん
2011/05/15(日) 15:00:32.33Cより速いJava
http://d.hatena.ne.jp/kenmaz/20080702/1214932866
0257デフォルトの名無しさん
2011/05/15(日) 15:05:01.13その為、ディスアセンブルする関数が言語に組み込みだったりする
0258デフォルトの名無しさん
2011/05/15(日) 15:46:24.67はいはい、バイトコード最適化厨乙
0259デフォルトの名無しさん
2011/05/15(日) 15:52:20.73Lisp はバイトコードじゃなくてネイティブコードだっつの
0260デフォルトの名無しさん
2011/05/15(日) 15:58:09.220261デフォルトの名無しさん
2011/05/15(日) 15:59:05.440262デフォルトの名無しさん
2011/05/15(日) 16:04:12.340263デフォルトの名無しさん
2011/05/15(日) 16:05:00.350264デフォルトの名無しさん
2011/05/15(日) 16:06:01.310265デフォルトの名無しさん
2011/05/15(日) 16:11:49.23Cはベクトル演算、並列演算を意識した言語仕様になっとらんし
ポインタ等が最適化を邪魔してる面があって
CのコードをコンパイルしてもあんまりSIMDとか使ってくれんだろう
動画処理など少しでも性能が欲しい(が単純な数値計算の多い)ソフトは
Cでも遅くてASM使いまくってるみたいだな
0266デフォルトの名無しさん
2011/05/15(日) 16:16:06.150267デフォルトの名無しさん
2011/05/15(日) 16:18:03.080268デフォルトの名無しさん
2011/05/15(日) 16:56:53.08restrict修飾子のおかげでCでもポインタはハンデにならなくなった
0269Perl忍者
2011/05/15(日) 17:21:33.96まじすごくない 本当にすごくない
だっておまえらウンコが書くスクリプトうんこなんだもん
モバゲーとかグリーとかのバカチョンたちがゲームつくってるけどウンコ
オンラインゲームにばりばりちょうちょうちょう!!負けちゃってるウンコゲーム
提供相手は情弱、ウンコゲームによろこぶ情弱、うんこみたいな出尽くしてる運子ゲーム
あっちむいてほいとか、javascriptでテトリスとかもう失笑物だよね(笑)
あの一人で作ったときはすげえって思うけど
所詮テトリスとかクソみたいなパズルゲームとかjavascriptで作ったうんこみたいなウンチゲームまじきもいんで
ブログとかにのせないでもらいませんか??
javascriptでゲームとかゲームなめてんですか?
自分で満足しても僕から見たら全部ウンコですよ
Dofusuくらいなら、まあがんばったね くらいですよそれ以下はゴミ
君たちjavascriptで、あっちむいてほいとかジャンケンとかテトリスとかライフゲームとか
パズルとかもうまじで痛すぎますよ!!!究極!!!!!まじで!!
もうやめてくださいね本当にじゃあさようなら!!!
0270Perl忍者
2011/05/15(日) 17:24:31.660271デフォルトの名無しさん
2011/05/15(日) 20:05:19.310272デフォルトの名無しさん
2011/05/15(日) 21:35:20.620273デフォルトの名無しさん
2011/05/15(日) 23:06:54.140274デフォルトの名無しさん
2011/05/16(月) 00:21:47.54プログラミングスキルは全く重要じゃない
0275デフォルトの名無しさん
2011/05/16(月) 00:42:13.950276デフォルトの名無しさん
2011/05/16(月) 03:20:56.71激しくネットワークトランザクションが発生するとか、膨大な量の
ポリゴンを処理したいとか、マシンの性能を最大限まで引き出したい
とかじゃなければ JavaScript でゲームを書くのも現実的な選択肢だと
思うわ。
短時間でそれなりの物を作れるのはかなり大きいメリットだと思う。
コーディングよりもロジックを考える方に時間を使えるからね。
0277デフォルトの名無しさん
2011/05/16(月) 04:15:40.790278デフォルトの名無しさん
2011/05/16(月) 07:57:59.27なんか高温の環境とかでチップがどんどこ壊れるとかそんなのみたいだ。
0279デフォルトの名無しさん
2011/05/16(月) 08:36:18.350280デフォルトの名無しさん
2011/05/16(月) 09:42:43.320281デフォルトの名無しさん
2011/05/16(月) 13:28:40.09金儲けを考えると批判され
0282デフォルトの名無しさん
2011/05/16(月) 13:43:40.78そこで述べてるのって開発側にとってのメリットだよね
ありがちなFlash+ActionScriptじゃなくてJSをゲーム開発に選んで
何が嬉しいのか、それだけだとよくわからない
0283デフォルトの名無しさん
2011/05/16(月) 15:25:12.780284デフォルトの名無しさん
2011/05/16(月) 17:31:27.24NoSQLで負荷分散うんたらかんたらとか、そんなのどうでも良い。
0285デフォルトの名無しさん
2011/05/16(月) 18:04:06.51iOS で動く
ベンダーフリー
ブラウザ側と連携し易い
つーか、別に Flash でも良いよ
『○○が良い』って言うと『排他的に○○が良い』と言ったと思う人多いね・・
0286デフォルトの名無しさん
2011/05/16(月) 18:10:18.62つまりLLだけど、ease of developという意味での利点ではないのね
0287デフォルトの名無しさん
2011/05/16(月) 18:12:58.33Flash との差分を挙げただけだけど?
何で LL としての利点を挙げないといけない事になってるんだろ・・
0288デフォルトの名無しさん
2011/05/16(月) 18:13:02.190289デフォルトの名無しさん
2011/05/16(月) 18:14:13.010290デフォルトの名無しさん
2011/05/16(月) 18:15:40.91いや、Flashゲーならありふれてるけど敢えてJS推したい強力な
理由がなんかあるのかと
0291デフォルトの名無しさん
2011/05/16(月) 18:16:24.02>>285 の下2行
0292デフォルトの名無しさん
2011/05/16(月) 18:18:08.55敢えてJS出したのは気分の問題?
0293デフォルトの名無しさん
2011/05/16(月) 18:22:14.23強力に押したい理由って例えばどんなの?
イチイチ突っかかってくるのは気分の問題?
0294デフォルトの名無しさん
2011/05/16(月) 18:25:50.00IE9 + HTML5のデモに使われているのを見て色々考えることがあった
HTML5! W3C標準!とか言っても、あれがまともに見れる環境、
Flashアニメまともに見れる環境より少ないんじゃないのか
0295デフォルトの名無しさん
2011/05/16(月) 18:28:31.48いや、>>276の言っている大筋の論旨は実にLL的だけど、
その論旨の中でのJavaScriptゲーという選択がありがちなFlashに比べて
微妙にマニアックでよくわからなかっただけ
0296デフォルトの名無しさん
2011/05/16(月) 18:28:34.24簡単な理屈なんだが
0297デフォルトの名無しさん
2011/05/16(月) 18:30:32.60新技術は当然あってもいいが、それにデベロッパとしてさっさと
追従するのが妥当かどうかはまったく別だろう
HTML5のVideoにしてもお話にならん状態だし
せいぜい5年先、10年先に生きてくる話だろうと思ってる
0298デフォルトの名無しさん
2011/05/16(月) 18:31:02.04LL 的な部分で JavaScript が Flash より優れている所を聞きたいってこと?
正直 Flash はもう興味が無いから、知りたかったら別の人に聞いて
0299デフォルトの名無しさん
2011/05/16(月) 18:33:05.73デベロッパ全員が追従しなくていいでしょ
俺は行くけど君は残るという選択は何の問題も無いよ
0300デフォルトの名無しさん
2011/05/16(月) 22:16:38.170301デフォルトの名無しさん
2011/05/17(火) 04:43:16.050302デフォルトの名無しさん
2011/05/17(火) 06:05:21.33↑なにこの意味不明な言語
0303デフォルトの名無しさん
2011/05/17(火) 07:05:12.050304デフォルトの名無しさん
2011/05/17(火) 07:22:58.42((lambda ...) ...)
0305デフォルトの名無しさん
2011/05/17(火) 08:23:20.06言語としては別にあんま変わらないと思ってたんだが、違うのか?
0306デフォルトの名無しさん
2011/05/17(火) 08:40:04.08もう少し見やすい方法も。。。
new function() {}
0307デフォルトの名無しさん
2011/05/17(火) 12:25:51.00糞が
0308デフォルトの名無しさん
2011/05/17(火) 13:11:59.48どこが分煙だよ、って気分になるぞ。
0309デフォルトの名無しさん
2011/05/17(火) 13:13:04.18new しただけで本体が実行されるのもちょっと……
0310デフォルトの名無しさん
2011/05/17(火) 13:32:22.86気にするな、C++もだいたいそんな感じだ
#include <stdio.h>
int main(){[](){[](){[](){puts("|ω・`)");}();}();}();}
0311デフォルトの名無しさん
2011/05/17(火) 14:51:15.72( ゚Д゚)y─┛~~ >>308
−y( ´Д`)。oO○ >>308
あ、ごめん、そっちいっちゃった?
めんごめんご
ま、煙草吸わない奴はそうかも知れないけど
喫煙所って俺らにはコミュニケーションの場なんだよね
煙草が嫌なら自宅に閉じこもって仕事してろ
0312デフォルトの名無しさん
2011/05/17(火) 15:11:35.030313デフォルトの名無しさん
2011/05/17(火) 15:26:39.040314デフォルトの名無しさん
2011/05/17(火) 15:49:24.79むしろ煙草を吸うなら自宅で吸ってろ
0315デフォルトの名無しさん
2011/05/17(火) 16:02:36.12しかし、タバコの煙で健康を害する奴って結局、遺伝的に弱すぎなんじゃね?
実際タバコぱかぱか吸って90で元気なジジババだって一杯いるし、タバコに弱い
遺伝子は絶滅すべきなんじゃなかろうか?
0316デフォルトの名無しさん
2011/05/17(火) 16:08:31.620317デフォルトの名無しさん
2011/05/18(水) 00:39:06.06しかし、脆弱性を実際に突かれる奴って、運が悪すぎなんじゃね?
実際脆弱性をそのままにしてるシステムだって一杯あるし、運が悪い
システムは絶滅すべきなんじゃないだろうか?
なんか、違うな……
0318デフォルトの名無しさん
2011/05/18(水) 07:56:35.430319デフォルトの名無しさん
2011/05/18(水) 08:00:02.350320デフォルトの名無しさん
2011/05/18(水) 09:22:43.59納税ご苦労様です
0321デフォルトの名無しさん
2011/05/18(水) 22:45:47.91場違いな嫌煙主張をしてる奴はニコチン以外の何かによって脳みそがヤラれてるんだと思う
0322デフォルトの名無しさん
2011/05/18(水) 23:17:54.040323デフォルトの名無しさん
2011/05/18(水) 23:26:25.420324デフォルトの名無しさん
2011/05/18(水) 23:42:36.710325デフォルトの名無しさん
2011/05/18(水) 23:43:53.40ほんとお前jは救いがたいバカだな(笑)
0326デフォルトの名無しさん
2011/05/19(木) 00:00:25.260327デフォルトの名無しさん
2011/05/19(木) 00:22:55.19コンパイルできません><
0328デフォルトの名無しさん
2011/05/19(木) 00:27:33.43C++と言っても0xだからな
少なくとも0xのラムダ式に対応したコンパイラじゃないとダメだ
0329デフォルトの名無しさん
2011/05/19(木) 01:05:59.50gcc 4.5 でできました!
ラムダわけわかんないけどc++でもトレンドになるなら
LLの勉強してなれとこうかな
0330デフォルトの名無しさん
2011/05/19(木) 01:13:47.070331デフォルトの名無しさん
2011/05/19(木) 01:16:33.820332デフォルトの名無しさん
2011/05/19(木) 01:30:58.970333デフォルトの名無しさん
2011/05/19(木) 01:36:10.650334デフォルトの名無しさん
2011/05/19(木) 01:36:22.37構文が醜くてもlambdaで書くほうがstructでいちいちファンクタ記述するよりは楽だが
BOOSTのlambdaなら非0xコンパイラでも利用できるし
それでなくともlambdaでなければ実現できないことがあるわけでもないので
ポータビリティを優先させるという選択は普通にありえる
記述で楽をしたいことが最重要ならC++など選んでいるはずはないのだから……
0335デフォルトの名無しさん
2011/05/19(木) 01:59:02.95でもC++を使う理由はそれだけじゃなくて、変態だからってのもあるよ
マルチパラダイムの選択肢がまた増えちゃうってのは変態的にはワクワクだろう
だから変態のトレンドにはなる気がする
つまりネット上で盛り上がってるように見えるけど職場では禁止されるパターン
0336デフォルトの名無しさん
2011/05/19(木) 02:03:03.95それは無名関数を普通の関数と同じ形式で呼び出せるという
JavaScript 最大の利点のひとつなんだけどな・・
Scheme でいう所の >>304 と一緒
JavaScript の場合は、本来の関数適用という用途から外れて、
スコープを作る目的で多用されているのが問題なんだろうね
0337デフォルトの名無しさん
2011/05/19(木) 05:15:29.30面倒だ。なんだよあのむちゃくちゃに長い名前。
0338デフォルトの名無しさん
2011/05/19(木) 05:26:29.810339デフォルトの名無しさん
2011/05/19(木) 18:16:16.07今日書いたC++の涙が出てくるコード
std::binder1st<std::mem_fun1_t<uint64_t&, TrackEditor, size_t> >
ctsf = std::bind1st(std::mem_fun(&TrackEditor::CTS), this),
dtsf = std::bind1st(std::mem_fun(&TrackEditor::DTS), this);
Pythonなら単に
ctsf = self.CTS
dtsf = self.DTS
ってとこか
0xならstd::functionとかautoとか使えるんだよな確か
0340デフォルトの名無しさん
2011/05/19(木) 20:14:50.30ソート方法なんてそんな使い回すものじゃないんだし
一時関数でいいじゃん、それってlambda式がぴったりじゃないかなと
0341デフォルトの名無しさん
2011/05/19(木) 22:04:00.460342デフォルトの名無しさん
2011/05/20(金) 01:09:02.80情報系の院で、計算量の多い数値計算プログラムを書き捨ててる際に、
特にboostのlambdaとかbindの使い方が分からん奴にとって、
今すぐにでも正規に入れて欲しい機能のひとつ
0343デフォルトの名無しさん
2011/05/20(金) 01:24:45.310344デフォルトの名無しさん
2011/05/20(金) 01:59:35.98言語規約にってことじゃないの?
0345デフォルトの名無しさん
2011/05/20(金) 04:04:47.520346デフォルトの名無しさん
2011/05/21(土) 01:49:33.32Steve Yegge / 青木靖 訳
ttp://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
>SmalltalkはC++に取って代わるのを長い間待ち続け、そしてJavaが現れて彼らを完全か
>つ恒久的に閉め出してしまった。Rubyがまったく同じことを、今、Pythonに対して行っ
>ている。事実上一夜にして。
>Pythonは世界を支配できたかもしれないが、致命的な欠陥が2つある。
0347デフォルトの名無しさん
2011/05/21(土) 14:31:31.670348デフォルトの名無しさん
2011/05/21(土) 14:46:41.330349デフォルトの名無しさん
2011/05/21(土) 14:51:04.61phplinux
rubylinux
pythonlinux
0351デフォルトの名無しさん
2011/05/23(月) 12:31:15.11ずっといいよね。ゼロから覚える人はソースがきれいに書くように強制されるPythonの
方がいいと思うけど。
0352デフォルトの名無しさん
2011/05/23(月) 13:03:30.69ずっと良いの意味による。
Rubyに移行した先に何が待つのか?
今後のことを考えるならPythonだろう。
Rubyはコミュニティが脳内お花畑で付き合いきれん。
0353デフォルトの名無しさん
2011/05/23(月) 13:58:06.78ベターPerlを求めるならRuby、って感じじゃね。
まあ用途毎に言語決めたら良いんじゃないかとは思うが。
HerokeならRuby、GAEならPythonみたいに。
0354デフォルトの名無しさん
2011/05/23(月) 14:05:09.97コミュニティに付き合う必要ってそもそもなくね?
0355デフォルトの名無しさん
2011/05/23(月) 15:11:10.26その言語のイベントって参加したくならない?
MLでやり取りしているあの◎◎さんに会える〜
とかってなるとテンション上がるでしょ。
コミュニティにはある程度関わっておいた方が良いよ。
仕事とか技術とかで為になる話を聞ける機会も結構あるし
0356デフォルトの名無しさん
2011/05/23(月) 15:37:58.020357デフォルトの名無しさん
2011/05/23(月) 16:48:22.48イベントに参加とかしたくはならんなあ、MLならともかく
オフラインで会うとなれば地元でやることなんてほぼないのだから
1泊以上は前提になるワケで、参加したいとか思ったことない
0358デフォルトの名無しさん
2011/05/23(月) 18:48:40.550359デフォルトの名無しさん
2011/05/23(月) 19:16:16.98コミュニティの雰囲気は技術と全く関係無いでしょ
技術を増やしたいなら、サロン的な場で話を聞くよりも
他人のソースコードを読んだり自分でコーディングした方が早いよ
(自分で勉強する気があるならだけど)
0360デフォルトの名無しさん
2011/05/23(月) 22:19:12.86他言語からの移行なら本人の趣味だろう
0361デフォルトの名無しさん
2011/05/23(月) 22:22:02.74今後の事ってなに?
Pythonに何か良い事でも起きるの?
0362デフォルトの名無しさん
2011/05/23(月) 22:24:51.940363デフォルトの名無しさん
2011/05/23(月) 22:30:44.03何で Pythonian は他言語を目の敵にしてるの?
0364デフォルトの名無しさん
2011/05/23(月) 22:32:26.130365デフォルトの名無しさん
2011/05/24(火) 01:00:30.81いや、Rubyは頑張って流行作ってみました感があるよ。
それでもそこまで浸透していないように思う。
Rubyの未来に対する考えでは
島根と島根以外では温度差があるんじゃないの?
0366デフォルトの名無しさん
2011/05/24(火) 01:04:43.42いや、俺は Rubyist じゃないから Ruby なんてどうでも良いんだわ
何で Pythonista が他言語に攻撃的なのか知りたいだけ
0367デフォルトの名無しさん
2011/05/24(火) 01:08:28.560368デフォルトの名無しさん
2011/05/24(火) 02:20:16.79しばらく前まで Python を擁護する発言を見るとすぐにPython信者認定するやつが
常駐してて、 Python 叩きの方が酷いように見えたけどな。
0369デフォルトの名無しさん
2011/05/24(火) 02:26:06.560370デフォルトの名無しさん
2011/05/24(火) 08:17:39.89つまり仕返しってこと?
叩かれたから叩くと?
0371デフォルトの名無しさん
2011/05/24(火) 08:46:36.03マイナー言語使ってると発想が攻撃的になるのかね?
0372デフォルトの名無しさん
2011/05/24(火) 09:11:16.100373デフォルトの名無しさん
2011/05/24(火) 09:17:42.38いいじゃんマイナーだろうが好きなら。
0374デフォルトの名無しさん
2011/05/24(火) 09:33:08.16別に Python ユーザーが攻撃的なわけじゃなくてどの言語でも攻撃する人は
居るよと言いたかっただけなんだけど、どうしてそういう方向に考えるのかな、、、
ひょっとして小学生?
そういえば、phpだけはdisられっぱなしの総受けマゾ言語かもしれない。
0375デフォルトの名無しさん
2011/05/24(火) 12:15:22.69http://hirata-create.lar.jp/
0376デフォルトの名無しさん
2011/05/24(火) 19:28:48.40それが貴方の言いたい事なら、他の言語のユーザにも攻撃的な人が居るとだけ言えばいいんだよ
文脈を無視して、唐突に他言語のユーザに話題を広げておいて、自分の発言が理解されて当然
という風に振る舞うのはどこかおかしいと、小学生を卒業してるなら分かるでしょ
0377デフォルトの名無しさん
2011/05/24(火) 19:49:33.08つまらないことで言い争いはやめよう、と切り出したほうの圧勝
0378デフォルトの名無しさん
2011/05/24(火) 19:51:15.56大人だから勝ちは譲っておくわ
0379デフォルトの名無しさん
2011/05/24(火) 20:01:26.49やっぱりマイナー言語を使ってると攻撃的になるんだねー
0380デフォルトの名無しさん
2011/05/24(火) 20:03:04.39インデントがインデントがっていじめられたのが未だに尾を引いてる
0381デフォルトの名無しさん
2011/05/24(火) 20:03:16.73PHPユーザーは、需要があるとか現実的な理由でユーザーなんであって
言語仕様のダメさは重々わかってるからなw
でもダメな所が好きなんだぜ
0382デフォルトの名無しさん
2011/05/24(火) 20:11:51.060383デフォルトの名無しさん
2011/05/24(火) 20:17:08.19仮に指摘されてもどうってことない
0384デフォルトの名無しさん
2011/05/24(火) 20:19:19.080385デフォルトの名無しさん
2011/05/24(火) 20:29:57.00と思った一瞬後にはスッパリ忘れてるよな
0386デフォルトの名無しさん
2011/05/24(火) 20:33:23.72その内 let が行き渡るさ、と遠くを見つめて笑うだけだもんな
0387デフォルトの名無しさん
2011/05/24(火) 20:45:14.51好きな言語を使えばいい
0388デフォルトの名無しさん
2011/05/24(火) 20:56:19.55個人攻撃みたいなのはおもんないけど
0389デフォルトの名無しさん
2011/05/24(火) 21:08:42.53コミュニティの質とかどうでもいいw
0390デフォルトの名無しさん
2011/05/24(火) 21:29:53.73なんでもお手軽なUbuntuですらソフトウェアセンターで開発→Rubyって選ぶと
どわーって出てきてどれをインストールしたらいいかわからんレベル
なんかソースもってきてmake installするのが当たり前みたいな感じ
Pythonは最近のディストロだと設定スクリプトで採用されているので標準でそろってるんだよね
言語仕様的にはRubyの方が好きかな
0391デフォルトの名無しさん
2011/05/24(火) 21:34:35.630392デフォルトの名無しさん
2011/05/24(火) 21:45:37.12んだが、どれ入れればいいんだかよくわからんのは確かだ
fullと書いてあるのを入れればいいんだけど
Rubyは間違った意味でユーザー専用デスクトップ用なので、
ソースをホームディレクトリで自前ビルドしてバージョン分岐させるシステムが自前供給されてる
システムにインストールされるRubyなんてどうせRails用だろ1.8.7でいいよみたいなすごい適当な
0393デフォルトの名無しさん
2011/05/24(火) 21:48:29.600394デフォルトの名無しさん
2011/05/24(火) 21:49:26.86ソース持って来るのが当たり前なんて思い込みを押し付けられても困る
0395デフォルトの名無しさん
2011/05/24(火) 21:50:27.87らくちんだぜ
0396デフォルトの名無しさん
2011/05/24(火) 21:51:46.060397デフォルトの名無しさん
2011/05/24(火) 21:56:17.27デフォルトではないが、事実上の標準ではある
rvm use 1.8.7 とすると、 $HOME/中略/bin/ruby が $HOME/.rvm/中略/ruby-1.8.7-p344 を起動するシェルスクリプトに
rvm use 1.9.2 とすると、 $HOME/中略/bin/ruby が $HOME/.rvm/中略/ruby-1.9.2-p180 を起動するシェルスクリプトに
rvm rake test とすると、インストールされている全Rubyで rake test によるテストが長々と順に実行される
嫌ってる人もいるんだけど
0398デフォルトの名無しさん
2011/05/24(火) 22:03:16.340399デフォルトの名無しさん
2011/05/24(火) 22:05:28.46ここは戦場だぜ?
気を抜いていると死ぬぞ
0400デフォルトの名無しさん
2011/05/24(火) 22:07:19.080401デフォルトの名無しさん
2011/05/24(火) 23:00:48.150402デフォルトの名無しさん
2011/05/25(水) 00:43:17.120403デフォルトの名無しさん
2011/05/25(水) 00:45:36.990404デフォルトの名無しさん
2011/05/25(水) 00:47:10.730405デフォルトの名無しさん
2011/05/25(水) 00:57:00.810406デフォルトの名無しさん
2011/05/25(水) 00:57:59.470407デフォルトの名無しさん
2011/05/25(水) 00:59:23.470408デフォルトの名無しさん
2011/05/25(水) 03:58:41.230409デフォルトの名無しさん
2011/05/25(水) 04:16:40.940410デフォルトの名無しさん
2011/05/25(水) 09:12:07.50バージョンの微妙な違いとか依存関係でうまく動かなかったり、なんか信頼性がCPANとかに
比べるとずっと低い感じがする。
インストール時のバージョン管理とかももうちょっと賢くやってもらえないかと思ったり。
おもちゃっぽいのならいいけど、やっぱPerlとかPythonに比べると今一つ使えるものじゃない
んだよね。
0411デフォルトの名無しさん
2011/05/25(水) 09:15:27.20何でインストールの話ばかりしてるんだろね
0412デフォルトの名無しさん
2011/05/25(水) 09:30:48.980413デフォルトの名無しさん
2011/05/25(水) 09:37:55.650414デフォルトの名無しさん
2011/05/25(水) 09:42:17.81インストール無関係に実際に使っていれば気になることばかりのはずなんだが、
まさか使ってもいない言語の話しようとしてたのか?
0415デフォルトの名無しさん
2011/05/25(水) 09:42:34.13Perl,PHPよりも見た目がすっきりした汎用LLという部分で競合してるけど、
現状Web以外の分野では圧倒的に負けてるからじゃね?
PerlをRubyで置き換えたいのに、実際のLinuxディストリではRubyじゃなくて
PythonがPerl代わりに使われてしまってる。
0416デフォルトの名無しさん
2011/05/25(水) 09:46:07.14そんな気概は1ミリも見えないんだが…
0417デフォルトの名無しさん
2011/05/25(水) 09:50:47.350418デフォルトの名無しさん
2011/05/25(水) 09:56:07.50Rubyを使っている人
以外
からよく聞く
0419デフォルトの名無しさん
2011/05/25(水) 09:59:07.30この人はRubyを使ってなくてPerlを置き換えるって言ってるの?
0420デフォルトの名無しさん
2011/05/25(水) 10:03:24.200421デフォルトの名無しさん
2011/05/25(水) 10:04:23.83Rubyはどっかくどいんだ。
上手く説明できないが、キリスト教ならカトリックとかプロテスタントならついていける
けど、Rubyは統一教会とかモルモン教みたいなカルト的テイストって感じかな?
0422デフォルトの名無しさん
2011/05/25(水) 10:07:16.090423デフォルトの名無しさん
2011/05/25(水) 10:08:02.76・ $HOME/bin は Ruby スクリプト
・ サーバサイドスクリプトは Perl
・ システム起動スクリプトは Python
を使う
WebサーバでRubyスクリプトを適当使用する以上に情熱燃やしたりしないし(起動時間短縮とか省メモリとかめんどくさいから)、
Linuxやデスクトップの起動スクリプトをRubyで書いたりもしない(これも起動時間やライブラリがめんどくさいから)
0424デフォルトの名無しさん
2011/05/25(水) 10:11:39.14Perlの「小物スクリプト需要」を置き換えたとは言えるな
プロ用ウェブ記述言語としてのPerlの分野はそのまま何も変わらん
Railsの人がトチ狂って土足で踏み荒らしてるが
0425デフォルトの名無しさん
2011/05/25(水) 13:01:27.650426デフォルトの名無しさん
2011/05/25(水) 13:05:07.480427デフォルトの名無しさん
2011/05/25(水) 13:05:32.79少なくともこのスレではPython側からRuby側への攻撃の方が激しい。
レッテル貼りの人格攻撃も->Rubyの方向で多いし。
大抵の基準ではPythonの方が勝ってるから、
Python側からRuby側を攻撃する理由ってあんまりない気がするけどなー。
PythonユーザーのRubyアンチが生じる理由って、なまじ国内でRubyの人気があるせいで
国内のLLユーザーがRubyに流れがちでPythonの日本語ドキュメントの充実を妨げてるとか、
そういうところにあるんだろうか。
そんなに心配してRubyのネガキャンしなくても、
Rubyが使われてるとこがPythonに置き換えられることはあれど、
今Pythonが使われてる領域でわざわざPythonからRubyに置き換わるようなことはまずないのにね。
0428デフォルトの名無しさん
2011/05/25(水) 13:21:45.210429デフォルトの名無しさん
2011/05/25(水) 13:34:28.980430デフォルトの名無しさん
2011/05/25(水) 13:44:10.67>>124, >>131, >>170, >>210, >>352, >>362, >>421, >>425
こういう感じだからなあ。
ま、Pythonのくだらないself批判と同じで、ひとりなんだろうけどね。
0431デフォルトの名無しさん
2011/05/25(水) 13:52:49.74Stive Yeggeも書いてるしな
0432デフォルトの名無しさん
2011/05/25(水) 14:02:25.84お前らが評判落としてると自覚しようぜ
0433デフォルトの名無しさん
2011/05/25(水) 14:13:25.550434デフォルトの名無しさん
2011/05/25(水) 14:14:37.340435デフォルトの名無しさん
2011/05/25(水) 14:15:56.130436デフォルトの名無しさん
2011/05/25(水) 14:17:04.76は?お前が帰れよ
0437デフォルトの名無しさん
2011/05/25(水) 14:18:26.33これは嫌みとか皮肉とか?
0438デフォルトの名無しさん
2011/05/25(水) 14:19:14.76嫉妬か
みっともないな
0439デフォルトの名無しさん
2011/05/25(水) 14:21:29.98痛すぎる初心者のRuby信者だったりして
0440デフォルトの名無しさん
2011/05/25(水) 14:23:13.07Rubyを悪く言うのはすべてPython厨(キリッ
0441デフォルトの名無しさん
2011/05/25(水) 14:25:19.45図星ですか?
0442デフォルトの名無しさん
2011/05/25(水) 14:26:04.88ということにしないと不都合があるんですか?
0443デフォルトの名無しさん
2011/05/25(水) 14:27:43.45まあPython厨じゃないってことにしておきたければしておけばいいんじゃない?
0444デフォルトの名無しさん
2011/05/25(水) 14:29:23.80この流れを見る限り、言語の優劣はともかくruby使いがキモいことはわかるな
お前らが評判落としてると自覚しようぜ
433 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/25(水) 14:13:25.55
>>432みたいなのがPythonの評判を落とすわけだけどねw
0445デフォルトの名無しさん
2011/05/25(水) 14:35:39.720446デフォルトの名無しさん
2011/05/25(水) 14:36:05.1791 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/09(月) 01:53:12.22
>>90
それが分かってるのに分かりにくってどういうこと?w
102 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/09(月) 02:03:17.20
>>101
じゃあ絶対的には分かりにくくないってことかよw
じゃあPerlとかRubyの相対的トラップを教えてよ。で、総合的に評価してよ
今の議論は全く意味を成さないね
104 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/09(月) 02:05:27.05
分かりにくいとかいう言葉面に妙にこだわってるみたいだからその内容をここまで
親切に説明してきたのにこれかw
そんなら最初から聞くなやアホが
381 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/24(火) 20:03:16.73
>>374
PHPユーザーは、需要があるとか現実的な理由でユーザーなんであって
言語仕様のダメさは重々わかってるからなw
でもダメな所が好きなんだぜ
388 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/24(火) 20:56:19.55
スレの趣旨的にはdisりあってくれたほうがw
個人攻撃みたいなのはおもんないけど
389 名前:デフォルトの名無しさん[sage] 投稿日:2011/05/24(火) 21:08:42.53
技術的に正しい指摘だけならいいんだけどな
コミュニティの質とかどうでもいいw
0447デフォルトの名無しさん
2011/05/25(水) 14:37:03.550448デフォルトの名無しさん
2011/05/25(水) 14:38:36.29そしてPerlの勝利
0449デフォルトの名無しさん
2011/05/25(水) 14:43:04.88phpは実績をつんでいく
0450デフォルトの名無しさん
2011/05/25(水) 14:49:02.55さて、仲間外れはど〜れだ?
0451デフォルトの名無しさん
2011/05/25(水) 14:51:19.500452デフォルトの名無しさん
2011/05/25(水) 14:59:34.44RubyもひとつだけRで始まるな
0453デフォルトの名無しさん
2011/05/25(水) 15:04:22.54つか用途も結構違う気が
0454デフォルトの名無しさん
2011/05/25(水) 15:52:47.67Ruby 頭文字がこれだけR
Python 主用途を決めず汎用を目指している、インデントでブロックを表す
Perlは仲間外れな部分が思い付かないや
0455デフォルトの名無しさん
2011/05/25(水) 16:00:44.40ruby宝石
python蛇
php
0456デフォルトの名無しさん
2011/05/25(水) 16:01:09.900457デフォルトの名無しさん
2011/05/25(水) 16:02:09.320458デフォルトの名無しさん
2011/05/25(水) 16:03:21.820459デフォルトの名無しさん
2011/05/25(水) 16:10:36.000460デフォルトの名無しさん
2011/05/25(水) 16:18:33.59はい死亡ー
0461デフォルトの名無しさん
2011/05/25(水) 16:57:15.21Perl 6
PHP 6
Python 3
Ruby 1.9 (2.0?)
0462デフォルトの名無しさん
2011/05/25(水) 17:42:32.750463デフォルトの名無しさん
2011/05/25(水) 18:32:41.14Pythonって短いスクリプトの実行だと遅いのかな
何かとRubyのほうが重いと思ってたから意外なんだけど
% cat batt.rb
puts File.read('/sys/class/power_supply/BAT1/energy_now').chomp
% cat batt.py
with open('/sys/class/power_supply/BAT1/energy_now') as f: print(f.read().strip())
# Ruby1.9.2, Python2.7.1, Python3.2 でそれぞれ実行
% {time ruby batt.rb && time python2 batt.py && time python3 batt.py} 1> /dev/null
ruby batt.rb 0.02s user 0.01s system 18% cpu 0.182 total
python2 batt.py 0.32s user 0.01s system 53% cpu 0.625 total
python3 batt.py 0.23s user 0.02s system 81% cpu 0.303 total
0464デフォルトの名無しさん
2011/05/25(水) 18:43:23.30そうそう
色々モジュール読んでるからかどうか知らんが、インタプリタの起動自体がPythonは遅い
-eとか-cとかで単純なワンライナー実行して比較してみるとはっきり分かる
まあ遅いとは言ってもJavaみたいに遅いわけじゃないし
Pythonの場合はモジュールをあらかじめバイトコンパイルしとくから
比較的大きなプログラムの場合は特に問題はないだろうとは思うが
0465デフォルトの名無しさん
2011/05/25(水) 19:10:58.23たしかに問題になる場面は限られてるね
うちの場合は出力をdmenuに流すスクリプトをPythonで書いたら
dmenuが操作を受け付けるようになるまで妙に時間がかかるので
ようやく気づいたぐらい
でも小物はこれからはRubyで書くことが増えそうだ
0466デフォルトの名無しさん
2011/05/25(水) 19:17:58.57その遅さは自分の体感と異なるな、と思って試してみたら
Pythonはそのデータより10倍くらい速かったけど、
Rubyも10倍くらい速かったわ。Rubyの起動はええ
0467デフォルトの名無しさん
2011/05/25(水) 19:24:52.35Ruby 使いじゃないんだけど
何で Python vs Ruby という構図を作りたがるん?
0468デフォルトの名無しさん
2011/05/25(水) 19:33:56.33遅いか速いかは別にして、ごく短いスクリプトだとシェルスクリプトやPerlやRubyで済ませてしまうなあ
Pythonでワンライナーは書きにくいし書けても見辛い感じがする
やっぱあれは縦に書いてこそ読み書きしやすい言語なんだなって思う
0469デフォルトの名無しさん
2011/05/25(水) 19:39:50.57自分の場合1〜2回、こんな機能があるんだ〜って使ったっきり。
普通のコーディングはPythonにほぼ移行したけど、ワンライナーは専らPerl。
sed,awkの強力版程度で、むしろPerlにとっては原点回帰かな。
Perlは想定以上の用途に使われすぎたんだよ。
blessとかやり始めた辺りで間違いに気づいて引き返すべきだったんだ。
0470デフォルトの名無しさん
2011/05/25(水) 19:51:01.01Python は起動時に -S オプションを指定しないと import site を実行するからな。
Ruby で言えば require gems を毎回してるようなものだ。
逆に言えば、モジュールの読み込みが他のLLに比べて高速だから、デフォルトで
こんなモジュールを読み込む設定になってしまっている。
0471デフォルトの名無しさん
2011/05/25(水) 19:59:05.72余技でやる人はいる、ぐらいのレベルじゃない?
インデントでブロックを表現しなきゃいけないし
PerlやRubyと違いワンライナー向けの手当てがないから
以下はRubyのオプションから一部抜粋
-0[octal] specify record separator (\0, if no argument)
-a autosplit mode with -n or -p (splits $_ into $F)
-Fpattern split() pattern for autosplit (-a)
-i[extension] edit ARGV files in place (make backup if extension supplied)
-n assume 'while gets(); ... end' loop around your script
-p assume loop like -n but print line also like sed
0472デフォルトの名無しさん
2011/05/25(水) 20:04:23.67なるほど。さっそく>>463を再計測してみたらぐっと速くなった
-Sなしで遅いって言うのはフェアじゃないね
% {time ruby batt.rb && time python2 -S batt.py && time python3 -S batt.py} 1> /dev/null
ruby batt.rb 0.02s user 0.01s system 57% cpu 0.058 total
python2 -S batt.py 0.05s user 0.01s system 89% cpu 0.067 total
python3 -S batt.py 0.09s user 0.02s system 61% cpu 0.184 total
% {time ruby batt.rb && time python2 batt.py && time python3 batt.py} 1> /dev/null
ruby batt.rb 0.02s user 0.01s system 36% cpu 0.092 total
python2 batt.py 0.31s user 0.02s system 63% cpu 0.523 total
python3 batt.py 0.22s user 0.03s system 62% cpu 0.405 total
0473デフォルトの名無しさん
2011/05/25(水) 20:23:15.250474デフォルトの名無しさん
2011/05/25(水) 20:40:27.72何度同じ質問してんだよ
0475デフォルトの名無しさん
2011/05/25(水) 21:08:42.32Python3のopenは、バイナリモードじゃないとファイルをUnicodeにデコードしながら
読み込むからね。
open('/sys/class/power_supply/BAT1/energy_now', 'rb') にしたら、
バイト列をそのまま読み込むので同じくらいの速度になる。
0476デフォルトの名無しさん
2011/05/25(水) 21:13:07.80#!/usr/bin/env python
とかじゃなくて
#!/usr/bin/python -S
にしたほうがいいのか?
0477デフォルトの名無しさん
2011/05/25(水) 21:27:59.68ワンライナーとか数行プログラムでいちいちそんなもの気にすんのもアレだし
ごく小規模ならPerlかRuby、ある程度規模が大きいか人と共同で開発するならPythonとかやるのが便利そう
0478デフォルトの名無しさん
2011/05/25(水) 21:29:02.59標準ライブラリしか使わなくて、起動時間が大事ならそう書いたらいいけど、
普通のコマンドラインツールでは体感できないくらいの速度だから不要。
0479デフォルトの名無しさん
2011/05/25(水) 21:35:22.120480デフォルトの名無しさん
2011/05/25(水) 21:35:51.24JSONデータの扱いについて質問があります
test.jsonというファイルがあって、
たとえばJSの$.getJSON()で通信しようとするとき、拡張子が
test.jsonのままだと読み込みませんが、
test.json.phpとすると通信に成功するのはなぜでしょうか?
まったく同じセットでレンタルサーバーにアップしてテストしてみると今度は逆に
test.json.phpだと読み込みませんが、
test.jsonとすると通信に成功します。
いたらないことばかりですがご教示いただけますでしょうか。
自分としてはどちらでも同じ拡張子でテストができるといいのですが。
0481デフォルトの名無しさん
2011/05/25(水) 21:39:49.19ここはそういうスレじゃないよ
WebProg板の該当スレで聞くよろし
0482デフォルトの名無しさん
2011/05/25(水) 21:48:51.260483デフォルトの名無しさん
2011/05/25(水) 22:37:50.89えっ
0484デフォルトの名無しさん
2011/05/25(水) 22:41:59.60ちっとも楽じゃなくなるのが困るぜ
ところでPython2.xだとcat -nみたいなのは下のように書くと思うけど
import sys
for n, s in enumerate(iter(sys.stdin.read, '')):
print '%6d\t%s' % (n + 1, s)
3.xだと
import sys
for n, s in iter(sys.stdin.buffer.readline, b''):
sys.stdout.buffer.write('%06d\t'.format(n).encode('ascii') + s)
こんな風に書くの?なんかやだなあ
もっとうまい書き方あんのかな
0485484
2011/05/25(水) 22:44:27.062.xのコードは
for n, s in enumerate(iter(sys.stdin.readline, '')):
print '%6d\t%s' % (n + 1, s),
こうかな
0486デフォルトの名無しさん
2011/05/26(木) 00:55:24.110487デフォルトの名無しさん
2011/05/26(木) 01:03:36.21print '%6d\t%s' % (n + 1, s.rstrip("\n"))
とかじゃないか?
0488484
2011/05/26(木) 01:20:14.59そう書くと、sys.stdinがttyにbindされているときに具合が悪いので……
Cのstdioのようにttyかどうかでバッファリング戦略変えてくれればいいのにと
いつも思う
0489デフォルトの名無しさん
2011/05/26(木) 02:08:02.52Python3 ではテキストIOはラインバッファリングがデフォルトだから、
その点は汚いハックが要らないんだけど、その代わりバイト列を文字列として
扱いたいときはlatin1を使うという汚いハックがいる。
import sys
fin = open(sys.stdin.fileno(), 'r', encoding='latin1')
fout = open(sys.stdout.fileno(), 'w', encoding='latin1')
for n, L in enumerate(fin):
fout.write('{0:5d}\t{1}'.format(n, L))
0490484
2011/05/26(木) 02:13:34.893使ってないからそういうテクは知らなかった、ありがとう
それはかなりウゲーって感じだなぁ……
まあ書き捨てで多少なりとも楽したい、という目的の場合はアリか
0491デフォルトの名無しさん
2011/05/26(木) 02:17:17.820492デフォルトの名無しさん
2011/05/26(木) 02:19:32.02Perlのencoding関係のメンテナさんはuse encodingは黒歴史だから
使うなって言ってるけど
ttp://blog.livedoor.jp/dankogai/archives/51221731.html
0493デフォルトの名無しさん
2011/05/26(木) 02:22:10.42こういうの見るとマジゲンナリ
0494デフォルトの名無しさん
2011/05/26(木) 02:30:11.50エディタがutf8に対応してないとかcatで標準出力に流して文字化けするのが嫌だとかで、スクリプト自体をeuc-jpで書きたい場合は、use encoding 'euc-jp'する。
0495デフォルトの名無しさん
2011/05/26(木) 09:12:56.13知らずにそういう考えに至ったのなら、それはそれですごい洞察力だと思う。
0496デフォルトの名無しさん
2011/05/26(木) 09:31:10.68誰もレスしてくれなからってそんな自演を
0497デフォルトの名無しさん
2011/05/26(木) 09:50:44.610498390
2011/05/26(木) 20:35:15.86>>423
納得がいった。
> ・ $HOME/bin は Ruby スクリプト
> ・ サーバサイドスクリプトは Perl
> ・ システム起動スクリプトは Python
まさに自分の使い方はこのとおりだわ。
システムで動作するRubyに標準的なものが存在してない感じなのに
仕事でRails使うときどうすんだよって思ってたんだけど
> システムにインストールされるRubyなんてどうせRails用だろ1.8.7でいいよみたいなすごい適当な
ってことは、debでは1.8のfullをいれときゃいいのか。
今のところは、チームで開発するならPerlかPythonが無難みたいね。
0499デフォルトの名無しさん
2011/05/26(木) 20:39:29.86大規模開発に向いているとはいえない
0500デフォルトの名無しさん
2011/05/26(木) 20:41:53.17プロトタイピング?
0501390
2011/05/26(木) 20:45:56.76コーディング規約でガチガチにするような言語でもないし。
今度のプロジェクトはPythonを提案するつもり
標準的インストール環境が統一されれば、Rubyでやりたい気もするんだけど、
そのへんのところ、Rubyの開発者界隈はどう考えてるんだろう?
0502デフォルトの名無しさん
2011/05/26(木) 20:56:34.32インストール手順書は作らないの?
0503デフォルトの名無しさん
2011/05/26(木) 21:39:05.06Perlで書かれたでかいプログラムの保守とか投げられたら死にそう
0504デフォルトの名無しさん
2011/05/26(木) 22:05:44.030505デフォルトの名無しさん
2011/05/26(木) 22:08:28.940506デフォルトの名無しさん
2011/05/26(木) 22:46:12.66レンタルサーバーもPerlかPHP
0507デフォルトの名無しさん
2011/05/27(金) 00:15:49.170508デフォルトの名無しさん
2011/05/27(金) 00:16:55.13import dis
0509デフォルトの名無しさん
2011/05/27(金) 00:20:14.10全然説得力無い。OOP脳?
0510デフォルトの名無しさん
2011/05/27(金) 00:24:34.560511デフォルトの名無しさん
2011/05/27(金) 00:26:29.78Unladen Swallow が成功していれば良かったんだが
0512デフォルトの名無しさん
2011/05/27(金) 00:27:26.17もちろん可能不可能で言えばってレベルの話
0513デフォルトの名無しさん
2011/05/27(金) 00:33:37.21その意味では翻訳単位(ファイル単位)のスコープを持つCと似てる。
0514デフォルトの名無しさん
2011/05/27(金) 00:36:46.680515デフォルトの名無しさん
2011/05/27(金) 00:55:33.85実質的なスコープは似たようなもんだよね
0516デフォルトの名無しさん
2011/05/27(金) 01:08:13.540517デフォルトの名無しさん
2011/05/27(金) 01:25:24.110518デフォルトの名無しさん
2011/05/27(金) 01:53:45.840519デフォルトの名無しさん
2011/05/27(金) 04:31:11.480520デフォルトの名無しさん
2011/05/27(金) 09:33:11.650521デフォルトの名無しさん
2011/05/27(金) 09:41:33.53macro があればなお良い
0522デフォルトの名無しさん
2011/05/27(金) 09:42:40.70スコープ分かれてるよ
0523デフォルトの名無しさん
2011/05/27(金) 10:22:09.46もちろん、大々的に使うにはシンタックスシュガーが必要だけど
0524デフォルトの名無しさん
2011/05/27(金) 10:38:33.22ないんだけど、たまにGUIアプリとかで1画面に収まらない関数がぽこぽこ
存在することがあって、スコープもそうだけどインデントブロックも追うのが
面倒だったりする。
良い方に解釈したら、言語レベルで関数分けろとプレッシャーをかけてくる。
0525デフォルトの名無しさん
2011/05/27(金) 10:47:28.15わかるけど、多人数のプロジェクトのときとかにわかりやすいんだよね。どこを直して
いいのか悪いのか、みたいなのが。直感や現実的な作業におけるわかりやすさという
点でバランスがいい。
Cが生き残っているのはそういう部分もあるんじゃないかな?
0526デフォルトの名無しさん
2011/05/27(金) 12:07:07.600527デフォルトの名無しさん
2011/05/27(金) 13:28:53.67リスト内包がスコープもつようになったのって、3.xからじゃなかったっけ?
0528デフォルトの名無しさん
2011/05/27(金) 15:52:43.490529デフォルトの名無しさん
2011/05/27(金) 21:10:23.690530デフォルトの名無しさん
2011/05/27(金) 21:14:34.43意識しなければいけないのなら設計がおかしい
0531デフォルトの名無しさん
2011/05/27(金) 21:24:10.090532デフォルトの名無しさん
2011/05/27(金) 21:28:30.500533デフォルトの名無しさん
2011/05/27(金) 21:39:48.20深いインデントは、視線で綱渡りをしている気持ちになるよね
0534デフォルトの名無しさん
2011/05/28(土) 16:28:57.450535デフォルトの名無しさん
2011/05/28(土) 16:33:57.800536デフォルトの名無しさん
2011/05/28(土) 16:36:32.300537デフォルトの名無しさん
2011/05/28(土) 16:39:42.250538デフォルトの名無しさん
2011/05/28(土) 16:41:01.000539デフォルトの名無しさん
2011/05/28(土) 16:42:38.79他の言語とか書かれても何の他なのか知らんがな
0540デフォルトの名無しさん
2011/05/28(土) 16:43:50.180541デフォルトの名無しさん
2011/05/28(土) 16:44:33.900542デフォルトの名無しさん
2011/05/28(土) 16:46:00.60話に混ざりたいの?
0543デフォルトの名無しさん
2011/05/28(土) 16:46:08.610544デフォルトの名無しさん
2011/05/28(土) 16:46:30.76>>543
0545デフォルトの名無しさん
2011/05/28(土) 16:47:24.43いえあんまり
なんか動的言語スレにいいとこ持ってかれた感じだ
0546デフォルトの名無しさん
2011/05/28(土) 16:47:36.300547デフォルトの名無しさん
2011/05/28(土) 16:47:41.48お前馬鹿だなあw
0548デフォルトの名無しさん
2011/05/28(土) 16:48:12.54じゃあ、何の他なのか知らなくてもどうでも良いじゃん
0549デフォルトの名無しさん
2011/05/28(土) 16:48:50.66そう思いたいなら、それで良いんじゃないの
0550デフォルトの名無しさん
2011/05/28(土) 16:51:20.02デフォルト設定でも当たり前にpython使ってる奴はいくらでもいる
そんな低次元の不満で言語を評価してるつもりになるなよ
0551デフォルトの名無しさん
2011/05/28(土) 16:52:34.63インデントが深いと普通に見辛いよ
http://d.hatena.ne.jp/camlspotter/20101212/1292165692
0552デフォルトの名無しさん
2011/05/28(土) 16:54:49.700553デフォルトの名無しさん
2011/05/28(土) 16:56:02.27他の言語はインデント幅を血眼で追い掛けなくていいから
0554デフォルトの名無しさん
2011/05/28(土) 16:58:04.500555デフォルトの名無しさん
2011/05/28(土) 17:07:22.79ネストが深いとどの言語でも追いかけにくいぞ
0556デフォルトの名無しさん
2011/05/28(土) 17:09:33.600557デフォルトの名無しさん
2011/05/28(土) 17:11:32.110558デフォルトの名無しさん
2011/05/28(土) 17:12:12.060559デフォルトの名無しさん
2011/05/28(土) 17:13:14.15エディタの設定変えてインデント見えるようにするだけでいいんじゃないの?
0560デフォルトの名無しさん
2011/05/28(土) 17:15:07.74今どれくらいの階層のブロックにいるかいちいち括弧数えなきゃいけなくなるね。
0561デフォルトの名無しさん
2011/05/28(土) 17:31:16.080562デフォルトの名無しさん
2011/05/28(土) 17:32:25.370563デフォルトの名無しさん
2011/05/28(土) 17:35:03.640564デフォルトの名無しさん
2011/05/28(土) 17:36:15.90いつまでそれを引っ張ってるんだ?馬鹿なの?
0565デフォルトの名無しさん
2011/05/28(土) 17:46:27.11539 :デフォルトの名無しさん:2011/05/28(土) 16:42:38.79
たまに1v1のチャットと勘違いしてる人がいて怖い
他の言語とか書かれても何の他なのか知らんがな
↑
面白い発言だね 1v1のチャット
0566デフォルトの名無しさん
2011/05/28(土) 17:52:51.460567デフォルトの名無しさん
2011/05/28(土) 17:54:58.890568デフォルトの名無しさん
2011/05/28(土) 18:01:10.34君にはスコープの話は難しくて分かんないから
その話ばかりじゃ詰まらないんだね?
低能の君に分からない話題でごめんね?
でも、君がもっと面白い話を振っても良いんだよ?
0569デフォルトの名無しさん
2011/05/28(土) 18:06:31.040570デフォルトの名無しさん
2011/05/28(土) 18:08:29.530571デフォルトの名無しさん
2011/05/28(土) 18:32:34.32↑誰も食いつかなくて涙目なのに何いってんのこの人
0572デフォルトの名無しさん
2011/05/28(土) 18:33:14.88スコープって言ってるだけのばかじゃないかw
0573デフォルトの名無しさん
2011/05/28(土) 18:35:10.160574デフォルトの名無しさん
2011/05/28(土) 20:44:02.41スコープが細かくなったらどんな利点があるの?
変数の寿命が短くなったらさっさとオブジェクトが破棄されてメモリ効率が上がるってのは多少あるけど、
明示的にオブジェクトを破棄できる言語では、そんなに嬉しいとも思えない。
変数名が衝突して痛い目を見るって言いたいなら、
1関数内に把握しきれないほど多数の変数があること自体が悪い。
スコープ分けたとしたら、
if foo:
do_something_a()
x = a
else:
do_something_b()
x = b
はどう書くのよ。
前もってxを宣言するのか、if/elseブロックの中でxが外のスコープにあることを宣言するのか知らないけど、
あんまりやりたくないな。そういうの。
0575デフォルトの名無しさん
2011/05/28(土) 21:36:22.680576デフォルトの名無しさん
2011/05/28(土) 21:49:46.37my $x = do {
if (foo) { do_something_a(); a; } else { do_something_b(); b; }
};
でいいんじゃね
JavaScriptも関数スコープ言語で素直にブロックスコープが利用できないから
ブロックを真似て可視性を制御するために
(function(){})()
みたいな涙ぐましいことやってるわけだけど
Pythonはそれすらできないからな
0577デフォルトの名無しさん
2011/05/28(土) 21:56:48.49Rubyはifではスコープ作らんけどイテレータはブロック使うのでスコープ作るから
その前に代入文を書くことがある
だからPythonで言うところのNoneを代入するよ
ゼロだと数値計算、空文字列だと文字列処理、
空リストだとリスト処理の初期値に見えかねないのであくまでNoneね
まあPythonは関数ローカルな関数作れるんだから
スコープ欲しいなら関数内で関数分けすりゃいいと思うんだけど…
0578デフォルトの名無しさん
2011/05/28(土) 21:59:11.05var x = (function() {
if (foo) {
do_something_a()
return a
} else {
do_something_b()
return b
}
})()
と書けるね
0579デフォルトの名無しさん
2011/05/28(土) 22:01:08.07その場で関数作って使い捨てることってできないの?
lamdaは出来ること限られてるし
0580デフォルトの名無しさん
2011/05/28(土) 22:02:52.70そのできること限られてるlambda以外に匿名関数は無いよ
(Javaで言う匿名クラスもない)
0581デフォルトの名無しさん
2011/05/28(土) 22:04:24.380582デフォルトの名無しさん
2011/05/28(土) 22:05:58.780583デフォルトの名無しさん
2011/05/28(土) 22:07:29.59・名前の可視性に関して、プログラマの意図をコード上により忠実に
表現できるから
JavaScript使ったことある人なら理解してると思うけど……
みっともなくとも無駄に名前空間を汚さないようにfunction使いまくり
0584デフォルトの名無しさん
2011/05/28(土) 22:11:27.450585デフォルトの名無しさん
2011/05/28(土) 22:20:54.82そんな長い関数じゃないならfuncとかfとか付けちゃうこともあるし…
そりゃ長い関数内のローカル関数ならある程度の意味を持たせるけどさ
0586デフォルトの名無しさん
2011/05/28(土) 22:28:07.930587デフォルトの名無しさん
2011/05/28(土) 22:30:08.560588デフォルトの名無しさん
2011/05/28(土) 22:31:41.560589デフォルトの名無しさん
2011/05/28(土) 22:33:11.760590デフォルトの名無しさん
2011/05/28(土) 22:33:17.75このスレでそれを言ったら負けって感じのレスだなw
>>586
necessary conditionじゃなくてrequirementの意味か
0591デフォルトの名無しさん
2011/05/28(土) 22:37:38.330592デフォルトの名無しさん
2011/05/28(土) 22:42:40.25扱いが悪いのって
まあPHPだと5.3以降だっけかまともに使えるようになったの
0593デフォルトの名無しさん
2011/05/28(土) 22:44:21.320594デフォルトの名無しさん
2011/05/28(土) 22:44:40.390595デフォルトの名無しさん
2011/05/28(土) 22:50:07.21ふわふわしたおまけって奴だな
http://practical-scheme.net/trans/beating-the-averages-j.html
0596デフォルトの名無しさん
2011/05/28(土) 22:53:10.320597デフォルトの名無しさん
2011/05/28(土) 23:18:22.18Python 良く知らないので、間違ってたらスマソ。
#!/usr/bin/python
list = []
def foo():
global list
x = 10
for i in range(3):
def bar():
return x + i
list.append(bar)
foo()
for i in list:
print i
print i()
↑これを実行すると↓こうなる
<function bar at 0x1004b8050>
12
<function bar at 0x1004bb320>
12
<function bar at 0x1004bb2a8>
12
みたいなのは直感的?
0598デフォルトの名無しさん
2011/05/28(土) 23:25:14.47var list = [];
(function foo() {
var x = 10;
for(var i = 0; i < 3; i++) {
with({i: i}) {
list.push(function() { return (x + i); });
}
}
})();
for(var i = 0; i < list.length; i++) {
console.log(list[i]);
console.log((list[i])());
}
↓実行結果
function() { return (x + i); }
10
function() { return (x + i); }
11
function() { return (x + i); }
12
0599デフォルトの名無しさん
2011/05/28(土) 23:31:24.80Python の場合、クロージャの本当の能力なんて滅多に使わないんだから、
関数を定義した時に外側の変数の値をそのままバインドしちゃえば良いのにって
思うな。
一応、そういう時によく使うイディオムでは、 def bar(x=x, i=i) ってして、
内側の関数のデフォルト引数に外側の変数自体じゃなくて変数の値をバインド
してやる。
0600デフォルトの名無しさん
2011/05/28(土) 23:35:30.80>>597
それ、クロージャを持つ手続き型言語で破壊的ループを用いてそれと同じことをやると
大抵同じ結果になるんじゃないか(そうならないものを知らない)
変数が値ではなく箱に束縛されてるのが手続き型言語なので
Pythonの例でいうと、以下のようにすればOK
def foo():
L = []
for i in range(3):
L.append((lambda x: lambda: 10 + x)(i))
return L
closures = foo()
for c in closures:
print c
print c()
勿論以下のように書けば、関数foo()はいらない
closures = [(lambda x: lambda: 10 + x)(i) for i in range(3)]
0601デフォルトの名無しさん
2011/05/28(土) 23:40:26.60なるほど。
with と同様、回避方法は編み出されてるのね・・・
>>600
まあそういう答えは来るかなと思った。
Python の lambda に制限があるのは既出だから・・・
0602デフォルトの名無しさん
2011/05/28(土) 23:43:35.89確かに少なくともnonlocalの無かった2.xでは
箱でなく値のキャプチャで良かった筈だね
0603デフォルトの名無しさん
2011/05/28(土) 23:44:24.93あとは名前空間を汚さない為とか、既出の通り。
0604デフォルトの名無しさん
2011/05/28(土) 23:46:42.580605デフォルトの名無しさん
2011/05/28(土) 23:48:13.83nonlocal も導入されたけどほとんど使われてないという。
0606デフォルトの名無しさん
2011/05/28(土) 23:48:49.54そんな実行結果になるわけがないだろうと・・・
>>> L=[]
>>> def foo():
... x=10
... for i in range(3):
... def bar():
... return x + i
... L.append(bar)
...
>>> foo()
>>> L
[<function bar at 0x024FB0B0>, <function bar at 0x024FB270>, <function bar at 0x024FB0F0>]
>>> for f in L:
... print f,f()
...
<function bar at 0x024FB0B0> 12
<function bar at 0x024FB270> 12
<function bar at 0x024FB0F0> 12
>>>
え!?なんで12になるの!?
0607デフォルトの名無しさん
2011/05/28(土) 23:48:58.20そう思う人が Python を使ってる
そうじゃない人は他の言語を使ってる
簡単な理屈だね
0608デフォルトの名無しさん
2011/05/28(土) 23:49:28.35っていうか3.xがほとんど使われてないという……
すみませんすみません
0609デフォルトの名無しさん
2011/05/28(土) 23:54:53.05確かにJSなんて全く使いたいなんて思わないね
0610デフォルトの名無しさん
2011/05/28(土) 23:57:46.080611デフォルトの名無しさん
2011/05/28(土) 23:58:48.460612デフォルトの名無しさん
2011/05/29(日) 00:00:09.680613デフォルトの名無しさん
2011/05/29(日) 00:00:13.39その i は一度きりじゃなく、永遠だって事
0614デフォルトの名無しさん
2011/05/29(日) 00:02:26.480615デフォルトの名無しさん
2011/05/29(日) 00:05:57.310616デフォルトの名無しさん
2011/05/29(日) 00:06:13.39動かないことだな。
RubyやPerlならそういうことはない。やはりブレースを使う言語の勝ち。
0617デフォルトの名無しさん
2011/05/29(日) 00:07:59.770618606
2011/05/29(日) 00:12:36.69iはforから抜けるときには2になっててxは10不変なんだから常に2+10となったんだ
#てっきりxが原因になってるものだと思い込んでたわ
0619デフォルトの名無しさん
2011/05/29(日) 00:13:18.780620デフォルトの名無しさん
2011/05/29(日) 01:26:20.39rhinoとかgjs,seedなんかを使ってる人いたら使い勝手おしえて欲しいなん
0621デフォルトの名無しさん
2011/05/29(日) 01:54:29.73いい解決法とは思えんな。
if foo:
do_something_a()
x = a
else:
do_something_b()
x = b
y = bb
はどうするの?
yに無駄に0でも代入しとく?
0622デフォルトの名無しさん
2011/05/29(日) 01:55:37.390623デフォルトの名無しさん
2011/05/29(日) 02:01:53.07君の書き込みがどれかよく分からなかったんだけど、結局何がいいの?
ていうか、名前空間汚さないって言われても。
そんなこと気にしないといけないほどに関数内に名前が溢れてるって、その設計どうなの?
0624デフォルトの名無しさん
2011/05/29(日) 02:04:18.25「向いてないと思います」で済ませる奴のことか。
0625デフォルトの名無しさん
2011/05/29(日) 02:05:07.24Rhinoだけ試したことあるけど
あれは起動に時間がかかるからそれだけで代替にはならないと思う
>>621
Rubyのばあい
ret = if false
puts 'do_a()'
x = :a
else
puts 'do_b()'
x = :b
y = :bb
end
0626デフォルトの名無しさん
2011/05/29(日) 02:06:22.210627デフォルトの名無しさん
2011/05/29(日) 03:27:57.12my ($x, $y);
if ($foo){
do_something_a();
$x = $a;
}
else {
do_something_b();
$x = $b;
$y = $bb;
}
お勧めしない書き方はこう。
my ($x, $y) = do {
if ($foo) { do_something_a(); $a } else { do_something_b(); ($b, $bb) }
};
perlで$a,$bは…眠いからいいや。
0629デフォルトの名無しさん
2011/05/29(日) 04:34:06.88どちらも一時のWeb言語の時代が終わって、本来のユーザ数に戻った感じ。
Web言語時代からすれば確かに減ってるんだけどね。
0630デフォルトの名無しさん
2011/05/29(日) 08:25:25.21普通の言語では普通の機能だわな
0631デフォルトの名無しさん
2011/05/29(日) 08:29:17.09それってfooが真のときにyを使用したら鼻から悪魔か
ひどいコードだな
0632デフォルトの名無しさん
2011/05/29(日) 08:48:13.08それって変数スコープはどこにあるの?
>>630
そうする利点は?
>>631
どの言語想定してる?
大抵のLLなら鼻から悪魔にはならないと思ったが。
0633デフォルトの名無しさん
2011/05/29(日) 08:49:14.83fooが真のケースでしか使用しない(つまりifの後で使用できるのはただの
名前のリーク)のいずれかのはずだ
条件次第でだとunbound variableで実行時エラーになる脆弱で醜い
コードをPythonユーザは嬉々として書き、コンパイラも何の苦情も言わないわけだ
どっちみち、Pythonのように書けることは何のメリットでもない
分かってないようがな
0634デフォルトの名無しさん
2011/05/29(日) 09:06:48.76>>> foo = 0
>>> if foo:
... y = 0
... else:
... pass
...
>>> print y
Traceback (most recent call last):
File "<console>", line 1, in <module>
NameError: name 'y' is not defined
0635デフォルトの名無しさん
2011/05/29(日) 09:07:45.85コンパイラとインタプリタの区別くらいつけような
0636デフォルトの名無しさん
2011/05/29(日) 09:08:45.86Pythonがソースコードをコンパイラでバイトコンパイルしてから
VMで実行する言語であることすら知らなかったのか……
0637デフォルトの名無しさん
2011/05/29(日) 09:12:41.43Ruby の if はスコープを作らず、if ... end が最後の処理値を返す(捨てられることも多い)
条件が then なら x は :a、 y は新規定義せず、ret は最後の処理の戻り値だから :a
条件が else なら x は :a、 y は :bb、ret は最後の処理の戻り値だから :bb
0638デフォルトの名無しさん
2011/05/29(日) 09:14:51.84スコープが問題になるほど長いコードは書かないとか、
いわゆる"pythonic"なコードを書くことを推奨する文化があるから
今の仕様なんだろうけど
正直言ってPythonユーザでもブロックスコープは欲しいですよ
0639デフォルトの名無しさん
2011/05/29(日) 09:19:58.76scope:
云々
みたいな
0640デフォルトの名無しさん
2011/05/29(日) 09:31:11.510641デフォルトの名無しさん
2011/05/29(日) 10:39:52.92と思ってたけど、ブロックスコープなんだな
do
local x = 1
print(x)
do
local x = x + 1
print(x)
end
print(x)
end
これが期待通りに動く
(LuaのlocalはPerlのlocalじゃなくてmyの意味、つまりレキシカル)
束縛を明示する→ブロックスコープ
束縛を明示しない→関数スコープ
がわりとありがちなパターンとすると、JavaScriptはちょっと変り種?
0642デフォルトの名無しさん
2011/05/29(日) 11:34:21.56>正直言ってPythonユーザでもブロックスコープは欲しいですよ
普通の Python ユーザはそうだよね。
今更ブロックスコープのメリットが分からない人なんて
いないと信じたいね。
0643デフォルトの名無しさん
2011/05/29(日) 11:58:18.06書き方が煩雑になるなら要らないと言うだけの
ことなんだが...。
トレードオフとか考えない人なのかな?
0644デフォルトの名無しさん
2011/05/29(日) 12:09:34.63メリットが分かってるなら、何で自分に話しかけられたと思ってるの?
そんな事より >>623 辺りにメリットを教えてあげると良いと思うわ。
0645デフォルトの名無しさん
2011/05/29(日) 12:14:25.750646デフォルトの名無しさん
2011/05/29(日) 12:16:16.490647デフォルトの名無しさん
2011/05/29(日) 12:26:29.60実際、自分が理解するまでは問題なんて存在しないという姿勢の人に
噛んで含んで説明するのは骨が折れるもんだぜ
それがいかに一般的には常識と思われている事柄でもね
0648デフォルトの名無しさん
2011/05/29(日) 12:34:13.350649デフォルトの名無しさん
2011/05/29(日) 12:37:29.79>>623さん
0650デフォルトの名無しさん
2011/05/29(日) 12:43:34.51Python は知らんけど、JavaScript は let を導入しただけ
トレードオフに悩むほど書き方は煩雑にはなっていないよ
0651デフォルトの名無しさん
2011/05/29(日) 12:52:25.20自演厨か...。
> 実際、自分が理解するまでは問題なんて存在しないという姿勢の人に
> 噛んで含んで説明するのは骨が折れるもんだぜ
実感したよ。(w
0652デフォルトの名無しさん
2011/05/29(日) 12:58:50.85お疲れさん...。
0653デフォルトの名無しさん
2011/05/29(日) 12:59:49.30>Python は知らんけど、JavaScript は let を導入しただけ
>トレードオフに悩むほど書き方は煩雑にはなっていないよ
しただけって...、まあ人によって受け止め方は違うわな。
0654デフォルトの名無しさん
2011/05/29(日) 13:02:38.650655デフォルトの名無しさん
2011/05/29(日) 13:20:32.12スコープの具体的な利点って今のところ >>597 みたいな少しレアなケースしか無くて、
しかも今のPythonでも関数内で関数を定義することでスコープは作れる。
Pythonは構文の追加にかなり慎重だから、スコープ作るためだけの構文追加の提案は
通る気がしないな。
0656デフォルトの名無しさん
2011/05/29(日) 13:28:46.71if foo:
y = 1
do_something()
if foo:
func(y)
って場合もあるよ
>>634
それは鼻から悪魔じゃないけど、何がいいたいの?
0657デフォルトの名無しさん
2011/05/29(日) 13:29:15.37存在してないのかを考えないと。
特に明示的なローカル変数の宣言がある言語とそうじゃない言語は大きく事情が異なる。
もしPythonが
for i in range(N):
...
for i in range(M):
でiが複数回宣言されているという構文エラーになるなら、スコープは絶対必要だろう。
0658デフォルトの名無しさん
2011/05/29(日) 13:33:57.80for i in range(3):
def bar():
return x + i
list.append(bar)
の次の行に
i = 2
を付け足したら、スコープ作っても結果は同じだけど、それは直感的なのか?
0659デフォルトの名無しさん
2011/05/29(日) 13:50:01.08JavaScript で let が欲しいケースも大抵 >>597 の用途で、値だけ欲しいのに
変数をバインドする方法しか無いから仕方なくスコープ使ってるんじゃない?
0660デフォルトの名無しさん
2011/05/29(日) 13:50:07.79> 本人でもないのに、バカにされたバカにされたと叫んでたのかw
バカにされてるのは君なんだけど...、日本語大丈夫?
0661デフォルトの名無しさん
2011/05/29(日) 13:56:14.01ifが文だとそういう脆弱なコードに鈍感になるのかもしれない
教育的にはよろしくなかったりするのかも
0662デフォルトの名無しさん
2011/05/29(日) 13:56:26.10> 書き方について、他にどういう受け止め方があるのかな...。
煩雑かそうでないかの 0/1 じゃないだろ。
人によって、ちょっと煩雑・だいぶ煩雑 とかもあるんだよ。
て言うか、トレードオフってわかってる?
0663デフォルトの名無しさん
2011/05/29(日) 14:13:44.65> Pythonでは関数内では一つの変数に一つの意味を割り当てるとか、
> スコープが問題になるほど長いコードは書かないとか、
> いわゆる"pythonic"なコードを書くことを推奨する文化があるから
> 今の仕様なんだろうけど
> 正直言ってPythonユーザでもブロックスコープは欲しいですよ
>
けど、局所化された変数というのは、「これは重要な変数ではない」「このブロックの中でだけ使う」という意味を割り当ててるわけだろ。
0664デフォルトの名無しさん
2011/05/29(日) 14:15:59.97めちゃくちゃなコードを書きたいのにPythonを使う理由はなんだろう…
0665デフォルトの名無しさん
2011/05/29(日) 14:33:42.48ブロックスコープ使う = めちゃくちゃなコードかよ
0666デフォルトの名無しさん
2011/05/29(日) 14:38:09.40LLバトルロワイヤルって言ってるけど、結局常用に耐えるのはpythonだけで
初めから勝負になってないんだよね。その中で残った糞みたいな不満を話題にしてるだけ
根本的にpythonより優れてるLLがないから、このスレは機能してない
0667デフォルトの名無しさん
2011/05/29(日) 15:07:05.760668デフォルトの名無しさん
2011/05/29(日) 15:09:14.540669デフォルトの名無しさん
2011/05/29(日) 15:11:23.790670デフォルトの名無しさん
2011/05/29(日) 15:14:28.41おまいさんのようにPythonicって言葉を喧伝する人が結構いるということは
Pythonって言われてるほどTIOWTDIじゃないんじゃね?
という気がしなくもない
0671デフォルトの名無しさん
2011/05/29(日) 15:18:53.92初心者に勧める言語としてLLの中で挙がるのは、Pythonが一番多く
他に可能性があるのはPHP、Javascriptが少し。PerlやRubyはまず挙がらない
まあpython以外はこのスレでも話題に挙がらないから、本当に分かり難い言語なんだろうな
池沼でも不満を漏らす程度には分かる言語であるPythonのユーザビリティは圧倒的だということ
0672デフォルトの名無しさん
2011/05/29(日) 15:21:37.030673デフォルトの名無しさん
2011/05/29(日) 15:28:10.91ちょっとオーバーに言っただけだよ。気にするなよ
まあぐぐって30件しか出なかったときにはこれは正直失言だったと
0674デフォルトの名無しさん
2011/05/29(日) 15:28:36.43関数型言語を知ってる人から見ると拒絶反応出るようなコードなんだけどね
Pythonってやっぱり手続き型言語だなあと実感する
0675デフォルトの名無しさん
2011/05/29(日) 15:29:52.270676デフォルトの名無しさん
2011/05/29(日) 15:31:27.47というよりは
>>621
がそれぐらいどうしようもないってこと
あんな糞コードをドヤ顔でさらされてもな……
0677デフォルトの名無しさん
2011/05/29(日) 16:17:17.830678デフォルトの名無しさん
2011/05/29(日) 19:07:25.83単なる例にそんなにこだわらなくていいよ。
if c:
x = Foo()
x.method()
else:
x = Bar()
でも構わない。
0679デフォルトの名無しさん
2011/05/29(日) 19:10:13.230680デフォルトの名無しさん
2011/05/29(日) 19:54:19.23$x->method() if $c;
こんな感じじゃないの
0681デフォルトの名無しさん
2011/05/29(日) 20:04:44.70煩雑ってのがmyだのvarだのletだののことを言ってるのなら
selfと何度もタイプさせられることを思えば何でもないし
初期化と代入を区別しないのは混乱と誤りの元で
xに代入するつもりでX = 1とかタイポしてもエラーにすらならんし
nonlocalやglobalダサい
0682デフォルトの名無しさん
2011/05/29(日) 20:17:35.05まあmap()やらが3.xでも残ってる時点でone wayではないわな
内包表記でなんとかなるはずだよな?
0683デフォルトの名無しさん
2011/05/29(日) 20:28:20.61-> [(1, 3), (2, 4), (None, 5)]
こういうのはlist comprehensionだと微妙じゃね
zipだと
[(1, 3), (2, 4)]
になる
0684デフォルトの名無しさん
2011/05/29(日) 20:29:36.74うへえ、そんなコード見たくないよ
0685デフォルトの名無しさん
2011/05/29(日) 20:29:53.61mapはgeneratorは返す
機能が違う
0686685
2011/05/29(日) 20:33:25.79日本語が不自由な子みたいだ・・・
0687デフォルトの名無しさん
2011/05/29(日) 20:33:27.202.xのmap()が返すのはリスト
ジェネレータ式はジェネレータ返す
0688デフォルトの名無しさん
2011/05/29(日) 20:39:02.72>>682の流れから何故2.xを持ち出す?
0689デフォルトの名無しさん
2011/05/29(日) 20:52:35.831回ですむ比較を2回もするのか。
もし比較条件が変数じゃなく関数の返り値だったら、二度実行するか一時変数に残しておくのか。
0690デフォルトの名無しさん
2011/05/29(日) 20:57:03.00よく読んでなかったすまん
0691デフォルトの名無しさん
2011/05/29(日) 20:59:14.38なんだその後だしジャンケン
条件が変数じゃないんならそう書け
イヤなら別に
my $x;
if (..) {...} else {...}
って書いてもいいんだぞ
0692デフォルトの名無しさん
2011/05/29(日) 21:30:43.87内包表記がgenerator返せばよくね
0693デフォルトの名無しさん
2011/05/29(日) 21:34:41.86だからそれがジェネレータ式
0694デフォルトの名無しさん
2011/05/29(日) 21:42:15.19どゆことよ
map()要らなくね、って話と繋がる?
0695デフォルトの名無しさん
2011/05/29(日) 21:46:39.02今時Perlは挙がらないがRubyは挙がることがあるから困る。
0696デフォルトの名無しさん
2011/05/29(日) 21:56:21.25どういうことといわれても……
>>692の言うgeneratorを返す内包表記はすでにあって、
それがジェネレータ式だというだけの話
map()がいるいらないの話でいえば
内包表記/ジェネレータ式 ⊃ map()であればmap()はいらないと言えるだろ
通常の用途では確かにこれは成り立つし
>>685はちょっと違うと思うね
0697デフォルトの名無しさん
2011/05/29(日) 22:20:02.50調べて分かった、俺はジェネレータ式を単なる内包表記の亜種だと思っていたみたいだ
つまり俺の話は「ジェネレータ式と内包表記あればmap()とか要らなくね?」ってなるんだな
実際のところmap()の代用にならないことってあるのかな、これら
0698デフォルトの名無しさん
2011/05/29(日) 22:27:53.51Pythonのmap()はLispのと同じで複数のリストを処理できる
(ベクトルの加算とかにいい)んだけど
zip()+内包表記でも同じことはできるので
zip()を前提にするならば、>>683みたいな微妙な仕様上の違いぐらいじゃないかな
0699デフォルトの名無しさん
2011/05/29(日) 22:34:47.61そか、ありがとう
まあPythonとは言えど「書き方はいくつかはある」ということだな
0700デフォルトの名無しさん
2011/05/29(日) 22:54:56.55python弄りのレベルが日に日に下がってるな
0701デフォルトの名無しさん
2011/05/29(日) 23:10:01.28んでその中でmap()は要るっていう意見 >>683 >>685 みたいなのがあったから
「map()は本来なら要らないはず」を肯定するための材料を探してただけ
0702デフォルトの名無しさん
2011/05/29(日) 23:15:44.25変数でも二度も条件分岐書くなんて悪手だろ。
最初から、そうやってif文の外にスコープ用意してりゃいいんだよ。
0703デフォルトの名無しさん
2011/05/30(月) 00:00:51.210704デフォルトの名無しさん
2011/05/30(月) 09:26:31.94Pythonの one way とは、すでに十分簡潔で効率的な書き方があるなら構文や組み込み
関数の追加はしない、程度の意味だ。
blist = map(int, alist)みたいにすでにある関数にmapしたいだけなのに
blist = [int(x) for x in alist] は冗長だしビルトイン関数からルックアップする処理が
毎回実行されて遅い。
しかし、map+lamdaやmap+filter+lambdaよりは内包のほうが簡潔で効率的なのでどっちも必要。
だからPython 3でもmapはビルトインに残ってる。
一方、使う頻度の低いreduceはfunctoolsに左遷された。
0705デフォルトの名無しさん
2011/05/30(月) 09:46:46.01一部のユーザーから恨みを買い、匿名でウィザード本が送りつけられた、というウワサをどこかで聞いた。
0706デフォルトの名無しさん
2011/05/30(月) 10:17:33.830707デフォルトの名無しさん
2011/05/30(月) 10:19:28.08これか
ttp://fold.sigusr2.net/2010/03/guido-on-functional.html
> You can write reduce() in a few lines of Python.
> Not so in a functional language.
こういう意味不明のことを書くから
突っ込まれたりSICPを送り付けられたりするんだろうな
let rec foldl f a = function
| [] -> a
| x::xs -> foldl f (f init a) xs
0708デフォルトの名無しさん
2011/05/30(月) 10:30:20.73ttp://www.artima.com/weblogs/viewpost.jsp?thread=98196
ttp://www.reddit.com/r/programming/comments/8lgp0/guido_van_rossum_somebody_mailed_me_a_copy/
0709707
2011/05/30(月) 10:40:34.682行目は
| x::xs -> foldl f (f a x) xs
かな
0710デフォルトの名無しさん
2011/05/30(月) 10:45:18.280711デフォルトの名無しさん
2011/05/30(月) 11:51:42.400712デフォルトの名無しさん
2011/05/30(月) 12:26:49.66関数ひとつだけの処理をmapにかけるのって結構レアケースじゃね?
確かにmap(int,ls)やmap(str,ls)では使うが、それ以外で使ったことないし
ちょっとした追加の処理が入ること考えると始めから内包で書いちゃうよ、俺は。
0713デフォルトの名無しさん
2011/05/30(月) 12:32:52.79内包に比べたらレアだけど、他のitertoolsの中身に比べたらよく使う。
あと、reduceがfunctoolsなので、組み込みから外されると、itertoolsだったか
functoolsだったか迷うことになるw
0714デフォルトの名無しさん
2011/05/30(月) 12:59:17.85むしろreduce()は何故itertoolsにしなかったんだろ
てか俺はitertoolsの中身のがmap()よりよほど使うがなあ
0715デフォルトの名無しさん
2011/05/30(月) 13:57:15.27from __legacy__ import *
で復活できるようにすればいいと思ってみたり。
0716デフォルトの名無しさん
2011/05/30(月) 15:57:10.09というか、初心が躓かないように細部まで気を配っている感じでいいね。密度も濃いし。
RubyやPythonも結城浩が入門書書けばいいのに。
似たような版型、値段の本は両社とも何冊がでているが、残念ならが内容が段違い。
0717デフォルトの名無しさん
2011/05/30(月) 16:59:20.69量産している作者の本は総じて完成度が低い
0718デフォルトの名無しさん
2011/05/30(月) 18:19:37.792ちゃんねらーみたいだな
0719デフォルトの名無しさん
2011/05/30(月) 18:21:43.430720デフォルトの名無しさん
2011/05/30(月) 18:59:41.600721デフォルトの名無しさん
2011/05/30(月) 19:11:31.92いざ使おうと昔から契約しているさくらの条件(一番安いレンサバ)を見たら使えなかったw
Python、Rubyは使えるのになんでww
はー、どうしよ。
0722デフォルトの名無しさん
2011/05/30(月) 19:50:20.54たのしいRubyはプログラミング未経験者向けだよ。評判もそこそこ。
0723デフォルトの名無しさん
2011/05/30(月) 20:05:28.05信号も見ずに横断歩道渡る人ですか?w
0724デフォルトの名無しさん
2011/05/30(月) 20:22:35.50それって OCaml?
0725デフォルトの名無しさん
2011/05/30(月) 20:33:22.42そんなあなたにステップサーバーがおすすめ。
0726デフォルトの名無しさん
2011/05/31(火) 00:17:49.75>SICPを送り付けられたりするんだろうな
http://twitter.com/#!/gvanrossum/status/1838308947
これか...
送りたくなる気持ちも分かるけどw
0727デフォルトの名無しさん
2011/05/31(火) 03:22:48.22EXE化しやすいのではどういうLLがいいんでしょうか?
また最小限の修正でMacOSやLinuxに移植できるものでしょうか?
0728デフォルトの名無しさん
2011/05/31(火) 03:32:34.98EXE
LL
移植
日本語
この 4 つを同時に達成するのはかなり厳しいよ
0729デフォルトの名無しさん
2011/05/31(火) 03:34:30.45まあどれも似たり寄ったりで、慣れの問題なのかも知れんが
0730デフォルトの名無しさん
2011/05/31(火) 03:35:56.830731デフォルトの名無しさん
2011/05/31(火) 03:36:31.620732デフォルトの名無しさん
2011/05/31(火) 05:56:28.29SICPとは
送った奴はセンスがあるなあw
0733デフォルトの名無しさん
2011/05/31(火) 06:17:32.78インタフェース作成のツールもあるし。
LLはやはりサーバサイドやスクリプト処理用だよな。
0734デフォルトの名無しさん
2011/05/31(火) 07:09:00.17使って余分な電気消費してCO2が増加する
0735デフォルトの名無しさん
2011/05/31(火) 07:25:54.690736デフォルトの名無しさん
2011/05/31(火) 07:28:28.480737デフォルトの名無しさん
2011/05/31(火) 07:30:56.10今すぐ糞遅いRubyのコードをScalaやJavaで書き直せ
0738デフォルトの名無しさん
2011/05/31(火) 08:00:08.820739デフォルトの名無しさん
2011/05/31(火) 08:25:53.27今すぐデータセンターに行ってお前が全て機械語で書き直せ
0740デフォルトの名無しさん
2011/05/31(火) 08:34:35.460741デフォルトの名無しさん
2011/05/31(火) 09:03:10.93Rubyなんか低性能な言語とか今すぐ糞遅いRubyのコードをとか言うなら
お前が機械語で書き直せ
0742デフォルトの名無しさん
2011/05/31(火) 09:24:01.910743デフォルトの名無しさん
2011/05/31(火) 09:28:29.430744デフォルトの名無しさん
2011/05/31(火) 09:30:30.510745デフォルトの名無しさん
2011/05/31(火) 09:48:42.510746デフォルトの名無しさん
2011/05/31(火) 09:50:39.19プログラミングの煩雑度はすべて等しいという前提そのものが誤りだ
まあ、そういうふうになにかものを考えているかどうかは怪しいが
誰も構ってくれないからレスが欲しいというのならレス欲しいと大きく書いたほうがまだマシで、この板でないほうが適切
0747デフォルトの名無しさん
2011/05/31(火) 09:54:21.300748デフォルトの名無しさん
2011/05/31(火) 09:57:32.19LL最高や!JavaやC++なんていらなかったんや!
な奴の隔離スレと解釈するのはまあありかもしれない
でもその解釈は無いわー
0749デフォルトの名無しさん
2011/05/31(火) 10:16:56.59Rubyより速い言語なんていくらだってあるだろ
0750デフォルトの名無しさん
2011/05/31(火) 10:22:31.16べつに何か考えてのことじゃないから、そんな指摘は無意味
0751デフォルトの名無しさん
2011/05/31(火) 10:25:39.80このスレに来て暴れてるのさ
0752デフォルトの名無しさん
2011/05/31(火) 10:29:54.010753デフォルトの名無しさん
2011/05/31(火) 10:34:49.53最低限使い物になるのがPyQt、Python、py2exe だけど、普通はC#をおすすめする。
0754デフォルトの名無しさん
2011/05/31(火) 10:48:31.87Python-ideas で Python 3 で cat -n が実装しにくいことと、 latin1 エンコーディングを
使うのはハックなのかPythonicなのかを訊いてみたところ、英語が苦手な俺には話題を追うのが
辛いくらい盛り上がった結果、 bytes にも .format メソッドを追加しようかという方向に
話が進んでる。
http://mail.python.org/pipermail/python-ideas/2011-May/010391.html
Python 3.3 からは b"{0:6d} {1}".format(n, line) みたいに書けるように
なるかもしれない。
0755デフォルトの名無しさん
2011/05/31(火) 11:07:46.06例えば、0x85が改行扱いになっている
http://ja.wikipedia.org/wiki/ISO/IEC_8859-1
splitlines()とかに通すとまずい
>>> 'hoge\x85fuga'.decode('latin-1').splitlines()
[u'hoge', u'fuga']
0756デフォルトの名無しさん
2011/05/31(火) 11:13:14.46乙
面倒なのでGuidoのコメントしか読んでないけどw
0757デフォルトの名無しさん
2011/05/31(火) 11:32:32.96世の中のLatin-1の60%くらいはISO-8859-1ではなくasciiかWindows-1252なので、その指摘にはあんまし意味がない
間違っているのは世間なのだが、これはもう仕方がない
あとISO-8859-1をデフォルト解釈にしたHTTPは氏ね
0758484
2011/05/31(火) 11:49:19.07ありがとう
途中まで真面目に読んだけど、最後のほうはさすがにつらくてGuidoの奴だけ読んだw
>>755
おもしろい
>>757
バイト列をunicodeの0-256にそのままマップしてパススルーする手段としては
latin-1はややdangerousなことがあるよ、という指摘だと思うので、
「意味が無い」ってことはないかと
以下はPython2のコードだけど
u'喝'.encode('cp932') -> '\x8a\x85'
u'喝'.encode('cp932').decode('latin-1') -> u'\x8a\x85'
u'喝'.encode('cp932').decode('latin-1').splitlines() -> [u'\x8a']
CP932がASCII互換かといえば微妙なんだけれども
バイト列のままでも少なくとも行の処理ぐらいは問題なく出来ると
認識されていると思う
(だからstdioが普通にCP932でも使えるわけだけれども)
行区切りぐらいでデータが壊されるのは、意図しない結果でしょう
0759デフォルトの名無しさん
2011/05/31(火) 11:58:21.22PHPェ……。
0760デフォルトの名無しさん
2011/05/31(火) 12:02:05.77ttp://www.moongift.jp/2011/05/20110613-2/
0761デフォルトの名無しさん
2011/05/31(火) 14:38:14.75以前、unicodeのみに対応しているライブラリにマルチバイトをそのまま通そうとして
latin-1に変換して食わせてみたんだけど、変なところで文字化けが発生して
調べてみたら>>755だったと。latin-1に変換したマルチバイト文字列を弄るときは
気をつけようねって話です
0762デフォルトの名無しさん
2011/05/31(火) 20:49:37.25tck/tk はLLには入らんのかなぁ
0763デフォルトの名無しさん
2011/05/31(火) 20:58:03.360764デフォルトの名無しさん
2011/05/31(火) 21:07:11.73>>727 はオモチャ程度で気軽にGUIを作りたいって言ってると思う
GUI以外の部分はtclで書く必要ないんだし
移植もらくだよね
0765デフォルトの名無しさん
2011/05/31(火) 21:09:54.64REPLとGUIの組み合わせを考えると、wishのように、REPLで何か打ち込むたびに即座に
UI要素を生成させたり変化させられる(フィードバックがえられる)ような環境は
今でも有効だと思うし、そうあるべきだと思う(ツールキットがTkである必要はない)
Tclのほうは、Lispに似てる(shにも似ている)けど、Lispより非力で貧弱で
正直存在意義が分からない
0766デフォルトの名無しさん
2011/05/31(火) 21:20:32.58>Lispに似てる
この度はたいへん斬新なご意見を賜わり…
あれは本気でshスクリプトだよね
0767デフォルトの名無しさん
2011/05/31(火) 21:34:03.63何でもコマンド、何でも文字列、みたいな超シンプルな作りというか本質が
Lispに似てると思ったんだけど、そんなに斬新な意見かな?
まあ似てるのそこだけなんだけどな
functionalじゃないし、code as dataとかマクロとか、Lisp特有の力は
なーんも無いから
0768デフォルトの名無しさん
2011/05/31(火) 21:36:01.380769デフォルトの名無しさん
2011/05/31(火) 22:07:04.550770デフォルトの名無しさん
2011/05/31(火) 22:54:26.640771デフォルトの名無しさん
2011/06/01(水) 05:55:28.32「なんでも文字列」に一番似てる言語って、同じ「なんでも文字列」の言語だと思うんだ
んで、それはシェルスクリプトやバッチファイル等、コマンドシェルの言語に近い性質で
「なんでもリスト」の言語はそれらに比べるとちょっと遠いと思うんだ
0772デフォルトの名無しさん
2011/06/01(水) 07:10:59.07Tclってどういうのだったか今となっては全然思い出せないぜ
0773デフォルトの名無しさん
2011/06/01(水) 07:33:45.30文字列をevalすれば実行できる
8.5からはapplyでlambdaもできる
Tclってのはそんな感じ
0774デフォルトの名無しさん
2011/06/01(水) 08:46:35.130775デフォルトの名無しさん
2011/06/01(水) 10:16:26.340776デフォルトの名無しさん
2011/06/01(水) 10:42:47.10一見文字列だがあれは括弧のないリストってことか
しかもtailのアイテム群はたんなる文字列なので
その解釈はheadのコマンドに任されてるからどう評価するのも自由
よって特殊形式ですらユーザがTclで定義できる
例えばifならcondの値のよってはthen節やelse節をまったく評価しないことも可能
やっぱりLispと似てるんじゃないか?
0777デフォルトの名無しさん
2011/06/01(水) 12:18:30.50劣化してるかわりに(Algol構文慣れした)普通のプログラマにも親しみ易いとか
そういう利点も特に無いしな
0778デフォルトの名無しさん
2011/06/01(水) 12:24:58.24http://wiki.tcl.tk/13410
0779デフォルトの名無しさん
2011/06/01(水) 12:28:32.21Wikiにわざわざそういう比較が載っているとはw
教えてくれてありがとう
0780デフォルトの名無しさん
2011/06/01(水) 18:04:20.24ttp://blog.livedoor.jp/dankogai/archives/51687118.html
>dieやwarnは\nでふるまいが変わる
こういう記事読んでるとPerlって適切な警告やエラーを表示しないまま不適切な
コードを書いてしまう、またヘンなノウハウを山ほど知ってないと使えない欠陥言語って
印象がますます強くなあ。
0781デフォルトの名無しさん
2011/06/01(水) 19:53:16.90あれはワンライナー専用言語。OOPもCPANも、もう不要。
404とこのオッサンの時代も終わりだよ。
献本御礼、とかいって読んでもいない糞本のベタ褒めでもしてなさいってこった。
0782デフォルトの名無しさん
2011/06/01(水) 20:04:59.54何が勝手に添削か知らんが
0783デフォルトの名無しさん
2011/06/02(木) 01:28:24.610784デフォルトの名無しさん
2011/06/02(木) 02:07:35.21今どきの GUI スクリプティングは JavaScript をどうぞ
Titanium : http://www.appcelerator.com/
Qt Quick : http://qt.nokia.com/qtquick/
wxJavaScript : http://users.skynet.be/saw/index.html
Seed : http://live.gnome.org/Seed
JSCocoa : https://github.com/parmanoir/jscocoa/tree
DashCode : http://www.apple.com/macosx/developers/#dashcode
Chromeless : http://mozillalabs.com/chromeless
XULRunner : https://developer.mozilla.org/ja/XULRunner
Google Desktop Gadgets : http://desktop.google.com/plugins
Yahoo! Widgets : http://widgets.yahoo.co.jp/
Windows Scripting Host : http://support.microsoft.com/kb/232211
Adobe Air : http://www.adobe.com/jp/products/air/
0785デフォルトの名無しさん
2011/06/02(木) 02:11:25.450786デフォルトの名無しさん
2011/06/02(木) 02:15:58.410787デフォルトの名無しさん
2011/06/02(木) 02:19:16.27URL貼っただけで何か語ったつもりになってるしー
0788デフォルトの名無しさん
2011/06/02(木) 02:20:43.070789デフォルトの名無しさん
2011/06/02(木) 02:23:29.740790デフォルトの名無しさん
2011/06/02(木) 02:30:50.360791デフォルトの名無しさん
2011/06/02(木) 02:33:30.960792デフォルトの名無しさん
2011/06/02(木) 02:36:17.52>>784を見てどうすればいいわけ?つーか、これらは何?
そういう使い分けをするの?同じような用途なら、どれが優れてるか教えてくれるかな
クソツールが沢山あっても仕方ないんだよ
rubyを見ろよ。流行るか流行らないかは、どれか一つに掛かってるわけ
0793デフォルトの名無しさん
2011/06/02(木) 02:41:23.40興味持ったなら質問スレか初心者スレで聞いてくれ
もう少し具体的に聞いてくれたらお答えするよ
0794デフォルトの名無しさん
2011/06/02(木) 02:44:08.190795デフォルトの名無しさん
2011/06/02(木) 02:56:22.89ツールが沢山ある以外は、あんまりないかなあ
デスクトップアプリ、サーバサイドスクリプティング、ウェブアプリを
作りたい人には JavaScript がお勧めだけど、それ以外の環境はどうだろね
0796デフォルトの名無しさん
2011/06/02(木) 03:04:24.690797デフォルトの名無しさん
2011/06/02(木) 03:09:35.74http://www.youtube.com/watch?v=s7wEesGmQQ4
なんかものすごく不快なんだが。
0798デフォルトの名無しさん
2011/06/02(木) 03:10:37.470799デフォルトの名無しさん
2011/06/02(木) 03:12:02.360800デフォルトの名無しさん
2011/06/02(木) 08:04:36.910801デフォルトの名無しさん
2011/06/02(木) 08:48:19.73これに近い言語、実行環境ってないですか?
欲しいのは他のスクリプト言語から呼び出せてWindowsのプロシージャを構成できるスクリプト実行環境なんです。
HSPのDLL版もそういうことが出来るんだけど、呼び出し元とデータ共有する方法が分からないので、
他の言語でそういうのがあればなと。
IEに組み込まれてるVBSとJSのDLLはよく分からないし、HTAもEXEしかない。
そういえばHTABOXがだいぶ拡張されてるっぽいから見てみるかな。
0802デフォルトの名無しさん
2011/06/02(木) 09:08:24.940803デフォルトの名無しさん
2011/06/02(木) 09:58:34.10>子飼弾って、文庫本程度の本なら10分とかそこらで読める。YouTubeに動画が上がってる。めちゃ凄い。
あの書評を書くため程度の理解度でいいなら、俺だって10分で読めるわww
0804デフォルトの名無しさん
2011/06/02(木) 10:02:57.79じゃあどうしてみんなそれをやらないの?
0805デフォルトの名無しさん
2011/06/02(木) 10:21:10.47何の話をしてるか知らないが、書評を書くほうが時間がかかるし無駄だからじゃね?
0806デフォルトの名無しさん
2011/06/02(木) 10:47:06.201分あたり36P、1Pあたり2秒弱ねー。
たぶん適当にキーワード拾ってるだけで読んでないと思うよ。
0807デフォルトの名無しさん
2011/06/02(木) 10:56:55.95俺、意識の加速って技使えるからよゆーで全部の文字を読んで理解できるよ。
読み終えると同時に記憶は消えるけど。
キーワードだけ覚えておくって技を使えるならあらすじは書けるね。書評も書ける。
ちなみに俺以外で意識の加速が出来る人間を、思い出せるだけで二人知ってる。
一人はちょくちょく俺を襲撃してきて俺を破壊した。
もう一人は出版社に勤めている担当編集者だったけど、俺が意識の加速を出来ると言ったら
つぶてを飛ばしてきたり時々俺を見かけると攻撃してきたりしたので、
俺に余裕がなくなってるときに襲われたときについに殺してしまった。
手に負えない強いやつは、殺せるときに殺しておかないといけないからね。
あの人なんで俺を攻撃してきたんだろ。
俺に出会うまでは自分を神か何かだと思っていたらしいんだけど。
0808デフォルトの名無しさん
2011/06/02(木) 11:30:01.69Quick!!! Quick!!!
0809デフォルトの名無しさん
2011/06/02(木) 11:38:40.85薬物ダメ、ゼッタイ
0810デフォルトの名無しさん
2011/06/02(木) 11:46:01.54本当は10分では読めないから
「俺だってできる」はただの反発で、根拠などない
0811デフォルトの名無しさん
2011/06/02(木) 12:02:16.08速読でも普通に読んだと同じように感動できるの?
0812デフォルトの名無しさん
2011/06/02(木) 12:07:25.120813デフォルトの名無しさん
2011/06/02(木) 12:09:57.6210分の間に突然笑ったり泣いたりする子飼弾を想像してわろた。
まあこの手の速読って基本的に「斜め読み」の類のもので、
じゃあ1,2時間かけた人と同じくらい内容を理解して覚えているかというと……。
テストしてみればはやいね!
0814デフォルトの名無しさん
2011/06/02(木) 12:41:06.73ああいう極端な速読ってきっとそれの延長だと思うよ。誰でもやってるようなことの。
なんかすげえ技術に見せかけて、商材商法やる奴がいるだけじゃないかな?
オレは蔵書を〜万冊持ってる、オレは東京新大阪間で新書をウン冊速読できる、みたいなこと
書くやつはまあいかがわしいかな、と思う。
もらった本で書評サイト作るぐらいいかがわしい。
0815デフォルトの名無しさん
2011/06/02(木) 13:11:39.19それこそ参考書とか教科書とか、そういうのだけだろ
たとえ3日かけて読んだって、たぶん、そもそも、それほど詳細に思い出せたりはしないだろう
0816デフォルトの名無しさん
2011/06/02(木) 13:50:51.74内容覚える必要ないんだから情報としては価値がないのだろうし、
かといって10分で読み終えてしまうから時間つぶしにも娯楽にもならない。
0817デフォルトの名無しさん
2011/06/02(木) 13:56:42.88プライドがあるからだろ。
プライド捨てりゃ、誰だってできるよ。
「□□様より献本御礼。すごい、史上最高の××本。これを読まずに××は語れない。」
とか書いときゃいいんだから。
あんなの読んでありがたがるのは、みのもんたのコメントをありがたがる情弱と同等。
書評するなら自分で買えよ(それより献本を公表するなよw)
0818¥暴走天使悪魔のZ¥
2011/06/02(木) 14:03:06.55つくれますか?
0819デフォルトの名無しさん
2011/06/02(木) 14:11:17.41実際にモンハンはJavascriptでできてるってしらんの?
0820デフォルトの名無しさん
2011/06/02(木) 14:12:43.69現行のマシンでまともに動かないだけで。
0821¥暴走天使悪魔のZ¥
2011/06/02(木) 14:14:29.860822¥暴走天使悪魔のZ¥
2011/06/02(木) 14:15:11.32hello warudo からつくってみたいとおもいます
0823デフォルトの名無しさん
2011/06/02(木) 14:42:17.93違う
どうして10分で本を読まないのかという話
0824デフォルトの名無しさん
2011/06/02(木) 14:51:16.92覚える必要がないからさっさと読むんだろ。楽しみたければ読んだあと回想すればいいだけ。
>>823
> どうして10分で本を読まないのか
楽しめないからだろJK
0825デフォルトの名無しさん
2011/06/02(木) 14:53:36.79>>817じゃないけど
>あの書評を書くため程度の理解度
普通の人は時間つぶしや娯楽、あるいは情報源として本を読むから、
娯楽や時間つぶしなら10分で読む必要がないし、情報源として読むなら10分では不足。
10分で大量の本を読む理由がある人なんて書評書く人ぐらいのものだよ。
今すぐ必要で使って不要になって忘れる情報を探すために本を読むなら、
誰だって10分で拾い読みして読むこともあるでしょ。
0826デフォルトの名無しさん
2011/06/02(木) 14:57:59.760827デフォルトの名無しさん
2011/06/02(木) 16:16:39.18音読しかできない幼児に「よむのはやいね」と言われてもああそうって感じだし、
「そんなのでなにかいてあるかわかるの」と言われても、わかりますが何かって感じだ
幼児にとって黙読は超高速で効果の怪しい神業だが、我々には日常でしかない
文字を字を追うことなく面で読むことは決して不可能ではないので、おそらく速読は理屈的にも可能だ
そんだけ
0828デフォルトの名無しさん
2011/06/02(木) 16:26:07.80彼にとっては読書=書評(という名の宣伝)に使えそうなフレーズを探し出す作業
彼にとって10分で読むと公言するのは、多読家であり、本を見る目が肥えている、という
印象を与えるための演出であり、マーケティングに決まってるだろ。
真に受ける奴は、間違いなく情弱。
0829デフォルトの名無しさん
2011/06/02(木) 16:27:59.61可能かどうかの話してるんだろ
あなたがその人をどれだけ嫌っているかどうかには誰も興味はない
0830デフォルトの名無しさん
2011/06/02(木) 16:36:59.00>文字を字を追うことなく面で読むことは決して不可能ではないので、おそらく速読は理屈的にも可能だ
これがほんとかどうか確かめるために内容理解度テストをすればよいわけですな
0831デフォルトの名無しさん
2011/06/02(木) 17:08:56.780832デフォルトの名無しさん
2011/06/02(木) 17:24:09.39写真を見て一瞬で全体を把握できるだろ。
ただ、詳細に聞いてみると大抵間違ってるんだけどな。
0833デフォルトの名無しさん
2011/06/02(木) 17:32:14.400834デフォルトの名無しさん
2011/06/02(木) 17:32:51.040835デフォルトの名無しさん
2011/06/02(木) 17:42:53.02例えばさ、既に熟読して内容を理解しきっている本を再度読むとき
パラパラ捲っても読めるだろ?理解するプロセスをすっとばしてるからな
でも、これを未読の本に適用しても「自分が既に理解してること」と
パターンマッチしてるだけだから、読書しても全然賢くならないんだぜ
0836デフォルトの名無しさん
2011/06/02(木) 17:47:10.570837デフォルトの名無しさん
2011/06/02(木) 17:48:42.860838デフォルトの名無しさん
2011/06/02(木) 17:52:26.70コードを読むときに字面で追わず、内容をイメージでつかむのと同じだよ。
どうでもいい話だけど。
0839デフォルトの名無しさん
2011/06/02(木) 17:55:34.490840デフォルトの名無しさん
2011/06/02(木) 17:59:37.56彼けっこう苦しいんだから。
0841デフォルトの名無しさん
2011/06/02(木) 22:14:54.62そいつにその文庫の一節を読みきかせると、ページ数を当てるし、続きを暗唱したりする
気持ち悪いくらいの能力だと思うけど、そいつは陸自で匍匐前進するのが仕事
Python最高
0842デフォルトの名無しさん
2011/06/02(木) 22:23:30.43LL
LL
LL
LLLLLL
LL
LL
LL
LL
LLLLLL
の話は?
0843デフォルトの名無しさん
2011/06/02(木) 22:30:03.490844デフォルトの名無しさん
2011/06/02(木) 22:30:57.270845デフォルトの名無しさん
2011/06/02(木) 22:34:53.97この話題の流れでPythonと言ったら、むしろこっちの方だな
0846デフォルトの名無しさん
2011/06/02(木) 22:49:46.82Python
0847デフォルトの名無しさん
2011/06/02(木) 23:10:23.42Haskell : http://tryhaskell.org/
Scheme : http://www.biwascheme.org/
Erlang : http://www.tryerlang.org/
OCaml(via Java) : http://ocamljava.x9c.fr/toplevel/toplevel.html
Python(via MS) : http://www.trypython.org/
JavaScript : http://jsfiddle.net/
わお、JavaScript が圧倒的じゃん
0848デフォルトの名無しさん
2011/06/02(木) 23:14:14.830849デフォルトの名無しさん
2011/06/02(木) 23:14:14.850850デフォルトの名無しさん
2011/06/02(木) 23:18:52.440851デフォルトの名無しさん
2011/06/03(金) 00:21:24.010852デフォルトの名無しさん
2011/06/03(金) 00:25:05.390853デフォルトの名無しさん
2011/06/03(金) 01:20:43.77JJは?
0854デフォルトの名無しさん
2011/06/03(金) 08:20:24.650855福盛俊明
2011/06/03(金) 09:05:42.70俺はDarkBASICの天才♪”
俺に答えられない質問はない
質問はこちらへ
http://www.geocities.jp/courant_de_console/main_street/index.html
アハアハ〜♪”
0856デフォルトの名無しさん
2011/06/03(金) 22:57:58.23取っ付き易さなら JavaScript ( >>847 )
どんなプラットフォームでも動かしたいなら JavaScript
関数型言語とオブジェクト指向のエッセンスを同時に楽しみたいなら JavaScript
3D をグリグリ動かしたいなら JavaScript
ユーザの多さで言ったら JavaScript
開発の活発さで言ったら JavaScript
何だ、バトルするまでもないな…
0857デフォルトの名無しさん
2011/06/03(金) 23:54:21.63俺の使ってる古い処理系だと
((1<<128)-1)&1
が0になるんだが、最新のだとこの糞仕様なおってるの?
0858デフォルトの名無しさん
2011/06/04(土) 00:05:11.45Java並みの速度で動作してくれるなら、Javascriptに乗り換えるよ
0859デフォルトの名無しさん
2011/06/04(土) 00:14:07.660860デフォルトの名無しさん
2011/06/04(土) 00:18:28.80http://plusd.itmedia.co.jp/pcuser/articles/1106/03/news114_4.html
0861デフォルトの名無しさん
2011/06/04(土) 00:21:14.950862デフォルトの名無しさん
2011/06/04(土) 00:21:22.310863デフォルトの名無しさん
2011/06/04(土) 07:18:16.40整数もまともに扱えないとかJS糞すぎだろ
0864デフォルトの名無しさん
2011/06/04(土) 08:55:39.570865デフォルトの名無しさん
2011/06/04(土) 09:47:06.13かなり水増しされてるんじゃね
0866デフォルトの名無しさん
2011/06/04(土) 10:10:12.760867デフォルトの名無しさん
2011/06/04(土) 10:48:35.06>ところが Windows 8 は JavaScript で書いたアプリがメインに
Windows 8自体がメインにならないかもしれないという罠があるわけだがw
0868デフォルトの名無しさん
2011/06/04(土) 11:23:15.990869デフォルトの名無しさん
2011/06/04(土) 11:32:40.09http://journal.mycom.co.jp/articles/2011/06/03/computex03/index.html
0870デフォルトの名無しさん
2011/06/04(土) 11:38:44.63MS は JavaScript 押し
元々 ECMAScript にも長く関わって来たし
http://japanese.engadget.com/2011/06/01/windows-8/
http://journal.mycom.co.jp/articles/2011/06/03/computex03/index.html
http://plusd.itmedia.co.jp/pcuser/articles/1106/03/news114_4.html
http://www.publickey1.jp/blog/11/windows_8html5javascriptwindows.html
0871デフォルトの名無しさん
2011/06/04(土) 11:41:50.09いまさらActiveXでもないし、Windowsフォームを使わない理由はない。
お天気情報とかその程度ならJSでもいいのでは?
Vistaや7のウィジェットはJSだし。
うちのPCのデスクトップにも時計とかカレンダー置いてる。
0872デフォルトの名無しさん
2011/06/04(土) 11:49:36.11ウェブアプリに於けるネイティブ API は REST とかのウェブサービス
データストアはオンラインストレージ等のサービスを利用する
オフラインでの作業はキャッシュマニフェストやローカルストレージで
普通のアプリが作れるかどうかはプログラマの質次第
もちろん古いデスクトップアプリが動かなくなる訳じゃない
0873デフォルトの名無しさん
2011/06/04(土) 11:53:21.910874Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 14:31:46.710875デフォルトの名無しさん
2011/06/04(土) 15:39:00.790876デフォルトの名無しさん
2011/06/04(土) 15:40:27.73それともただの信者?
0877デフォルトの名無しさん
2011/06/04(土) 16:18:44.030878デフォルトの名無しさん
2011/06/04(土) 16:21:34.15YOU! 改名しちゃいなYO!
0879デフォルトの名無しさん
2011/06/04(土) 16:39:39.650880Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 16:44:46.120881Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 16:54:15.30みんないってるよ
0882デフォルトの名無しさん
2011/06/04(土) 16:58:14.24なんて思いながらググってみたら、twitterが出てきたわ。
ほんとに腐っててワロタ。子供にPC与えちゃダメだな
0883Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 17:15:49.960884Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 17:18:06.60オイツあたま故障してるのかなあ???
0885Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 17:18:42.50早く死ね
0886Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 17:19:28.38ここに来るやついなくなろだろうね
0887Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 17:23:19.780888Perl忍者 ◆M5ZWRnXOj6
2011/06/04(土) 18:01:55.920889デフォルトの名無しさん
2011/06/04(土) 18:07:22.760890デフォルトの名無しさん
2011/06/04(土) 18:12:53.34小学校からやり直せよw
0891デフォルトの名無しさん
2011/06/04(土) 18:17:44.590892デフォルトの名無しさん
2011/06/04(土) 18:21:25.63さすがのハットリ君もこれには呆れるでござるの巻
忍者の名を名を汚した栃木の彼の君は忍者を名乗るなでござる
忍者の面汚しが!!!!!!
0893忍者ハットリ@
2011/06/04(土) 18:22:53.35よろしいな?中学生に完全敗北した君。
0894デフォルトの名無しさん
2011/06/04(土) 18:28:24.19怒りに触れる前に消えたほうがいいよみんな
0895デフォルトの名無しさん
2011/06/04(土) 18:29:13.94ぜんぜんわかってないね
0896デフォルトの名無しさん
2011/06/04(土) 18:32:53.510897デフォルトの名無しさん
2011/06/04(土) 18:36:11.520898デフォルトの名無しさん
2011/06/04(土) 19:13:23.38M.a.l.a とか M a la
0899デフォルトの名無しさん
2011/06/04(土) 19:14:14.12ため息くさいからはかないでほしい
0900デフォルトの名無しさん
2011/06/04(土) 19:14:41.080901デフォルトの名無しさん
2011/06/04(土) 19:22:32.85カモーンPerl信者
0902デフォルトの名無しさん
2011/06/04(土) 20:55:07.58PHPではphing2というのを使ってみたけど、これはPHP版Antなので、xmlで書かなきゃいけなくて
めんどくさくて断念した。
つかphing使って思ったけど、antってクソだな。まるで直感的でない。
0903デフォルトの名無しさん
2011/06/04(土) 21:10:04.510904デフォルトの名無しさん
2011/06/04(土) 22:34:35.340905デフォルトの名無しさん
2011/06/04(土) 22:42:43.08sconsみたけど、ルールとコマンドをPythonオブジェクトの構造で表現するんだよね。
そうじゃなくて、rakeのようにコマンドの羅列でいいんだけど。
0906デフォルトの名無しさん
2011/06/04(土) 22:43:36.580907デフォルトの名無しさん
2011/06/04(土) 22:54:38.18PHPはpakeというのが見つかった
ttps://github.com/indeyets/pake
symfonyで使われているみたいだから、それなりに広まっているのかな
0908福盛俊明
2011/06/05(日) 00:41:46.690909デフォルトの名無しさん
2011/06/05(日) 06:58:38.10Python, Rubyで日本人のコミッタってそれぞれどれくらいいるの?
0910デフォルトの名無しさん
2011/06/05(日) 13:04:06.10Apple : JavaScriptCore で JavaScript を強力にプッシュ
Google : V8 で JavaScript を強力にプッシュ
MS : IE9 に加えて Windows 8 で JavaScript を強力にプッシュ
Nokia : Qt Quick で JavaScript を強力にプッシュ
Mozilla : いわずもがなで JavaScript を強力にプッシュ
Adobe : PDF も Illustrator も Air ももちろん JavaScript
有力なベンダーは全部 JavaScript 押し
この流れに対抗出来る LL なんて無いよね
0911デフォルトの名無しさん
2011/06/05(日) 14:25:14.470912デフォルトの名無しさん
2011/06/05(日) 14:28:41.300913デフォルトの名無しさん
2011/06/05(日) 14:48:57.97どれだけプッシュされようと、JavaScriptの言語仕様がが古くさいからな。
スコープが変だったり、引数のデフォルト値が指定できなかったり。
PHPにすら劣る点が多すぎる。
0914デフォルトの名無しさん
2011/06/05(日) 14:50:13.88シェアが高いのは認めるけど、文法がダサいから書きたくならないんだよなー
なにあのシーゲンゴ(笑)みたいな古くさい文法ww
生のjsが廃れてCoffeeScriptが主流になればいいのに
0915デフォルトの名無しさん
2011/06/05(日) 14:51:21.88913しね
0916デフォルトの名無しさん
2011/06/05(日) 15:00:56.97CoffeeScript ってそんなに良いかな?
あれなら JavaScript のままで良いじゃんと思っちゃうんだけど、
どこら辺に魅力を感じるの?
0917デフォルトの名無しさん
2011/06/05(日) 15:01:24.170918デフォルトの名無しさん
2011/06/05(日) 15:20:07.71けど、それじゃ意味ないじゃん。ブラウザで動くのがJSだけだから、JS使ってるだけで。
もしRubyでもPythonでもPHPでもいいけど、そのインタプリタがブラウザにインストールされてるなら、JS選ぶ人なんていないでしょう。
0919デフォルトの名無しさん
2011/06/05(日) 15:53:17.690920デフォルトの名無しさん
2011/06/05(日) 15:55:22.590921デフォルトの名無しさん
2011/06/05(日) 15:58:44.17ベターなシェルスクリプトとして使うには便利
0922デフォルトの名無しさん
2011/06/05(日) 16:10:08.02組み込もうとした歴史的経緯にあるんじゃねーの?
perlみたく、あのバギーっぽさがいいじゃん
0923デフォルトの名無しさん
2011/06/05(日) 16:43:40.45Rubyは20人強。非日本人をもっと増やした方がいい。
0924デフォルトの名無しさん
2011/06/05(日) 18:14:07.870925デフォルトの名無しさん
2011/06/05(日) 18:50:15.97引数のデフォルト値が無いと困るケースが分からんな...。
http://d.hatena.ne.jp/lurker/20060811/1155307397
未だに冗長な self を書かせる Python とか、インデントを強制する
Python とか、まともな無名関数を用意出来ない Python とかの方が
余程古くさいわ...。
0926デフォルトの名無しさん
2011/06/05(日) 18:54:37.66GAE なら Mirah とかを使うと楽しそうだね
0927デフォルトの名無しさん
2011/06/05(日) 19:04:57.48大抵ここを批判してくる連中はデコレータとfor, with辺りの仕様を知らない。
0928デフォルトの名無しさん
2011/06/05(日) 19:06:31.62だけどPython,JRuby,Groovy,Scalaまで選択肢ある中であえてjsはなぁ
0929デフォルトの名無しさん
2011/06/05(日) 19:08:10.29lambda, @, for, withを使い分けることでいける。
むしろ、コードの意図が明確になるし、スコープもキモくならなくて、
デメリットよりメリットの方が大きい気もするんだけど。
複数知ってないと使えんという批判ならまあ分かるけどね。
0930デフォルトの名無しさん
2011/06/05(日) 19:19:38.36引数が足りなかった場合やキーワード引数名をtypoしたときに自動でエラーに
してくれる分、JSのデフォルト値付きキーワード引数モドキよりPythonの方が便利だよ。
Pythonのselfがイケてないのは同意だが、JSのthisも別の意味でイケてない。
0931デフォルトの名無しさん
2011/06/05(日) 19:22:57.94キーワード引数自体が些末な機能だからどうでも良いわ
CLの昔からある物を今更新しいとも思わんし...。
0932デフォルトの名無しさん
2011/06/05(日) 19:23:49.110933デフォルトの名無しさん
2011/06/05(日) 19:24:56.770934デフォルトの名無しさん
2011/06/05(日) 19:28:32.910935デフォルトの名無しさん
2011/06/05(日) 19:31:14.25大事なのは新しいかどうかじゃなくて
便利かどうか
0936デフォルトの名無しさん
2011/06/05(日) 19:37:36.940937デフォルトの名無しさん
2011/06/05(日) 20:00:54.27え、古くさくないの?ダサくないの?
0938デフォルトの名無しさん
2011/06/05(日) 20:31:39.460939デフォルトの名無しさん
2011/06/05(日) 20:32:44.690940デフォルトの名無しさん
2011/06/05(日) 20:47:41.160941デフォルトの名無しさん
2011/06/05(日) 21:48:24.22標準モジュールに利用頻度の高い関数を返すlambdaもどきがあってもいいかも。
知らんだけでもうありそうだけど。。。
0942デフォルトの名無しさん
2011/06/05(日) 22:37:36.86一応operatorモジュールとかあるけど、importなしにパっと使えるlambdaは便利。
L.sort(key=lambda x: len(x[1])) とか。
0943デフォルトの名無しさん
2011/06/05(日) 23:15:31.80PHP お手軽なWebプログラム
Ruby 趣味
Python ベターシェルスクリプト、システム設定とか
Java Script ブラウザ
TCL/TK 昔のGUI資産のメンテ
0944デフォルトの名無しさん
2011/06/05(日) 23:19:22.79システムに入ってることが期待できないしなぁ
言語の優劣というより、政治力のなさとかコミッタの少なさとかが問題なのかな
0945デフォルトの名無しさん
2011/06/05(日) 23:39:00.68仕様が明文化されてなかった時代が長いし、
いろいろ後手後手に回ってる感がね
0946デフォルトの名無しさん
2011/06/05(日) 23:52:12.29えらく冗長になる
0947デフォルトの名無しさん
2011/06/06(月) 00:03:26.82メンテが大変なのでやっぱりPythonで書きたい。
0948デフォルトの名無しさん
2011/06/06(月) 00:07:03.16って用途にはPythonは向かないよな
そこはPerlの独壇場
複雑な・規模の大きな処理を使い回す
って用途にこそPython
逆にこの用途にPerlは使いたくない
適材適所
0949デフォルトの名無しさん
2011/06/06(月) 00:20:15.04awkで書くのが辛い規模のを書くときは、素直にPython使えばいいかな、と思って。
テキスト処理するならawkほんといいよ。
0950デフォルトの名無しさん
2011/06/06(月) 00:23:09.53RubyとPythonはどう使い分ければいいの?
0951デフォルトの名無しさん
2011/06/06(月) 00:30:36.730952デフォルトの名無しさん
2011/06/06(月) 00:33:26.23俺もawk成り行きで一通り覚えたけど・・・
perl既に知ってるんだったら、awk勉強するより英語勉強したほうがいいと思う。
0953デフォルトの名無しさん
2011/06/06(月) 00:53:21.43perlは知らない。昔ちょっとやったけど、あんま身につかなかった。
身についてたらPythonとawkに手を出そうと思わなかった気がする。
英語勉強した方がいいってのには同意だけど。プログラミング言語系のスレでそれ言っちゃうとおしまいよ。
どのプログラミング言語よりも、英語の方が使い道あって仕事も多くて応用も効くから。
0954デフォルトの名無しさん
2011/06/06(月) 01:09:31.36irb> [1] == [1]
=> true
irb> {} == {}
=> true
$ python
>>> [1] == [1]
True
>>> {} == {}
True
$ node
> [1] == [1]
false
> {} == {}
false
JSってバカなんじゃね?
0955デフォルトの名無しさん
2011/06/06(月) 01:37:31.02必要なら Array の prototype に compare() メソッドを足してあげると良いんじゃないの
0956デフォルトの名無しさん
2011/06/06(月) 02:34:06.53なんでそんなことしなきゃいけないの?
イコールぐらいまともに実装しろよな。
それか演算子オーバーライドできるようにしてくれ。
0957デフォルトの名無しさん
2011/06/06(月) 02:39:08.89自分でしたくなけりゃ、出来合いのライブラリをロードすれば良いだけだよ
自分で実装するのも簡単だけどね
0958デフォルトの名無しさん
2011/06/06(月) 03:34:32.050959デフォルトの名無しさん
2011/06/06(月) 03:40:23.780960デフォルトの名無しさん
2011/06/06(月) 06:57:52.81awkは単体より、シェルスクリプトの一部として使うのが良いと思う
言語単体で使うならそこはPerlでやりたい
Pythonは百行以上書くときだなあ、小物にはまず使わないや
0961デフォルトの名無しさん
2011/06/06(月) 08:05:39.03使う上では同様に気になる
0962デフォルトの名無しさん
2011/06/06(月) 10:56:48.27Perlに比べれば読めないスクリプトにならないって利点もある
とはいえ、システムに組み込まれてることは期待できないし、
Rubyを使った案件なんかもなきに等しいから、
結局趣味で手元の作業を簡略化するぐらいしか使い道がないんだよね。
0963デフォルトの名無しさん
2011/06/06(月) 11:07:21.460964デフォルトの名無しさん
2011/06/06(月) 11:32:50.910965デフォルトの名無しさん
2011/06/06(月) 11:39:40.67ライブラリには大きな差があるように感じる
0966デフォルトの名無しさん
2011/06/06(月) 11:43:16.570967デフォルトの名無しさん
2011/06/06(月) 11:52:51.22JScriptだってコンパイルすれば言語仕様を超えて演算子のオーバーロードが出来るようになるって書いてあったし。
0968デフォルトの名無しさん
2011/06/06(月) 11:57:50.35数式処理とか数値解析とかのライブラリが豊富
numpyとかscipyとかsympyとか
MATLABやMathematicaには多少劣るけど
0969デフォルトの名無しさん
2011/06/06(月) 12:00:37.65俺がPythonに興味を持ったのは3Dライブラリで簡単に3Dゲームが作れるってところだったんだけど、
その数値計算?ライブラリがあるんなら現実的かもな。
ライブラリのセットアップだけでちょっとおなかいっぱいだったんだけどやってみるかな。
0970デフォルトの名無しさん
2011/06/06(月) 12:02:58.94どっちかっつうと研究用だから、ゲーム用途に耐えうる速度かどうかは知らんぞ?
いまどき頂点演算なんて行列計算するまでもなくラッピングされてそうだし
0971デフォルトの名無しさん
2011/06/06(月) 12:35:10.30numpy等等は個々のライブラリなので、
環境として挙げるなら EPD(Enthought Python Distribution)や sage かな。
0972デフォルトの名無しさん
2011/06/06(月) 13:03:34.63実際に言語を選ぶ際には重要なファクターだよね
だからこそ、古い言語は強いんだけど
0973デフォルトの名無しさん
2011/06/06(月) 13:49:33.02Perlはコンテキストに依存したコード書くと結構混乱するかも
0974デフォルトの名無しさん
2011/06/06(月) 18:10:38.87あれ巨大すぎて邪魔。何が入ってるのか何が入ってないのかも把握できない
必要なものだけその都度入れたほうが良い
0975デフォルトの名無しさん
2011/06/06(月) 18:24:22.25pythonが論文に使われたりするの?
研究というより、ちょっとした確認用のプログラム電卓みたいな用途じゃねえの
学生の宿題の答えの確認程度にはいいかもな
といっても、ライブラリの関数を覚える労力と
他のソフトの関数を覚える労力は変わらんと思うけど
工学がどうのこうの研究がどうとかハッタリは置いといて単純に汎用性を考えると
pythonは便利
0976デフォルトの名無しさん
2011/06/06(月) 20:00:08.530977デフォルトの名無しさん
2011/06/06(月) 20:03:41.05F#が意外と奇麗なのね。OCamlも同じ感じかな。
http://programmingzen.com/2011/06/02/10-ruby-one-liners-to-impress-your-friends/
http://solog.co/47/10-scala-one-liners-to-impress-your-friends/
http://blog.fogus.me/2011/06/03/10-haskell-one-liners-to-impress-your-friends/
http://codeblog.dhananjaynene.com/2011/06/10-python-one-liners-to-impress-your-friends/
http://freegeek.in/blog/2011/06/10-clojure-one-liners/
http://ricardo.cc/2011/06/02/10-CoffeeScript-One-Liners-to-Impress-Your-Friends.html
http://willwhim.wordpress.com/2011/06/02/fsharp-one-liners-to-impress-your-friends/
http://marxsoftware.blogspot.com/2011/06/ten-groovy-one-liners-to-impress-your.html
https://gist.github.com/1004837
0978デフォルトの名無しさん
2011/06/06(月) 20:18:13.35Python自体は遅いんだけど、一般的な関数はC言語で実装済みだし、自分で定義する
関数も簡単にCやFortranで書けるから、あくまでもそれらを組み合わせるための
言語としてよく使われている。
3Dの世界でも同じ理由でPythonがデファクトスタンダード言語になりつつある。
0979デフォルトの名無しさん
2011/06/06(月) 20:28:24.23Script-Fuみたいなもんでしょ
0980デフォルトの名無しさん
2011/06/06(月) 21:13:16.370981デフォルトの名無しさん
2011/06/06(月) 22:11:31.97gimpスレに帰れ
0982デフォルトの名無しさん
2011/06/06(月) 22:20:08.96matlab,octave,Rがありで、numpyがダメな理由がわからない
Cしかしらない老害教授が自分で即席で書いたような逆行列の関数だとかを
B4に渡したけど数値誤差多すぎて使いものにもならんってことはあったな
gmp、ublas何それ?な教授とか、工学部に居なくていいのに。
こーいう無能がリストラに合わないなんて、なんて羨ましい職業なんだろう
0983デフォルトの名無しさん
2011/06/06(月) 22:41:49.03学部生の卒業論文を引用するのがダメな理由が分からないって言ってるようなもの
0984デフォルトの名無しさん
2011/06/06(月) 23:38:19.32pythonで直に書くわけじゃないぞ
0985デフォルトの名無しさん
2011/06/07(火) 01:30:45.23ライブラリさえ揃っていれば、正直なところ言語は何でも良い
0986デフォルトの名無しさん
2011/06/07(火) 01:53:49.94ライブラリの揃ってる言語ってのは、仮に糞だとしても使いようのある糞。
0987デフォルトの名無しさん
2011/06/07(火) 10:31:38.69そのかわり、教授には他にはない経験と実績があるのさ。たぶん
gnuplotの代わりにmatplotlib使うだけでもpython覚える価値はあるぜ
0988デフォルトの名無しさん
2011/06/07(火) 11:09:03.530989デフォルトの名無しさん
2011/06/07(火) 11:37:05.270990デフォルトの名無しさん
2011/06/07(火) 11:43:10.570991デフォルトの名無しさん
2011/06/07(火) 12:01:39.820992デフォルトの名無しさん
2011/06/07(火) 12:18:40.990993デフォルトの名無しさん
2011/06/07(火) 12:21:00.760994デフォルトの名無しさん
2011/06/07(火) 12:26:05.48シルバーライトで動かすのが手ごろかなと思う。
0995デフォルトの名無しさん
2011/06/07(火) 12:42:21.150996デフォルトの名無しさん
2011/06/07(火) 12:46:52.38Bio{Perl,Python,Ruby}でもPython圧勝。
0997デフォルトの名無しさん
2011/06/07(火) 12:53:38.060998デフォルトの名無しさん
2011/06/07(火) 12:59:22.450999デフォルトの名無しさん
2011/06/07(火) 13:06:51.46Rubyはライブラリが貧弱すぎるし、Rubyでプログラミング入っちゃった人と
趣味でやってる人とRails厨が使ってる印象。
Perlは過去の遺産で持ってる感じ。今から始める人がやる理由はあまりない。
1000デフォルトの名無しさん
2011/06/07(火) 13:14:25.8610011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。