12/01/20 01:32:31.35
ああ
並べてみてわかった
エディタの中で見るRubyとネット上に上がってる場所で見るrubyコードは別物かもしれない
endがオモチャに見えますね
51:uy
12/01/20 01:40:04.65
>>49
SHIFT+4おさなきゃだせない$よりは
1Keyで@はでてくるからよっぽどマシだよ
しかもそれメンバ変数だし
そもそも動的言語でクラスをフルに使いまくったソースコードなんて頻繁に書くわけ?
Ruby以外の言語なんてクラスの機能がほとんど合って無いようなものじゃん
クラスの機能についてJaVAとrUby比べるならわかるけど
52:uy
12/01/20 01:44:33.86
rubyはendがダメか・・・冷静に見るとどの言語よりも見た目最悪だな
そうなんdけど
でも実際コーディングするときは
SHIFT+「 をおして { この記号を出すわけだから
{ よりは endのほうが タイプ楽なんだよ
あああああああもう記号化記号化
エディタの効率がわるいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
53:デフォルトの名無しさん
12/01/20 01:51:51.09
俺頭悪いからdoとかbeginとかendとか覚えられん
{}で統一してくれ
54:デフォルトの名無しさん
12/01/20 01:59:53.57
>>45
そういうのは、
とりあえず、すべてのメソッドにコメントを記述。
コメント内に引数、戻り値、投げる可能性のある例外の説明を記述。
変数定義時にコメント記述。
最低限これくらいはしてから書けよ。
55:デフォルトの名無しさん
12/01/20 02:01:23.17
どんな感じか具体例を
56:デフォルトの名無しさん
12/01/20 02:01:42.84
そこまでするならJavaでいいや
57:デフォルトの名無しさん
12/01/20 02:02:10.75
日本人は英語苦手だから仕事で嫌々PerlやPHPやC系覚えたら
それらを使い続けたい。
さらに年功序列だから古い言語を強要される。
Pythonは日本人からみたら名前が悪いから流行らない。
読みづらいしパイパイとか言いたくない。
Rubyは日本発だから検討してるけどパクリ嫌いで宗教嫌いで
ブランド好きな日本人はこの言語を心底好きになることはないであろう
58:デフォルトの名無しさん
12/01/20 02:10:22.48
URLリンク(python.matrix.jp)
59:uy
12/01/20 03:04:43.75
>>58
>結論
>WindowsにおけるPythonの実績を積み立てていくしかありませんかね~。
え?ちがうよ
結論は
Pythonっていう言語名を日本人にとって読みやすく親しみやすい名前に変えることだよ
あとPythonのサイトってそうやってやたら文字に影装飾するページみる気がするけど全部同じ奴なのか?
キチガイしね
>>57
だいたい同意だけど
Rubyが流行らないのは、日本人の技術者が既に日本より国外のほうがレベル高いことを認めちゃってて
日本発だからこそ信頼できなくて使いたくないんじゃないの?
それに少なくともruby1.8まではオモチャだったし
1.9系になってUTF-8強要されて混乱して
1.9.3になってようやくwindowsのコンソールに文字化けせずにデフォルトで文字表示できるようになったようなレベル
言語のシンタックスは最高なんだけど
内部処理がまだ全然ダメなんだと思う
速度の問題も解決したとはいえ、まだPerl,PHP,よりは遅いだろ
rubyは外側しか完成していない
けどちょっとしたツール作る程度ならこれ以上優秀な言語はない
本家rubyで商品に出来るレベルのものをrubyで作れるかどうかがまだあやしいと思ってる
rubyのバグをいくつかみてきた俺からすると本家以外のruby実装のほうが安定バージョンになってる気さえする
日本人の書いたソースコードは日本人に信頼されていない ← 2012年。歴史に残る名言
60:デフォルトの名無しさん
12/01/20 03:41:14.94
>>51
俺のキーボードは、@はSHIFT+2だよ。そして世界的にはそれが主流。
Rubyのendは醜悪さ、視認性の悪さに比べれば、行末の;くらいどうってことない。
というより、折り返しの為にバックスラッシュ要求するとかしないとか、よく分からない勝手ルールを迫られるRubyの方がよっぽど酷い。
61:デフォルトの名無しさん
12/01/20 07:39:43.02
>>40
まるっきり違うではないかw
62:デフォルトの名無しさん
12/01/20 09:21:44.11
失礼します
◆第3期花王デモ
開催日時:2012年1月20日(金)
集合場所:新宿 柏木公園(西新宿7-14)
集合時刻:ボランティア参加者 11時00分 一般参加者 11時30分
出発時刻:12時00分 ルート:柏木公園→新宿駅周辺→柏木公園(左回り 2.5km前後)
フジテレビ、スポンサーの花王、花王デモはフジテレビデモの一環です。
詳しくは大規模OFF板↓
【2012/1/20】花王デモ Part 49【新宿・柏木公園】
スレリンク(offmatrix板)
◆第2回電通抗議デモ 主催 第2回電通デモ 実行委員会
日時 1月21日(土) 集合場所 水谷橋公園(東京)
最寄り駅 JR東京駅八重洲南口から徒歩約8分
地下鉄有楽町線銀座一丁目駅7番出口から徒歩約1分
集合時間 11時00分 出発時間 11時30分 雨天決行
【1月21日】 第2回 電通抗議デモ 8【敵の本丸】
スレリンク(offmatrix板)
(デモを妨害、阻止する目的で工作員が多数の悪質な書き込みをしていますのでお気をつけ願います)
ニコニコ生放送でも中継ありますので要チェック
63:デフォルトの名無しさん
12/01/20 11:34:02.21
>>62 ここが隔離スレだとよくわかったな。迷惑かけないようにここで存分にやれw
64:デフォルトの名無しさん
12/01/20 13:30:46.32
スレストの実行方法
URLリンク(info.2ch.net)
65:uy
12/01/20 15:51:29.32
>>60
>俺のキーボードは、@はSHIFT+2だよ。そして世界的にはそれが主流。
え?wwwwwwちょっと周りの人間に聞いてみれば?wwwwww
pcショップいってキーボードみてくればwwwwwwwwwww
Rubyのルールが受け付けられない奴がいるのは知ってるよ
そのレベルで止まってる奴には何を言っても無駄だということも
なんか他の言語で変な癖つけたから考えが固まっちゃってるんだろうね
一番最初に触った言語がrubyだったらもう少しマシな人生送れただろうに
;が気にならないってことはPerlの人か?wwwwwwwww
ご苦労様ですよおおおwwwwwwwwwwwww
それと
endが;より醜悪っていうのはマジでrubyを理解していないと思う
このendは ブロックで区切る為にあるものであって
do
puts :test1
puts :test2
puts :test3
end
というようにも書く事で可読性を上げる為のもの
実際 { } でかける箇所だって多い(けど、ruby使ってれば{}よりdo~endで書いたほうがいい事はすぐにわかる)
そもそもオブジェクト.オブジェクト.オブジェクトって感じに数珠繋ぎにしてコーディングするのがrubyなんで
慣れてくればdo~endとかそう頻繁にはかかねーよ
書くとしたら1ロジックに1回が基本とみて良い。後置きIFだってあるし
66:uy
12/01/20 16:00:44.11
([ "A".."Z" , "A".."Z" , "0".."9" , "0".."9" ]*5).map(&:to_a).flatten.shuffle.each_with_index do | n , i |
print n
puts if (i%40).zero? unless i.zero?
end
たとえばこういうソースコードをみても end が醜悪だというのか?
下のようにもかけるけど、どうみてもendのほうがマシだと思う
([ "A".."Z" , "A".."Z" , "0".."9" , "0".."9" ]*5).map(&:to_a).flatten.shuffle.each_with_index { | n , i |
print n
puts if (i%40).zero? unless i.zero?
}
rubyを知らない奴は
([ "A".."Z" , "A".."Z" , "0".."9" , "0".."9" ]*5).map(&:to_a).flatten.shuffle.each_with_index do | n , i |
この一行に何が詰まっているのかを理解出来ない
他の言語でさらに書けば長くなることを知らない
67:デフォルトの名無しさん
12/01/20 16:35:50.83
日本のキーボードは独自のJIS配列で、世界から見ると特殊な存在。
68:デフォルトの名無しさん
12/01/20 16:37:57.79
>>67
俺もちらっとそう思ったが
ユーロ圏もそれぞれ独自だわ考えてみたら
69:デフォルトの名無しさん
12/01/20 17:08:04.24
>>66
詰めるのは良いがやっぱり醜悪だなぁ。
70:uy
12/01/20 19:19:43.32
「バカは効率を理解しない」のはしってるから
71:uy
12/01/20 19:29:51.14
ちなみにクラスも
class A
def func
end
end
こんな風に書かずとも、endが嫌いなら
A=Class.new {
def func
end
}
こうすればいいだけだし
endの別記法が用意されていること す ら 調べられない情報弱者が騒いでいるだけ
効率を理解できないから騒いでいるだけ
72:uy
12/01/20 19:31:51.39
ああ、def~endもなくしたいって?
それならこうしろ
A=Class.new {
define_method (:f) {
p self
}
}
A.new.f
はいはいendなくてもかけますねー^^;;;;;;;;;
Rubyを理解できない言い訳にendが嫌いだって言い訳できなくなったwwwwww
73:デフォルトの名無しさん
12/01/20 19:56:02.90
うわぁ
74:デフォルトの名無しさん
12/01/20 20:02:27.61
>>69
インデントベースな言語の構文は、endが無いから美しい
ただし、Pythonの構文だけは醜悪だ
具体的には、if文やfor文の行末に付着する : (セミコロン)が醜悪
インデントベースであれば、行末に : なんて必要無いはず
これは、**** Python の構文設計上のミス **** だと思われる
たとえば関数型言語の Haskell は、行末に汚い記号は不要
Python と同族の手続き型言語である Occam もインデントベースの
構文だけれど、行末に汚い記号は必要無い
75:デフォルトの名無しさん
12/01/20 20:51:40.85
なぜPythonはセミコロンを必要とするのか。
URLリンク(docs.python.org)
読みやすいから。
76:デフォルトの名無しさん
12/01/20 20:52:46.58
いけね。セミコロンじゃないや。コロン。
77:デフォルトの名無しさん
12/01/20 20:53:21.43
何周目だよ・・・
78:デフォルトの名無しさん
12/01/20 21:09:28.20
必要かどうかを考えてるうちはまだまだだわw
プログラム言語は数式と共に文章でもある。
読みやすいかどうかが重要。
読みやすい ≠ 文字数が少ない
どうせタイピング時間なんて写経してるわけじゃあるまいし、
思考時間に比べれば短いものなんだから
数文字程度短くかけたって、仕事が早く終わるわけがない。
短いサンプルが、短くかけた!って喜んでる奴。あれは間抜け。
読みにくくなるのに、無くても良いから無くそう。これも馬鹿
それと空白は文章に必要なもの。
小説では読みやすい文章にするために、意図して空白を入れることがある。
読みやすい ≠ インデント強制
インデント(空白)は強制されるもんじゃない。自分で好きに入れるもんだ。
79:デフォルトの名無しさん
12/01/20 21:20:07.39
黒魔術からのドヤ顔。
勘弁してくれ。
80:デフォルトの名無しさん
12/01/20 21:27:09.61
>>74
こんなでこぼこのインデントでもOKなHaskellは
インデントベース構文としては出来損ないだけどな
foo x y =
if x < x
then x
else y
81:デフォルトの名無しさん
12/01/20 21:49:31.81
しばらくPythonを触ってなくて、久々にコードを書くと
map(lambda x,y: x + y, [(1,2),(3,4),(5,6)])
みたいなコードで
TypeError: <lambda>() takes exactly 2 arguments (1 given)
ってエラーが出てあれ?ってなる
x, y = 1, 2 は出来るから特に
82:デフォルトの名無しさん
12/01/20 22:23:04.02
>>75
>読みやすいから。
読みやすさを重視し、なおかつインデントを強制する言語なら、
なおさらコロンは不要だろ
タイプミスも減るし
コロンは単なるゴミでしかない
>>80
Haskell のif構文は、(Pythonと違って)インデントを強制しないからな
then という予約語があるからインデントは必須じゃない
83:デフォルトの名無しさん
12/01/20 23:10:03.54
Haskellがif構文でブロックの終端(endや } 等)を明示しなくて良いのは、
単純に then節や else節には式一つしか書けないからであって
インデント構文は全然関係ない(式一つだから終端は自明ってわけ)
84:デフォルトの名無しさん
12/01/20 23:44:12.34
>>82
読みやすいけどなぁ。
行末の開き括弧やコロンは、それ以下に内容が続くことを期待させる。
何もしない'pass'なんかも思想的には同じ感じかな。
意識して書かない限り読み手に伝わらない。
タイプミスするのは書き手が何書くかすら理解してない証拠じゃないの?
そもそも>>82だって読みやすいように律儀に行間開けてくれてるわけで。
85:uy
12/01/20 23:57:42.41
コロンは邪魔
コロンさえなかったら俺はRubyじゃなくてPython使ってる
はずせるなら外せるようにするべきだけど
実際、外せないんだろ
ちょっと簡単にはパーサ書ける気がしない
外せないゴミのことを「可読性が上がる」なんていう方向に吹っ切れちゃうのはマジでやめたほうがいいよ
末尾のセミコロンを「可読性が上がる」って言ってる超絶バカもいるにはいるけど・・・
本当にその手のおばかは頭痛の種だわ
その手のおばかにどうやって説明したら理解させられるんだか
86:デフォルトの名無しさん
12/01/21 00:07:01.77
Cでも(したがってC系の言語では)ifの{}は別に必須じゃないよな
構文は
if (式) 文 [ else 文 ]
なので文は一個と決まっている
PerlはC系だけどdangling else避けたいからか
if (式) ブロック [ else ブロック ]
にしたんだよな
87:uy
12/01/21 00:08:33.21
ifとかを一行で書くならコロンいらなくてもパーサ大丈夫だけど
二行にわたって書く時は
if a == b
|| c == d :
こうするか
if a == b \
|| c == d
こうじゃないとパーサが字句を読み解けないと思う
88:デフォルトの名無しさん
12/01/21 00:09:14.45
elifとかelsifって
なんかダサすぎるよな
89:デフォルトの名無しさん
12/01/21 00:09:46.95
>>85
いいから句点書けって。
90:uy
12/01/21 00:15:44.77
、
91:uy
12/01/21 00:28:18.95
つまり
if a == b
print 1
for i in 0..5
print i
print :test
こんな言語があればいいなって話だろ
92:デフォルトの名無しさん
12/01/21 00:51:20.58
>>84
>タイプミスするのは書き手が何書くかすら理解してない証拠じゃないの?
だってさぁ、世界にあまたあるプログラミング言語の中で、
if文やfor文の行末にコロンが必要なんていう醜悪な構文を採用しているのは、
Pythonだけなんだよ
それでも行末のコロンは読みやすいなんて言えるの?
もしも Python でしかプログラミングしない人なら慣れるだろうけど、
他のプログラミング言語ユーザからすればウザイ、ゴミとしか思えないよ
93:デフォルトの名無しさん
12/01/21 00:55:18.00
>>91
まさしく Occam がそれ
Occamは、インデントベース(インデント強制)な手続き型言語
Pythonのような醜いコロンは不要
Occamという名前は、もちろん「オッカムの剃刀」で有名な数学者に由来する
まあ、Pythonとは縁遠い設計思想だね
94:uy
12/01/21 01:32:58.32
インデントベースな言語はそりゃあるだろうけど、
ようはPytohnやRuby並の機能を持ったまま
>>91これのパーサかくのが死ぬほど厄介なんだろ
「プログラム言語作ってみた」程度の言語はもういい
ニコ動でやれ。と思う
95:デフォルトの名無しさん
12/01/21 01:40:02.59
字句解析フェーズでインデントの前後に
ブロックを表すトークンを入れて終わり
だいたいRubyこそ、書きやすさと可読性を最優先するために
パーサが大変なことになっている言語の筆頭だと思うが
96:デフォルトの名無しさん
12/01/21 01:45:30.99
>字句解析フェーズでインデントの前後に
>ブロックを表すトークンを入れて終わり
FizzBuzzレベルの話だな
uyさんには死ぬほど厄介みたいだが
97:uy
12/01/21 01:46:37.76
>>95
それで終わらないから書いてみろって(書けるなら)
98:uy
12/01/21 01:47:33.41
無知すぎてPythonからコロンを無くすパーサの難易度もわからないか
99:uy
12/01/21 01:59:55.52
あ、ごめん
Pythonをしらなすぎた
Pythonって複数行にまたがるIF使うときって既に \ 使うように実装されてんだね
ここまで作られてるなら:消すの簡単だわ
100:デフォルトの名無しさん
12/01/21 02:28:04.33
>>95
>だいたいRubyこそ、書きやすさと可読性を最優先するために
>パーサが大変なことになっている言語の筆頭だと思うが
まさしくその通りであり、それがRubyだ
Rubyは(インデントベースではないから)if式の直後にthenという終端子が必要
それを「ユーザへの優しさ」を優先し、パーザが複雑になるのを承知で
thenを改行で省略できる構文が採用されている
if式だけではない
あらゆる視点で「ユーザへの優しさ」「直感的なプログラミング」が考慮された
巧妙な構文になっている
苦労するのは中の人だけでいいという思想
だからRubyプログラミングには「自由」があり、プログラミングの楽しさを味わえる
言語であると評価されている
Pythonはその逆だ
インデントベースなのだから(HaskellやOccamのように)行末の醜悪なコロンは不要なハズなのに、
言語設計ミスによりコロンの省略が不可能になった
しかも、それを公式文書では「読みやすさ」などと欺瞞を語る(>>75)
言語設計上のバグの尻拭いをプログラマに押し付けている
行末のコロンだけではない(....以下省略)
101:デフォルトの名無しさん
12/01/21 02:44:09.86
>>81
map(lambda (x,y): x + y, [(1,2),(3,4),(5,6)])
102:デフォルトの名無しさん
12/01/21 02:45:12.97
while ((y = f(x1,x2,..)) != z)
の代用が
while True:
y = f(x1, x2, ...)
if y == z:
break
か
for y in iter(lambda: f(x1,x2...), z):
だってのが嫌だな
ifやwhileの条件式をブール値式に限定するだけで
Cでありがちな比較のつもりで代入を使用する罠は避けられるのに……
なんかいろんなところで微妙に不便だったりすることが多いよな
103:uy
12/01/21 03:14:53.35
>>100
本当にユーザーに優しくするんなら
endも取り外し可能にするべきだろ
あと文章気持ち悪いよお前
104:uy
12/01/21 03:19:37.50
なんでこういう気持ち悪い文章書くんだろう
死ねばいいのに
105:デフォルトの名無しさん
12/01/21 03:23:43.60
代入式の左辺値をそのまま評価したらどんな不都合があるんだろうな。俺は別に構わんけど
schemeのブロックのコメントアウトみたいなのが欲しい。出来ると思うけどな、次にその深さに戻ってくるまでがブロックなんだから
106:uy
12/01/21 04:00:38.69
お前たちゴミッカスのためにendのいらないRubyお試し版をかいてやったよ?
お前たちゴミカスもソースコードで語ってほしいものだよね
URLリンク(codepad.org)
__END__ 以下にソース書けばある程度は動く
とりあえずハリボテなんで if for each class def だけ対応
そんでendはつけてもつけなくても良いようにはした
俺個人としてはRubyがいつかこうなってほしい
class A
def func
for i in 1..9
for n in 1..9
printf "%02d " % ( i * n )
puts
end
A.new.func
107:デフォルトの名無しさん
12/01/21 04:04:55.03
ruby房は狂っとる
108:uy
12/01/21 06:11:10.99
URLリンク(codepad.org)
とりあえずendなしrubyをここまでは作った
簡単とか言ってる奴は続きを作れカス
寝る
109:デフォルトの名無しさん
12/01/21 11:04:32.90
XMLリテラルが言語ってどんなのがある?
110:デフォルトの名無しさん
12/01/21 11:09:22.37
最強言語Scala
111:uy
12/01/21 13:02:47.28
で、結局だれもソースかかないのか
いつもこうやって俺だけがソースをアップし後続が続かない
「「「「「「「議論のためにソースを提示」」」」」」」
程、有効な手段は無いのにバカじゃないの
かかないんじゃなく「かけない」んだろうけどな
一生そうやって口で大口叩くだけの存在で生きてろよカス共
112:デフォルトの名無しさん
12/01/21 13:23:48.76
【プログラミング部】 PHPが100倍速で動くようになったぞー
スレリンク(poverty板)
113:デフォルトの名無しさん
12/01/21 15:18:19.20
Pythonで行末コロンをオプションにしてみた
もちろんやっつけ
URLリンク(ideone.com)
114:デフォルトの名無しさん
12/01/21 15:34:43.45
キーワード足したり、ちょっと修正
URLリンク(ideone.com)
115:デフォルトの名無しさん
12/01/21 15:39:00.26
_____
.ni 7 / \ ご冥福をお祈りします
l^l | | l ,/) / /・\ /・\ \ .n
', U ! レ' / |  ̄ ̄  ̄ ̄ | l^l.| | /)
/ 〈 | (_人_) | | U レ'//)
ヽっ \ | / ノ /
/´ ̄ ̄ ノ \_| \rニ |
`ヽ l
116:デフォルトの名無しさん
12/01/21 16:06:07.49
経緯はよく知らないが
Rubyは実験的に、thenの代わりにコロンが使えるようになってたことがある
他にもfor while untilのdoの代わりにもコロンが使えた
制御構文の条件部の終わりにコロンが使えたのだろう
が、1.9で廃止された
たぶん今の1.8.7ならまだ使えると思う
ruby 1.8.7 (2011-06-30 patchlevel 352) [i386-mingw32]では使えた
いつもthenやdoは省略してしまうので書かないし
短く一行で書くにしてもセミコロンでいいし
いったいなんだったんだろう
ドキュメントにもかかれてないので、あまり知られてないだろうけど
117:uy
12/01/21 16:19:30.00
>>114
乙
>>116
case 2
when 2:
p 9
end
switch文からきてんじゃねーの
気まぐれだろ thenよりマシだと思うから復活してほしいんだけど
118:デフォルトの名無しさん
12/01/21 17:41:52.79
>>117
>「「「「「「「議論のためにソースを提示」」」」」」」
>程、有効な手段は無いのにバカじゃないの
>かかないんじゃなく「かけない」んだろうけどな
と書き込んだ本人が、他人のソースに「乙」の一言じゃ
ソースをアップする方も報われねーな
119:uy
12/01/21 18:14:41.97
>>118
ソースをアップするほうって。むくわれねーって。
この程度の「一瞬で作れるレベル」のソースに感想とか。
>>96いわくFizzBuzzと同程度らしいじゃん
一々fizzbuzzに感想なんていらないだろ
この程度のソース作成に手間取るような奴は会話に参加しなくていいと思うよ
120:デフォルトの名無しさん
12/01/21 18:30:42.16
やっぱendは見苦しいというかダサイな。
121:デフォルトの名無しさん
12/01/21 21:11:41.39
だよな、行末のコロンもダサイしな。
122:uy
12/01/21 22:45:35.03
一生変数に$のついた言語と末尾に;のつく言語でプログラミングしいていてくださいね
123:デフォルトの名無しさん
12/01/21 22:46:51.90
プログラミングしいていていくよ
124:デフォルトの名無しさん
12/01/22 01:34:46.37
>>119
二つの問題を混同してるでしょ
インデントをブロックを表すトークンに変換して
トークン列に挿入したとしても、パーサの複雑さはまったく変化していない
インデントベースだからといって困難が極端に増すわけではないというだけ
もっとも、Rubyみたいにやたら複雑なスキャナを構築していると
スキャナ自体をいじるのもそう簡単ではないだろうけど
125:デフォルトの名無しさん
12/01/22 01:40:40.91
所で、インデントの効果はありましたか?
126:デフォルトの名無しさん
12/01/22 02:05:09.67
インデントの効果? あるわけないだろ。
あれはインデントすらできてない奴らを矯正するためのもので、
普通にインデントがちゃんとできてるなら、
それと全く変わらない。
127:デフォルトの名無しさん
12/01/22 05:13:18.50
あれ?Rubyも$とか@とか@@とか変数の前に付いてたと思うけど?
128:デフォルトの名無しさん
12/01/22 05:50:52.89
ださいよね
129:デフォルトの名無しさん
12/01/22 10:09:06.75
>>127
わざと。スコープが一目瞭然っていう利点はあるが、
グローバル変数を多用するとコードが汚くなるようにして
スコープをできるだけ狭めるようにプログラマを誘導してる
130:デフォルトの名無しさん
12/01/22 10:49:34.81
BASIC・Perl路線の単に型を示すためのシジルなら
システムハンガリアン同様の時代遅れで死滅していい気がするんだが
Lisp路線の
*special_variable*
predicate?
destructive!
みたいなのはむしろわかりやすいと思う
131:デフォルトの名無しさん
12/01/22 11:25:24.15
>129
ならグローバル変数そのものをなくせいばいいじゃん
132:デフォルトの名無しさん
12/01/22 11:33:03.22
>>131
Rubyでそれやると他に色んなトコが崩れないか
133:デフォルトの名無しさん
12/01/22 11:36:56.65
Rubyの本質は全部global
134:デフォルトの名無しさん
12/01/22 11:48:09.35
>>131
もしかしてグローバル変数の存在意義について議論したいの?
135:デフォルトの名無しさん
12/01/22 12:14:30.68
Rubyは根本的な設計がまずいって話をしたいのです。
136:デフォルトの名無しさん
12/01/22 12:28:57.45
>>135
添削
誤: Rubyは根本的な設計がまずいって話をしたいのです。
正: Rubyは根本的な設計がまずくなければならないって話をしたいのです。
137:デフォルトの名無しさん
12/01/22 13:06:57.89
>>129
だったら、Perlは$@%で型を明示出来て分かりやすいよね?
138:デフォルトの名無しさん
12/01/22 14:09:32.28
てか LL にオブジェクト指向とかいらねーだろ
object.method(args) なシンタックスって邪魔なだけじゃね?
おまいら list.each(function) なコードが分かりやすいと本気で思ってるの?
どう考えたって each(function, list) が自然だろ
list オブジェクトに each メッセージを送るとか
list オブジェクトが each メソッドを持ってるとか
どんな解釈だよ。アホ過ぎ。
オブ指信者が発狂してるとしか思えねーよマジで。
139:デフォルトの名無しさん
12/01/22 14:16:03.35
モダンな汎用高級言語では多様なオブジェクトや代数データ型みたいなものが
扱われるわけで、変数のデータ型を記号や名前規約で明示させようなんて
無駄で役立たずな試みでしかないのが馬鹿でもわかる
グローバル変数はどうせ言語の上でのコンベンションがなかったとしても
ユーザがg_とかそんな名前のものをつけるだろ
140:デフォルトの名無しさん
12/01/22 14:22:06.07
>>139
perl 知ってる?
141:デフォルトの名無しさん
12/01/22 14:29:27.53
もちろん知ってるよ
ハッシュと配列「だけ」区別できたらなぜ嬉しいかさっぱり分からんがな
142:デフォルトの名無しさん
12/01/22 14:48:00.14
>>129
本当にそれだけの意図で記号を入れてるならMatzただの馬鹿だな
143:デフォルトの名無しさん
12/01/22 14:51:15.86
>>142
RubyってPythonと同じ変数宣言なしの関数スコープな言語なんじゃなかったっけ
なら$があることでglobal文とかいうキモい代物が要らないという利得があるんじゃね
144:デフォルトの名無しさん
12/01/22 14:52:00.40
インスタンス変数の @ とかクラス変数の @@ とかはどういう利得があるのか
145:デフォルトの名無しさん
12/01/22 14:52:38.05
selfとかいうキモい代物が要らないという利得があるんじゃね
146:デフォルトの名無しさん
12/01/22 14:53:27.74
@もキモいだろw
147:デフォルトの名無しさん
12/01/22 14:56:15.25
そうだけどたぶん関数スコープで変数宣言が無い言語ではローカル変数かどうかを
区別する手段は必要なんだよ
だからPythonにはself, nonlocal, globalのようなものがある
やっぱりletとかあったほうがいいんじゃね?という話なら特に反対はしない
148:デフォルトの名無しさん
12/01/22 15:00:39.77
と同様に、Perlではコンテキストを区別する手段が必要だよね。
コンテキストとか難しいから無くていいんじゃね?という話なら特に反対はしない
149:デフォルトの名無しさん
12/01/22 15:06:35.20
>>143
外のスコープの変数を読むだけならglobalいらない
そもそも外の変数の束縛を書き換えようなんて邪悪なこと
滅多にしないからglobalなんて殆ど使わない
え?Rubyは参照するだけでも$がいるの?キモイね
150:デフォルトの名無しさん
12/01/22 15:12:35.18
Lispのスペシャル変数も*で囲むから、グローバル変数の$は別にキモくないけどなあ
外の変数の束縛を書き換えるってのはLispの系統ならよくやるし
(レキシカルクロージャでオブジェクト風のことをやる際の常套手段)
151:デフォルトの名無しさん
12/01/22 15:15:16.71
Lispは全体的にキモいから
152:デフォルトの名無しさん
12/01/22 15:16:56.95
さらに邪悪でもある > Lisp
153:デフォルトの名無しさん
12/01/22 15:21:23.17
間隔が麻痺してる人の意見は当てにならんな
154:デフォルトの名無しさん
12/01/22 15:24:19.81
スレリンク(poverty板:3番)
155:デフォルトの名無しさん
12/01/22 15:32:30.90
最近思うのは、オプションとして行末記号が付けられないと、Twitterで不便
みんなどうしてんだろ
156:デフォルトの名無しさん
12/01/22 15:45:19.20
lisp は括弧さえ気にならなくなれば後は気にすることないのに。
式と文の違いもないし。
common lisp の loop と format はさらに変態的だけど。
157:デフォルトの名無しさん
12/01/22 16:49:59.65
carとかcdddrとか括弧以外もきもいって
158:デフォルトの名無しさん
12/01/22 16:56:19.53
cdrない
159:デフォルトの名無しさん
12/01/22 17:01:40.20
格好がなくなれば
きもくないって思っているのは
Lisperだけ
160:デフォルトの名無しさん
12/01/22 17:05:50.66
>>149
参照するだけって言うが、そんなに頻繁に参照しないだろ
161:uy
12/01/22 17:14:57.84
つうか
ローカル変数と
グローバル変数と
メンバ変数と
クラス変数を
区別する為に% @ @@ ってわざと記号つけているわけで
区別する手段の無い言語のほうが可読性が下がっているじゃん
んで、可読性を下げない為にメンバ変数は
m_hogehoge とか 変数名に m_ つけたりしてるんだろ?wwwww
@とどっちがいいよ
そもそもRubyで大規模なプログラムは滅多に書かない(書く奴はそれほどいない)
ので
JAVA,C#と同じようなクラス設計でプログラムかかなくたっていいんだよ
evalやyieldやlambda使わないなら、Rubyの意味が無いから、C#でもつかっててくださいって感じだけど
162:uy
12/01/22 17:16:12.43
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% → $
163:デフォルトの名無しさん
12/01/22 17:18:57.70
別にm_とかつけんでも文脈でわかるよ
164:デフォルトの名無しさん
12/01/22 17:20:58.38
>そもそもRubyで大規模なプログラムは滅多に書かない
だからグローバル変数使いまくりでも別に構わなくて
いちいち $ なんか付けたくないなー
165:デフォルトの名無しさん
12/01/22 17:23:00.11
>ローカル変数と
>グローバル変数と
>メンバ変数と
>クラス変数を
エディタのシンタックスハイライトで区別できる
166:uy
12/01/22 17:23:21.62
あとRubyは>>129
こういう考えもあって
static変数すらない
この辺りを解決できないPGには大変だろうが
その代わりにカスがカスなソースコードをかかなくなるので
最低限の品質は守られる
ただstatic変数は、アルゴリズムにおいて必要な概念だと俺は思っているけどな
Pythonがインデントで束縛するのと似たような事を言語仕様でやっている言語ではある
結局、Matzがどういう考えでrubyの言語仕様を決めているかが、ある程度理解できる程度のレベルにならないと
rubyにある「なんでこうなってんの????」は理解できないと思う
167:デフォルトの名無しさん
12/01/22 17:25:17.35
Rubyは楽しさがウリの言語らしいけど
Pythonの方が楽しいわ
168:uy
12/01/22 17:25:27.37
>>164
Rubyでグローバル変数使いまくりなソースコードって?
そもそも、普通はオート変数しか使わないぞ
>>165
動的言語でそれは出来ない
中途半端に出来るそれを「出来る」とはいっちゃいけない
169:デフォルトの名無しさん
12/01/22 17:25:37.89
> static変数
…その言葉って、言語によって随分意味が変わるんだが
どの言語のstatic変数のことだ
170:uy
12/01/22 17:26:01.64
>>163
だろうけど、つける奴はつけるぞ
rubyでつけてる奴も見たことある
171:uy
12/01/22 17:26:21.92
>>169
Cの考えでいい
172:デフォルトの名無しさん
12/01/22 17:33:34.36
さすがにきもさでいったら、Perl、PHP、Pythonは郡を抜いてるから、
相対的にRubyはきもくないだろ。
173:デフォルトの名無しさん
12/01/22 17:35:00.07
Ruby厨がPerlとは違う!とか言ってて笑える
174:デフォルトの名無しさん
12/01/22 17:36:28.68
>>172
群を抜いてるのはお前の頭の悪さじゃ
175:uy
12/01/22 17:37:12.91
言語仕様のカスさ → PHP
キモさ → Python
読みにくさ → Perl
神さ → Ruby
>>173
俺じつはPerl6に期待してたよ
それと同時に、もしかしたらRubyにおいついてくるんじゃないかっていう少しも不安もあった
でもperl6をみて安心した^^;;;;;
perlは終わったコンテンツです
176:デフォルトの名無しさん
12/01/22 17:38:09.17
Rubyってカルトだしな
177:デフォルトの名無しさん
12/01/22 17:39:01.52
神のキモさ → Ruby
178:デフォルトの名無しさん
12/01/22 17:40:32.12
Perl はむしろ5系を弄り過ぎ、もう弄らないで欲しい
そろそろ枯れさせてやってくれ…
179:デフォルトの名無しさん
12/01/22 17:41:44.04
Ruby ってスクリプト言語としては他に比べて何がいいの?
Rails で流行っただけで Ruby 自体の何がいいのかよくわからね
180:デフォルトの名無しさん
12/01/22 17:44:45.17
Python vs Ruby は Haskell vs Smalltalk に通じるものがある
カルト同士で議論がまったく噛み合わない
181:デフォルトの名無しさん
12/01/22 17:46:46.77
プログラミング言語人気TOP10の簡易解説
URLリンク(www.mwsoft.jp)
182:uy
12/01/22 17:57:04.80
>>179
perl PHP と比べるならオート変数に$がつかないこと
文の末尾に;が無いこと
イテレータの記述が容易なこと
あと俺がここでアップしたソースみたいに
> srct.scan(/\"(.*)\"/).each_with_index do | ( s ) , i |
rubyに慣れてくるといろんな処理をこうやって . でいくつでも繋げられるから別次元にいけるよ
普通だったら、これは
n = srct.scan(/\"(.*)\"/)
n.each_with_index do | s , i |
こうやって2行にわけてかかなきゃいけないソース
183:デフォルトの名無しさん
12/01/22 17:57:08.06
>>179
左から右へ書きやすいことや、DSL的な命令群を実装しやすいことかなあ
ワンライナー、テキストフィルタ、小規模なコードくらいなら慣れりゃサクッと書けると思う
一方で言語自体に容易に深入り出来てしまうんで
カオスな状況を作り出すことも容易だったりするのが問題点かな
一見すると読みやすいのに、実は読めないってコードが出来上がることもある
184:uy
12/01/22 17:58:10.71
そういう風に、イテレータ同士が結合できるから普通の言語では
こういう風に別々にそれぞれイテレータを分けてかかなくちゃいけない事も
a=[1,2,3,4].map do |m| m.to_s end
i = 0
n=a.inject "" do | a , m |
a << ":#{i}" + m
i += 1
next a
end
p n
↓rubyだと一行でこうなる
n=[1,2,3,4].map(&:to_s).each_with_index.inject "" do | a , ( m , i ) |
a << ":#{i}" + m
end
p n
185:デフォルトの名無しさん
12/01/22 18:01:00.15
>>183
perlだな
186:デフォルトの名無しさん
12/01/22 18:08:39.17
>>184
ごめん何をしているコードなのかさっぱり読めない。
・・・ってのが Ruby は多い気がする。
187:デフォルトの名無しさん
12/01/22 18:11:06.12
inject
<<
#{i}
next
p は print だよな?
そういや Ruby って変数名に p って使えないの?
188:デフォルトの名無しさん
12/01/22 18:11:32.43
>>185
そりゃ名前からしてPerlの後継的なポジションを狙ってる言語だからね
189:デフォルトの名無しさん
12/01/22 18:12:30.62
結局さあ、perlがゴミならrubyもゴミなんだよ
消去法でpythonが残るだけ
190:デフォルトの名無しさん
12/01/22 18:14:23.89
>>187
p() は標準で存在する関数だよ
Pythonなら print(repr( ~ )) にあたる
変数名として p を使うことはできるよ、標準の関数名と被るから推奨はされないけど
191:uy
12/01/22 18:15:05.70
どうせやさしくかいてもよめやしないから超上級者コードをかいただけ
p=9
p p
使えたけど
混乱するから使わないほうがいいと思うよ
pはデバッグ用に使う出力
文字列とかで使うとダブルクオーテーション込みで出力してくる
a = "testets"
print a + "\n" # => testets
p a # => "testets"
192:uy
12/01/22 18:16:41.80
>>189
perlはゴミじゃないよ
使える奴が少ないだけだよ
俺PHPはバカにするけどperlはバカにしてないけど?
193:デフォルトの名無しさん
12/01/22 18:18:27.60
>>186
ぶっちゃけ>>184は崩れすぎてて普通に読みづらいので
Rubyが良い悪いという観点のサンプルとしては
ちょっとどうかと思うw
あと平気で畳み込み演算を使ったりもするので、
慣れてないと意味不明かも
194:デフォルトの名無しさん
12/01/22 18:19:51.55
inject は関数型言語でいうところの fold か。これはわかった
<< は文字列の append だと思えばいいのかな
#{i} はダブルクォートの中で変数を展開すると。
next がわからん
195:uy
12/01/22 18:21:42.48
next は continueと同じ
next a の場合
イテレータ内で次の戻り値が a になる
196:uy
12/01/22 18:32:22.39
p %&a i u e o&,%r#a i u e o#,%q-a i u e o-,%w*a i u e o*
こんなことも出来るし最強じゃん
197:デフォルトの名無しさん
12/01/22 18:41:36.93
184 の下のコードが動かない
198:デフォルトの名無しさん
12/01/22 18:45:21.21
Ruby 書いたことがないので糞コードだと思うが、これでも同じかな
p [1,2,3,4].map {|i| i.to_s}.inject([[],0]) {|(a,i),s| [a << [s,i], i+1]}[0].inject("") {|a,(m,i)| a << ":" + m + i.to_s}
each_with_index という関数が用意されてるのは便利だが何かずるいので、
それ使わずにゴリゴリ書いてみた。
199:デフォルトの名無しさん
12/01/22 18:49:02.75
>>184
n = '"%s"' % ''.join(':%d%s' % (i,x) for (i,x) in enumerate(map(str,[1,2,3,4])))
print n
200:デフォルトの名無しさん
12/01/22 18:51:09.16
あ、文字列を""で囲む必要は無いのか
じゃあこれで
n = ''.join(':%d%s' % (i,x) for (i,x) in enumerate(map(str,[1,2,3,4])))
201:デフォルトの名無しさん
12/01/22 19:13:16.99
184 の下の方は &: ってのが 1.9 の機能なのか。
codepad で試してたが Ruby 1.8.6 だから動かなかった
202:デフォルトの名無しさん
12/01/22 19:42:13.11
自分以外にコードを貼る奴が出てくるとuyが消える法則
比較されるのは嫌なんだろうな
203:uy
12/01/22 19:44:40.19
>>199
n=("0".."3").map do |i|
":" + i + i.succ
end*""
p n
204:uy
12/01/22 19:45:21.92
>>202
勝手に比較してろよ
205:uy
12/01/22 19:47:22.34
>>198
ひどすぎる
しかしinject([[],0])が出来ることと
}. が出来ることに気づいたことは上出来だと思う
206:デフォルトの名無しさん
12/01/22 19:48:27.30
>>205
より良く直してくれ。
207:デフォルトの名無しさん
12/01/22 19:50:03.60
uyとかNGネームにしてるから安価を付けられてない限り見えないが
ここはコイツの相手する奴が多いな。うぜえ
208:uy
12/01/22 19:55:45.58
>>206
>>203
これで
209:デフォルトの名無しさん
12/01/22 20:02:22.08
隔離スレで何を言ってるんだ?
210:デフォルトの名無しさん
12/01/22 20:04:10.34
>>208
203は問題の趣旨を理解してないゴミ
211:デフォルトの名無しさん
12/01/22 20:04:46.86
203でいいなら、こっちの方がもっといい。
p ":01:12:23:34"
212:uy
12/01/22 20:15:13.44
必死な奴がいるなw
>>206
n=%w!1 2 3 4!.map(&:to_s)
.inject([[],0]) do |(a,i),s|
[ a << [s,i] , i.next ]
end.first.map do | (i,m) |
[":" , m , i]
end.join
p n
213:uy
12/01/22 20:18:21.92
更新
n=%w!1 2 3 4!.map(&:to_s)
.inject([[],0]) do |(a,i),s|
[ a << [":",s,i] , i.next ]
end[0..-2].join
p n
214:uy
12/01/22 20:19:55.88
元がひどいソースコードを無理にリファクタリングするとひどくなっていく典型wwww
面白いからいいけどwwwwwww
215:デフォルトの名無しさん
12/01/22 20:20:11.61
結局、最初に言ってた1行で書けるってのはどこ行ったんだ?
216:デフォルトの名無しさん
12/01/22 20:23:42.95
改行を必要としない言語なら一行で書けるさ
217:uy
12/01/22 20:25:29.82
別に改行必要としないけど
見易さの為に改行してるだけ
他人に見せる為のコードでわざわざインデント崩すのはゴミだと思う
218:デフォルトの名無しさん
12/01/22 20:35:36.19
結局、自己満足な再帰的技巧を使うよりも
このくらいが一番分かりやすいんじゃないかね?
a = [1,2,3,4].map{|x| x.to_s}
s = ""
a.each_with_index {|x,i| s << ":" + i.to_s + x}
print s
219:デフォルトの名無しさん
12/01/22 20:39:59.88
each_with_index も使わないならこれでいいし。
a = [1,2,3,4].map{|x| x.to_s}
s = ""
for i in 0 .. (a.length - 1)
s << ":" + i.to_s + a[i]
end
print s
220:デフォルトの名無しさん
12/01/22 20:40:30.08
>>203
n = ''.join(':%c%c' % (i,i+1) for i in range(*map(ord,('0','4'))))
print n
221:デフォルトの名無しさん
12/01/22 20:53:31.30
PowerShellで書いてみた
-join (1..4 | % { $i=0 } { ":$_$i"; $i=$_ })
変数名にシジルのある言語はこういうときは便利
まあこういうときだけだけど
222:デフォルトの名無しさん
12/01/22 21:05:42.65
なんで
01:12:23:34
じゃなく
:01:12:23:34
なん?
223:デフォルトの名無しさん
12/01/22 21:08:17.69
bash で
a=(1 2 3 4)
for c in "${a[@]}"; do
s="${s}:$((i++))$c"
done
echo "$s"
224:デフォルトの名無しさん
12/01/22 21:16:32.27
>>222
俺もずっとそこが不思議だった
225:デフォルトの名無しさん
12/01/22 21:54:23.85
就活中
(p)URLリンク(livedoor.blogimg.jp)
就職後
(p)URLリンク(livedoor.blogimg.jp)
街の人(やらせ業者)募集中です
226:デフォルトの名無しさん
12/01/22 22:08:25.46
n = ''.join(':%d%s' % x for x in enumerate([1,2,3,4]))
227:デフォルトの名無しさん
12/01/22 23:50:54.40
Haskellスレで、たかがtailコマンドの実装(ファイルの終端から読み込む)程度で
グダグダと議論してるのを見ると、RubyもPythonも
どっちも素晴らしく開発効率が良い言語だと思う
228:デフォルトの名無しさん
12/01/23 00:27:10.75
SICP taught in Python 3
URLリンク(www-inst.eecs.berkeley.edu)
PythonでSICP
世界はPythonを選んだみたいだな
229:uy
12/01/23 00:44:38.11
世界はPythonを選んだみたいだな(キリッ)
よほどの理由がない限り日本人が初見で読み方のわからない言語は
たとえ世界で流行ったとしても日本じゃ流行らない
>>227
Haskellは開発効率以前の時代に取り残された言語
勘違いした情弱以外は使わない
230:デフォルトの名無しさん
12/01/23 00:51:03.17
>>227
確か『7つの言語~』の著者が言ってたと思うが
関数型言語は難しいことを簡単にできる事がある一方で、
簡単なことが難しくなってしまう事もある
231:デフォルトの名無しさん
12/01/23 00:55:41.01
だからオブジェクト指向も関数型も両方できるScalaが最高と。
232:デフォルトの名無しさん
12/01/23 01:04:31.87
混ぜりゃいいってもんじゃない
C++が最強言語って事になってしまう
まあ間違いとは言わないが……
233:uy
12/01/23 01:06:58.86
>>230
なんで自分の言葉で説明できないで
ゴミみたいな奴の言葉を借りることしか出来ないの?バカなの?
>>232
ありえない
キモい
お前が
>まあ間違いとは言わないが……
はぁ???
どの程度のレベルでそれをいってんの?
234:デフォルトの名無しさん
12/01/23 01:42:49.58
>>228
それをY CombinatorのHacker Newsからpythonスレに貼ったら図書スレとかにも誰かが貼ってたけど
なるほど、Pythonが選ばれたのか、Python大勝利!ではちょっとつまらないと思う
というかUCバークレーが率先して選んだというより、既に世界でPythonが広く使われているという事実を受けて選んだ感じ
まあ他にも理由はあるだろうし、やっぱり使いやすさ、読みやすさも評価されてるだろう
ハードウェア記述言語や特定の研究室で使うような専用言語は別にしても
Scheme、C、Java、FORTRAN、Prologとか大学や講義によっていろいろあるだろうが
これらは歴史や実績があるから選ばれてて、Pythonもそのレベルに到達したってことだと思う
Python3がそうであるかは甚だ疑問だけど
同じように、これから何かもっと良い言語が出てきて広く受け入れられれば、
大学の講義で使われることもあるかもしれない
235:uy
12/01/23 05:32:47.29
>>234
本当にPythonが進化していいと思っているの?
どうせ日本じゃ流行らない言語だぞ
流行るとしても
世界で十分に流行って使い尽くされてからようやく日本人がPythonに気づいて
使い始めるような・・・
間違いなくそんな感じになっちゃうけど
236:uy
12/01/23 05:33:31.10
それよりも今目の前にある[ ruby ]使ったほうがいいんじゃないの?
目が悪いのか?
237:uy
12/01/23 06:10:49.95
184よりはマシな問題があったよ 動的言語スレより
もうといてしまったけどな
URLリンク(www4.atwiki.jp)
URLリンク(ideone.com)
238:デフォルトの名無しさん
12/01/23 07:29:39.05
>>237
URLリンク(www4.atwiki.jp)
> 4種類のアルファベット "A,C,G,T" から成るn文字の文字列のうち、
だから、
URLリンク(ideone.com)
%w!A C G T!.repeated_permutation(4).reject do | x |
!( x.join =~ /(AAC)/ )
end.each do | x |
p x*""
end
だと仕様を満たしていないと思う。
def dna(n)
%w!A C G T!.repeated_permutation(n).reject do | x |
とでもすれば良いのかな。
でも元スレでは上記方法だと無駄な文字列が作られ過ぎると書かれてた。
239:uy
12/01/23 16:24:32.87
おぞましいなお前
いいからソースかけよ
240:uy
12/01/23 16:29:45.25
そもそもrepeated_permutationってイテレータが存在しているって事なんで
それに直接整数を入れて問題ない
既に存在しているイテレータをラップする意味がわからないけど頭大丈夫か?
241:uy
12/01/23 16:32:57.77
>>238
お前がやっているのはこれだ
def f n
def f2 n
~処理~
end
f2 n
end
そしてこの問題の場合は文字列は作られすぎて問題はない
大丈夫か?
242:デフォルトの名無しさん
12/01/23 17:20:06.47
uyは糞ニート
243:uy
12/01/23 17:48:55.08
話題そらしか?
最近俺が思うに、俺は元から技術は高かったが
マジでお前たちがuyについてこれていないと思う
どうすんの?
こんなイタタタタタな奴に技術で負けてる気分ってどんなだよ・・・・・・・・・
すくなくとも俺はお前たちが思っているよりもずっとrubyに精通している
「rubyは初心者でもすぐ使える言語なんだ!(キリッ)PerlやPHPのほうがすごいんだ!(キリッ)」とか、
まさか本気で思ってるわけじゃないっしょ
PHPは、内部ではなくその周りを取り巻く環境がいいから、なかなか死んでくれないけど
Perlとかもう完全にお亡くなりになっているくらいは、わかっているよね?
ていう事は、今までperlで作られていたワンライナーとか小さなパッチやツールはrubyで書くことになるんだよ
PHPじゃ、かけないし、Pythonもワンライナーにはむかないし、それに
やっぱりちょっとしたものを書くときにイテレータが楽にかけないと面倒だと思うよ?
rubyできない奴って・・・どうするの? perl使い続けるわけにもいかないでしょwwwwwwwww
perl6みた?仕様みた?試した?wwwwwネエネエwwwwwwwwwwwペrl厨息してんのwwwwwwwwwww?
PHPは・・・論外っていうかさ
C/C++ が C#に置き換えられたのと同じで
PHP は Rubyに置き換えられているはずなんだけど・・・ 速度・・・??? 速度とか、あれじゃん
244:uy
12/01/23 17:50:32.15
C/C++の3倍くらいC#は遅いけど、シェア奪ったよね
PHPの3倍もRubyが遅いわけじゃないじゃん
余裕じゃん・・・・・・・・・・・・・・・・・・・・・
どうするの・・・・・・・・・・・・・・・・???
ずっとuyを否定してきた奴とか・・・・いまさらrubyに乗り換えることって出来るの????負けたみたいで悔しくない??大丈夫??ww
245:デフォルトの名無しさん
12/01/23 18:35:31.86
Perlが滅んだように、PHPも滅んでほしい
246:デフォルトの名無しさん
12/01/23 21:04:58.12
速度とかメモリ使用量はプログラマが
よく気にしたがるところだけど、
エンドユーザーはあまり気にしない所。
プログラマが気にするところと
エンドユーザーが気にするところは
反対な事が多いね。
247:uy
12/01/23 21:21:54.89
サーバープログラムに関してだけは違うが
ちょっとプログラム組めるようになってきた初心者+@くらいのレベルの奴は
やたら執拗に実行速度を気にするようになる
クライアント側でのプログラムの実行速度なんて最低限クリアしてたらマジでどうでもいい
年々pc性能も上がるし、並列化技術も進んでいる
248:uy
12/01/23 21:25:06.02
だいたいそういう奴に聞いてみたいわ
Cの何倍遅い程度までは耐えられるんだ?
ってな・・・・・・・・・
PHPとRubyなんて、C言語と比べて100倍遅いか110倍遅いか程度の違いだろ
どうせ遅いんだよ
249:デフォルトの名無しさん
12/01/23 22:26:37.69
>>244
今ではC#(Mono)の整数演算はC++(g++)の2倍くらい速い。
浮動小数点演算は20倍くらい遅いが。
250:デフォルトの名無しさん
12/01/23 22:31:27.34
>>248
純正PHPは遅いが別実装のPhalangerはF#の中の人がカリカリチューニングして今やC++より速い。
これも整数演算だけだけどPHPの用途的に文字列中心だから圧倒的。
251:デフォルトの名無しさん
12/01/23 22:42:41.78
>>249
URLリンク(shootout.alioth.debian.org)
252:デフォルトの名無しさん
12/01/23 23:04:44.93
>>237
4種類のアルファベット"A,C,G,T"から成る 100文字 の文字列のうち、
AAGを含むものが何種類あるか求めよ
253:デフォルトの名無しさん
12/01/23 23:07:40.51
>>250
速くしたいなーって作者が言ってるだけだろ
254:デフォルトの名無しさん
12/01/23 23:10:46.20
早くしたいなー。
255:デフォルトの名無しさん
12/01/24 01:17:43.75
これからはD言語だな
256:uy
12/01/24 03:05:35.82
>>249-250
だから何
一部分だけ速くなりましたとか聞いてねえよwwwwwwwwwwww
単純な計算の速度実測のあたりは日々競争をしているわけで、
一時的に追いつきましたとか、一時的に追い抜いたとかどうでもよくてさwwwwwww
VM中継してる言語とネイティブはいている言語がどちらが速いのかくらい知識として知っておいてくれよ
257:デフォルトの名無しさん
12/01/24 04:17:40.98
速さがそこまで気にならないというわりには
RailsもJavaごときに置き換えられてる現状はなんなのだ
258:デフォルトの名無しさん
12/01/24 06:41:20.16
このスレ開いたやつはこれ見に来たんだろ
■伝説のPHP作者「Rasmus Lerdorf」名言集を聞くと嫌PHP厨がファビョる
・今のPHPを作ったのは、何十人もの開発者ですよ。私は1人目の開発者だったに過ぎません。
・問題を解くのが好きなだけで、プログラミングは大嫌いです。
・いかにプログラミングを避けるかを考えていたら、コードを再利用するためのツールとしてPHPができました。
・PHPは、歯ブラシみたいなものですね。毎日使うものですけど、だから何でしょう?誰が歯ブラシの本なんて読みたがります?
・パーザを書くのは苦手です。本当にダメなんです。今でもね。
・PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。
・プログラミングを好む人がいるのは知ってますが、全く理解できないですね。
・僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃないか。直す必要があるかもね」なんて言うでしょう?僕なら、10リクエストごとにApacheを再起動しますね。
・いえ、メモリリークはちゃんと気をつけてますよ。でも、プログラミングってほんとクソだなと思いますね。
・プログラミング言語を作るつもりはありませんでした。どうやって作るのかも知りませんし。論理的に必要だと思われるものを足していっただけなんです。
・僕の発言に怒ってる人がいるようですね。僕がプログラマとしてひどいのは認めますけど、でも、多分あなたたちよりマシだと思いますよ(笑)。
スレリンク(poverty板:3番)
259:デフォルトの名無しさん
12/01/24 06:52:57.03
> ・PHPには「protected属性」も「仮想メソッド」もありますよ。情報学科の教官が「重要だ」っていうやつは何でもね。僕自身は、こんなものどうでもいいと思ってますけど。
必要なのは、いらんと思ったら斯界の権威になんと言われようとやらない、という
ライナスのようなセンスだということがよくわかる話だなw
260:デフォルトの名無しさん
12/01/24 07:39:00.38
>>252
簡単すぎるだろ
1280549650917283762136735434444908507212487721403333580285832
261:デフォルトの名無しさん
12/01/24 08:09:13.67
uyには無理だろ
262:デフォルトの名無しさん
12/01/24 08:31:45.27
URLリンク(www4.atwiki.jp)
元の問題は順序を問わないという条件なので簡単だが
辞書順に生成するという条件に変えるとなかなか面白い
(作ってからソートするのは不可)
263:uy
12/01/24 17:03:44.53
>>257
それすら満足に調べられないで何いってんの?
それRubyが並列処理できないせいだけど
264:uy
12/01/24 17:06:25.19
>>259
自分にとってはいらないものでも世界の誰かは使っているなら
そのユーザー獲得の為に言語に機能を追加する
でもある程度でいいんだけどね
もし自分にとって必要な(超優秀なPG)
最低限の機能しか用意しないとLispになるだけ
265:uy
12/01/24 17:07:04.57
それにしても動的言語スレの沈黙が面白すぎた
266:デフォルトの名無しさん
12/01/24 18:10:53.11
>>265
つ >>252 >>262
>>261
>uyには無理だろ
267:uy
12/01/24 18:23:48.20
面白いと思ってるのはお前だけだから
一人でやってれば?
268:デフォルトの名無しさん
12/01/24 18:27:04.46
>>267
>>106
> お前たちゴミカスもソースコードで語ってほしいものだよね
>>111
> かかないんじゃなく「かけない」んだろうけどな
269:デフォルトの名無しさん
12/01/24 18:46:30.10
pythonにはvertualenv, node.jsにはnvmといった、sudoが許されざる状況でも使える環境あるのに
rubyには無いんだろ?
270:デフォルトの名無しさん
12/01/24 18:49:37.99
gem install もsudo権限ないと動かないもんな
npmとかnvmとか、ユーザ権限に環境つくれるnode.jsしかこれからのLLは無いよな
271:デフォルトの名無しさん
12/01/24 18:52:14.70
repeated_permutation
URLリンク(ideone.com)
272:デフォルトの名無しさん
12/01/24 18:53:40.52
uyとかいうキチガイがruby厨で良かった
273:uy
12/01/24 20:54:55.33
>>268
お前はソースを晒さずに、uyに一方的に俺に解けって?
宿題だったら自力でやれよw
そもそもプログラムの問題ではなくどうみても数学の問題なのに
区別すら出来ないからずっとそのレベルでとまってるんだろ
もしかして以前俺にからんできてフルボッコにされていた遅延評価の知恵遅れハスケル厨ですか?
>>271
最高だわ
保存した
274:uy
12/01/24 21:05:49.69
ちょっと解こうとしたけどやめた、何かわかった
動的言語スレからのお客さんかな?
237の問題をrepaated_perrumationを使わずに
問題を理解していない強引なアルゴリズムを使うと>>260は求められるな
repuatued_parumutetionを知らないからそんなことになるのに
repeatued_prrrremtation覚えたほうがいいよ・・・
275:デフォルトの名無しさん
12/01/24 21:15:45.14
C#がC++のシェア奪ったというより
VB使ってたやつらがC#に移行したんだろうな
276:デフォルトの名無しさん
12/01/24 21:19:44.51
>>274
( ゚д゚)ポカーン
URLリンク(ideone.com)
277:デフォルトの名無しさん
12/01/24 21:27:51.10
あー枝葉末節に突っ込まれる前に書いておくと
面倒だから全部配列に持たせたけど
c[n] = c[n-1]*4 + 4^(n-3) - c[n-3]
という漸化式だから領域は 3 要素分だけで使い回して計算できる
278:デフォルトの名無しさん
12/01/24 21:29:24.88
>>274
じゃ、>>262 で名誉挽回がんばれ
279:デフォルトの名無しさん
12/01/24 22:37:20.58
>>258
つまり、10リクエストごとにApacheを再起動させない人は、
PHPを使う資格がないってことですね。
280:デフォルトの名無しさん
12/01/24 22:40:18.32
どこにPHPを使う資格がないって書いてあるの?
「僕なら再起動する」って書いてあるのしか見えないけど。
281:デフォルトの名無しさん
12/01/24 22:45:27.82
>>272
こっちとしては堪ったものじゃねえよ…
282:デフォルトの名無しさん
12/01/24 22:59:08.73
>>281
まあまあそう気を落とさずにっぷっ
283:uy
12/01/25 02:01:53.45
>>281
WHAT?
・僕の発言に怒ってる人がいるようですね。僕がプログラマとしてひどいのは認めますけど、でも、多分あなたたちよりマシだと思いますよ(笑)。
これ、俺かと思ったわ
お前等よりマシだと思います
実際、俺がコテハンを取って、ちゃんとした文章かけば
お前たちはその名無しがハッカーにしか見えなくなるよ
でも俺はプログラマって高等なものではなく、こういう泥臭いものだろ?って思ってるから
わざとPGの品位を下げる事ばかりをしているだけ
間違っても俺を褒めたり崇めたりする奴が決してでてこないように文章をかいている
お前たちは技術系ブログや技術系サイトを構築したとき「あれ?この人なんかすごそう!」みたいに思われたいんだろう
「優秀なぷろぐらま(笑)」だと思われたいんだろう
だから偉そうな文章を書いてしまう・・・
俺はその真逆、決して凄く思われたくはない
uyはぜんぜん凄くない(はずだ)
「こんなぜんぜん凄くない奴に論破されてる俺ってなんなんだろう?」と、思わせる為にこうしてるだけ
(キリッ)としながら、偉そうな文章書いてる奴のプライドをズタズタに引き裂きながら周ってるだけ
力があるくせに下にいていつでも上にいる人間を引き摺り下ろせるプレッシャーを与えているのが面白いだけ
それが楽しくて仕方がないだけ
wwwww
284:デフォルトの名無しさん
12/01/25 19:42:57.25
site:www.php.net/include
ねえ、これって見えていいものなのかな
285:デフォルトの名無しさん
12/01/26 17:29:48.46
ウイルスを不正に作成 初摘発 1月26日 16時31分
コンピューターウイルスを不正に作成して、知り合いの男性のパソコンに感染させたとして、
大阪の28歳の男が逮捕・送検されました。ウイルスを不正に作成した罪は、去年、新たに設けられ、摘発は全国で初めてです。
逮捕・送検されたのは、大阪・松原市の無職小林浩忠容疑者(28)です。
警察の調べによりますと、小林容疑者は、コンピューターウイルスを不正に作成し、去年9月、
別人を装って神奈川県の知り合いの男性にメールで送りつけて感染させたとして、不正指令
電磁的記録作成などの疑いが持たれています。このウイルスは、インターネットの掲示板に
自動的に小林容疑者を脅す内容の書き込みをするよう仕組まれていて、小林容疑者自身が
「掲示板に『家族を殺す』などと書き込まれている」と被害届を出していました。警察が
書き込み元の男性の自宅を捜索したところ、パソコンがウイルスに感染していて、小林容疑者が、
みずからウイルスを送りつけたことが分かったということです。警察によりますと、小林容疑者は、
調べに対して容疑を認めていて、掲示板の運営を巡って男性とトラブルになっていたことから、
警察は、男性を陥れようとしたとみて調べています。コンピューターウイルスを不正に作成
することは、去年6月の刑法の改正で罪に問われるようになり、摘発はこれが全国で初めてです。
286:uy
12/01/26 21:15:05.11
>>285
よく読んだらとんでもない内容だな
コンピュータウィルスで摘発されたのが凄いんじゃなくて
やっぱりそういう「成りすました犯罪予告」を書き込みさせてる奴がいるって事
ウィルスに感染していたかどうかのチェックが正確に出来なかったらどうするつもりだよバカ警察
もし検出できなかったら犯罪予告を書き込んだ側を処罰していたような事例だろそれ
287:uy
12/01/28 10:45:38.87
PHPって駆逐する価値あるの?
PHPを触れる奴ってRubyを触ったこともなくperlも使えない奴だけだと思う
ちょっと色々とソース見て周ってるが
あの言語はねーわ
何もしなくても滅びるだろ・・・
JAVAもゴミカスではあるけど、
PHPよりも絶対にJAVAのほうが開発効率でるよね・・・
どうすんだあのゴミ
288:uy
12/01/28 10:48:10.78
いやつうか動的言語は
JAVA、C#のような静的言語よりも
開発効率でなきゃおかしいだろwwwww
PHPさんは、動的言語なのに、あれじゃ開発効率の面で明らかにJAVAに劣るぞ
動的言語ゆえに速度も遅い、マジでゴミってああいうものをいうんだと思うけど
はあああああああ?wwwwwwwwwwwwww
なんであんな言語が広まっちゃってんのwwwwwwwwwwwwwwwwwwwww
ゴミグラマ共バカすぎワロタ
289:デフォルトの名無しさん
12/01/28 11:27:25.49
> PHPさんは、動的言語なのに、あれじゃ開発効率の面で明らかにJAVAに劣るぞ
ん?
<?php print('hello world')
他の言語で、これより短いコードで
ウェブページ(ブラウザに表示)することが
できる言語ってあるの?
290:デフォルトの名無しさん
12/01/28 11:49:26.71
hello worldが開発効率の指標か・・・
291:uy
12/01/28 13:33:55.99
>>289
このスレはperl,php,ruby,pythonのスレだけど、
その4つの中では一番お前さんのかいてるコードが冗長してる
まずさ、
<?php
↑これをなんだと思ってるの?
それ、いらなくね?
PHPにしかないよ
こんな
<?phpとか、
こういう、ゴミみたいな記述
ゴミだよそれゴミ
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミ
まず、そこから考えろよ・・・
なんだよ <?php ってwwwwwwwwww バカじゃねえのwwwwwwwww何このゴミ記述wwwwwww
冷静に考えろよおおおおおおおおwwwwwwwwwwwwwwwwww
マジPHPってこのレベルの奴が触ってるからあんな酷い言語仕様でも
文句たれる奴がいなくて
使い続けられるんだと思うwwwwwwwwwww
救ってやるからまってろよwwwwwwwwwwwwwwwwwww
292:デフォルトの名無しさん
12/01/28 13:36:28.42
#!/usr/bin/ruby
とか書くのと似たようなもんだ。気にするな。
293:デフォルトの名無しさん
12/01/28 13:38:31.32
てか、ぺちぱーディスりたいならwebprogでやれよ。
ム板にphp専門はいないだろ。
294:デフォルトの名無しさん
12/01/28 14:01:30.10
>>292
まさにそのとおりだな。
295:デフォルトの名無しさん
12/01/28 14:02:07.57
>>293
スレタイ嫁
296:デフォルトの名無しさん
12/01/28 14:28:38.36
>>295
Perl,Ruby,Pythonならそれぞれ信者が顔真っ赤にして反論してくるだろうが
PHPディスってもここに信者はいないからつまらんぞ
っていう助言だ。
297:デフォルトの名無しさん
12/01/28 14:57:15.37
Rubyを馬鹿にすんな
298:デフォルトの名無しさん
12/01/28 15:41:34.23
Rubyはバカにしない
Ruby信者をバカにしてる
299:デフォルトの名無しさん
12/01/28 16:09:13.00
Matzを馬鹿にしたい気持ちはある
300:デフォルトの名無しさん
12/01/28 16:42:43.39
嫉妬乙
301:デフォルトの名無しさん
12/01/28 17:43:20.57
Rubyはユーザーが宗教臭いってホント?
302:デフォルトの名無しさん
12/01/28 18:09:17.15
数々の試練(互換性放棄)を経てもMartz様に付いていくのは
信者と言わずして何と言う
303:デフォルトの名無しさん
12/01/28 18:44:45.90
何ができるかで言語を決めるべきで、先に言語を決めて使い続けることはない。
PHPで十分かと思う。PHPでは困る点はあるのか。
304:デフォルトの名無しさん
12/01/28 21:54:57.61
変な仕様がある言語が好きだというなら好きにすればいい。
305:デフォルトの名無しさん
12/01/28 22:06:12.91
>>1 に書いてあるのに無視されている Javascript 。
306:デフォルトの名無しさん
12/01/28 22:14:43.44
>>301
そういうのって宗教に失礼だと思う
307:デフォルトの名無しさん
12/01/29 00:30:05.69
Rubyユーザは押しつけがましいよね。
モルモン教は良いものなのか知らないが、いちいちこっちまで出張って来てほしくないね、
308:デフォルトの名無しさん
12/01/29 00:41:20.32
>>307
スレタイ嫁、ここはバトルスレだ
ここでのそのセリフは、自ら敗北を宣言したに等しい
>>307を添削しておこう
誤: Rubyユーザは押しつけがましいよね。
モルモン教は良いものなのか知らないが、いちいちこっちまで出張って来てほしくないね、
正: もう技術的な議論ではRubyに勝てそうもありません(涙目
309:デフォルトの名無しさん
12/01/29 01:38:12.22
フォルダにあるファイルの修正をPHPで監視できるか?
310:デフォルトの名無しさん
12/01/29 01:45:04.26
>>309
コメントくださいねw
URLリンク(php.net)
FAM 関数
fam_cancel_monitor ? 監視を終了する
fam_close ? FAM 接続を閉じる
fam_monitor_collection ? 指定したディレクトリにあるファイルの変更を監視する
fam_monitor_directory ? ディレクトリの変更を監視する
fam_monitor_file ? 通常のファイルの変更を監視する
fam_next_event ? 次の待機中の FAM イベントを返す
fam_open ? FAM デーモンへの接続をオープンする
fam_pending ? 待機中の FAM イベントの有無を調べる
fam_resume_monitor ? 中断された監視処理を再開する
fam_suspend_monitor ? 監視を一時的に中断する
311:デフォルトの名無しさん
12/01/29 06:35:48.86
「とりあえずテレビをつける」のをやめようか
URLリンク(www.nicovideo.jp)
1/28 27日の朝生の感想 & 岐阜にキムチの町があるらしい!
URLリンク(www.nicovideo.jp)
日本の年寄は情弱。一日中反日TVを見てる。
URLリンク(www.nicovideo.jp)
マスゴミの麻生さん叩きを検証しよう
URLリンク(www.nicovideo.jp)
外圧で日本経済の破壊工作をする馬鹿
URLリンク(www.nicovideo.jp)
【拡散】 民主党の新たな言論弾圧法案、[秘密保全法案]
URLリンク(www.nicovideo.jp)
法務省の「新たな人権救済機関」Q&Aが国民を騙している件
URLリンク(www.nicovideo.jp)
【西部邁ゼミナール】安倍(元総理)の日本国民に訴える
1 URLリンク(www.nicovideo.jp)
2 URLリンク(www.nicovideo.jp)
3 URLリンク(www.nicovideo.jp)
【討論!】野田民主党内閣の本質と行方[桜H24/1/28]
1/3 URLリンク(www.nicovideo.jp)
2/3 URLリンク(www.nicovideo.jp)
3/3 URLリンク(www.nicovideo.jp)
312:デフォルトの名無しさん
12/01/29 07:22:38.97
>>311 巣に帰れネットの情報を鵜呑みにする情弱バカウヨ
313:デフォルトの名無しさん
12/01/29 11:15:11.28
↑
日教組教育とマスコミ(電通)に洗脳された哀れな国民
もしくは在日
314:デフォルトの名無しさん
12/01/29 11:47:39.63
>>310
fam_monitor_directory ってディレクトリを再帰的に監視するの?
315:デフォルトの名無しさん
12/01/29 11:49:32.53
>>314
自分で実装しろよ。inotifyも再帰的に監視しないだろ。
316:デフォルトの名無しさん
12/01/29 11:57:53.05
>>315
いやPHPのスタンス的にできるのかなと思っただけです。
317:デフォルトの名無しさん
12/01/29 12:19:14.52
スタンスってなんやねん。いみふ
318:デフォルトの名無しさん
12/01/29 12:22:00.79
インスタンスですがな
319:デフォルトの名無しさん
12/01/29 12:24:23.26
野球のバッターが足を置く位置
320:デフォルトの名無しさん
12/01/29 12:43:37.87
空なタンスのこと出んがな
いわせんといてやー恥ずかしいきに
321:デフォルトの名無しさん
12/01/29 14:33:29.66
>>318
なんでインスタンスって言うんだろう、オブジェクトでいいじゃん
って時々思う。
322:デフォルトの名無しさん
12/01/29 14:45:27.67
>>321
objectで間違いではないけれど、
明確でないというか曖昧、抽象的すぎると言うか、
objectの指し示す範囲が広すぎるんだと思う。
言語に依るかもしれんけど、
objectにはinstance, class, method, ...etc
が含まれるんじゃないっけ?
objectは数学でいう数みたいなもんかな?
数には整数、自然数、負の整数、小数、分数、無理数、有理数、、、
が含まれるみたいな話。
>>321 を「数」という語で書き直すと以下の感じだろうか。
1をなんで自然数っていうんだろ?
数でいいじゃんって時々思う。
323:デフォルトの名無しさん
12/01/29 15:00:51.60
Perl的にはどうでもいい
324:デフォルトの名無しさん
12/01/29 15:40:36.01
ここのスレは在日が日本人のふりしてる人が多いね
真実を伝える情報を拒否したり、左翼的感覚に共鳴する書き込みは
反日在日と思ったほうが良いね
わが小学校は橋下さんの言葉に賛同して卒業式に国家を歌う
方向に向いています
日本人であれば国家を憂うのは当たり前です
ここは日本ですから
325:デフォルトの名無しさん
12/01/29 16:40:54.24
インスタンスは単なるオブジェクトじゃなくて
「何らかの設計図を元に生成されたオブジェクト」って感じだね
だからクラスベースのOOPLならクラスとの対比として語られる概念
326:デフォルトの名無しさん
12/01/29 16:54:48.56
ネトウヨは現実で何も壊せないカス
327:デフォルトの名無しさん
12/01/29 17:18:17.03
ヒトラーみたいな亡国の指導者をまつりあげるのが「国家を憂う」ことなのか。
死んじまえ。そんな、国に害なすバカは。
328:デフォルトの名無しさん
12/01/29 17:46:48.68
>>325
ただし、SmalltalkやRubyといったメタクラスベースなOOPLの場合、
インスタンスが「あるクラスから生成されたオブジェクト」であるのはもちろんのこと、
クラスさえも「あるメタクラスから生成されたオブジェクト」になる
したがって、クラスとインスタンスの境界線は直感的には曖昧であり、
それらオブジェクト間に存在する相対的かつ推移的な関係の一つでしかない
329:デフォルトの名無しさん
12/01/29 19:05:12.39
おい、またPython信者がPHPをディスってるぞ。懲りないやつだな。
URLリンク(twitter.com)
他の言語のユーザーがphp始めたときにハマりがちなこと:
O/Rマッパーを使おうとする。有名なフルスタックフレームワークが
謳っている "fast" をベンチマークせずに信じて、Djangoとかに比べて
数倍遅いことにS-inしてから気づく。
URLリンク(twitter.com)
他の言語のユーザーがphp始めたときにハマりがちなこと:
テンプレートエンジン以外の用途でphpを使おうとする。
330:デフォルトの名無しさん
12/01/29 19:26:10.08
>>321
「オブジェクト」は、ポインタ(参照値)で指せるもの全般、みたいなニュアンスを帯びることがある。
例えばJava言語仕様での「オブジェクト」は「クラスのインスタンス」と「配列」の総称だったりする。
331:デフォルトの名無しさん
12/01/29 23:28:27.29
今日はなんだかPHP厨が元気だな
332:デフォルトの名無しさん
12/01/30 00:26:20.02
>>310
注意: この拡張モジュールは Windows 環境では利用できません。
URLリンク(www.php.net)
333:デフォルトの名無しさん
12/01/30 01:11:56.70
>>328
むしろ境界が曖昧だからこそ、そういう言語では尚更
「オブジェクト」と「インスタンス」をキッチリ使い分けると思う
「クラスとはClassクラスのインスタンスであるオブジェクトのことです」
みたいな感じで
334:デフォルトの名無しさん
12/01/30 03:18:54.87
既存政党の責任と限界。2.1韓国大使館デモ
URLリンク(www.nicovideo.jp)
【2012.01.29】民主党本部前座り込み抗議活動100日目 -エベンキキャノン編-
URLリンク(www.nicovideo.jp)
1月28日 民主党・野田政権の即時退陣を求めるデモ
URLリンク(www.nicovideo.jp)
「日本海/東海併記」米議会にて1票差で否決&朝生の感想
URLリンク(www.nicovideo.jp)
【民主党】は震災復興なんてする気なし!さっさと叩っ斬ってしまおう!
URLリンク(www.nicovideo.jp)
字幕【テキサス親父】民主党と環境保護団体はグル!誰が儲かる?
URLリンク(www.nicovideo.jp)
総統閣下はブータン国王侮辱問題にお怒りのようです【拡散希望】
URLリンク(www.nicovideo.jp)
反日宣伝工作を迎え撃て!★第35回炸裂トーク
URLリンク(www.nicovideo.jp)
笑ってはいけない朝鮮人の妄想2
URLリンク(www.nicovideo.jp)
【Part3】財産を奪われ続ける日本人
URLリンク(www.nicovideo.jp)
我が国の憲法の問題点
URLリンク(www.nicovideo.jp)
335:uy
12/01/30 09:56:21.83
>>303
「困る事」なんてないよ
C言語の時点で、チューリング完全
C言語以降の言語で困る事など何もない
もし、言語の機能のことを言っているのであれば、
PHPには存在せずRubyやPerlやPythonに存在機能なんていくらでもある
そのちょっとズブの初心者にはとっつにくい効率の高いソースコードを
かけないようにしちゃったのがPHPだよ?
いつまでそれ使い続ける気だよ
自分のレベルがそこで止まっているならまだしも
さすがに、プログラミング初心者の奴でも1年PHP使ったらさっさとRubyにでも移るべきだろ
Webアプリしか作らないプログラマでもRubyくらいは使いこなせよ・・・
PHPよりマシな言語があるのに、それを使わんでわざわざ効率の悪い言語で開発する利点ってなあに?
マゾプレイが大好きなの?w
って話
まぁお仕事でやってる奴は強制的にPHP(笑)だから仕方ないよね
Rubyは遅い!遅いんだ!(キリッ)とか思ってるのかもしれないけど、インタプリタ(1.8)からVMになったので
実際Ruby1.9からはPHPと速度の差なんてねーだろっていう、むしろイテレータ関係が充実してる分
スクリプト言語側でコードを書く量が減るんで、予め作られてるCネイティブのコードが流れる
つまり、理論的には最終的にRubyのほうが確実に速くなれる
PHPは言語仕様的に、今からRubyのようなイテレータを実装するのは 不 可 能
336:uy
12/01/30 09:59:12.97
おっと・・・PHP使いはイテレータは使わないでマゾプレイでプログラミングしてるんだったかな?w
for文(笑)
foreach文(笑)
可愛そうだ
337:デフォルトの名無しさん
12/01/30 21:53:04.50
ん? PHPで普通にイテレータ使うだろ?
PHPにはイテレータ無いんだ!って
主張なら、それはお前が無知な馬鹿ってことになるし
何を言いたいのかさっぱりだ。
338:デフォルトの名無しさん
12/01/31 02:04:28.13
PHPは関数指向プログラムって感じがする
339:デフォルトの名無しさん
12/01/31 02:19:40.02
まったくその通りだ
Cには手続きが無くて関数しかないから、関数指向プログラミング言語だもんな
それと同じだよね
340:デフォルトの名無しさん
12/01/31 02:57:20.22
>>337
あwww
PHPさんでもイテレータ使うんだwwww
でもあんなイテレータ使ってたんじゃfor文やforeachと開発効率かわんねーと思いますよ
PHPにイテレータは似合わないよwwwfor文でやっててくださいよwwwww
イテレータっていうのは効率的なプログラミングする為の考え方なんすよwwwwww
PHPで効率なんてでるわけないのにPHPがイテレータ使うとかイテレータに失礼過ぎワロタwwwwwww
>>339
C言語を出すあたりよく理解している
PHPはC言語を動的言語にして、ちょっとライブラリ付属しただけの時代錯誤のゴミ
Perlが一部の人間にしか扱えなかった事と
rubyの成長が遅かったことと
pythonがマイナーだったせいで
時代遅れのゴミに付け入る隙を与えてしまった
だから今こうなっている
341:デフォルトの名無しさん
12/01/31 03:04:07.70
>>337
何を言いたいのがさっぱりっすかwwwwwwww
そうっすねwwwww
PHPさんパネェっすwwww
まぁRubyのイテレータが特殊なだけだよねwwwwww
まだ一般浸透してるどの言語でも真似できてない( まねしようとしたら1から言語作り直す必要がある )からねwwwwwwww
PHPさんはPHPしか使わないからRubyが何やってるか全然わからないんすよねwwwwww
PHPはC言語と見た目一緒なソースだから安心しちゃうんすよねwwwwwwww
本来ならば、2012年にゴミカスC言語と似たような見た目のソースコード書いている時点で危惧すべきなんだけど
PythonとRubyとLispあたりやってない奴からすると
未だに2012年でもC言語のプログラミングスタイルで通用するとか思ってそうだもんねwwwwww
まああああ確かに通用するよwwwwwwwそれ以上の手段が開発されているってだけでwwwwwCやPHPが効率下がったわけではなくww
もっと上のノウハウが作られたってだけでwwwwwwwwwwwwwwwwwwwwwww
ちゃんと話題になった言語は全部使えるようになっておけよ
1日で1つの言語くらい調べられるだろ? なんでその当たり前の事をやらないで
知ったかぶって、そこに存在するものをなかったことにして>>377わかりまてん。 とかいい始めちゃうのwwwww
サッパリわからねーなら勉強しろよwwwwwwwwww質問してんの???答えてほしいんすかwwwwwwwwwいい歳こいた大人だったら自分で学べカスwwwwwww
342:デフォルトの名無しさん
12/01/31 03:25:54.85
イテレータ自体は古くからある抽象化で、珍しいものでも何でもない
内部イテレータは少し珍しい……と思いきやforeach文という形でサポートしている言語もあるし
まあ現代的な言語では内部/外部イテレータの両方をサポートしているのが普通
この点においてRubyは別に変わった言語ではない
Rubyが面白いのは
・イテレータと呼ばれていた反復手法に高階関数という解釈を与え、自由度を高めた
・関数引数が一つの場合に特化した糖衣構文をブロックという形で提供した
(イテレート目的で使われることが多かったので、昔のRubyではブロック構文のことをイテレータと読んだ)
これがポイントであって、uyのイテレータ馬鹿は完全に論点を外してる
343:デフォルトの名無しさん
12/01/31 11:03:32.03
break/continueみたいなフロー制御は手続き型のforループでは常用されるけど、
内部イテレータがモデルにしてる高階関数での反復計算ではそうではないよね
(基本抜けられなくて、どうしても抜けたければ例外を使いなさいみたいなことが多い)
こうした途中脱出的な手続き構文をサポートするためかどうか知らないけど
Rubyのブロックやその眷属は結構トリッキーなものになっているように見える
あと、RubyのブロックやPythonの内包表記の変数のスコープはリークするんだっけ?
344:デフォルトの名無しさん
12/01/31 21:49:12.70
>>342
>まあ現代的な言語では内部/外部イテレータの両方をサポートしているのが普通
何をもって内部イテレータと呼ぶかだよなあ。
たんに関数オブジェクトを渡すだけならいろんな言語で内部イテレータをサポートできるけど、
Rubyの場合はbreakやcontinueができるから内部イテレータと言えるのであって、
それができない(あるいは例外処理とかでお茶を濁している)言語では、内部イテレータと呼ぶのは違和感ある。
内部イテレータと同じようなことができる、というだけなら同意。
>Rubyが面白いのは
>・イテレータと呼ばれていた反復手法に高階関数という解釈を与え、自由度を高めた
>・関数引数が一つの場合に特化した糖衣構文をブロックという形で提供した
>(イテレート目的で使われることが多かったので、昔のRubyではブロック構文のことをイテレータと読んだ)
>
>これがポイントであって、uyのイテレータ馬鹿は完全に論点を外してる
ここらへんはその通りだと思う。最後の行も含めて。
345:デフォルトの名無しさん
12/01/31 22:12:53.93
Rubyのブロックの引数は
Ver1.8までは外側の同名変数を共有してましたが
1.9からは遮蔽するようになりました
ブロック引数の名前が外側の変数と被ってなければ
そのスコープはブロック内に限られます
10.times{|i| i }
print i # => エラー
外側の変数と被ると
i = 999
10.times{|i| i }
print i # => 1.8までは 9 1.9以降は 999
(よく知りませんが)Pythonはちょろっと試したところだと
Ver2.7では、リスト内包表記はスコープを作らず外側と共有
3からは スコープを作って外側の変数を遮蔽
[i for i in range(10)]
print(i) # 2.7だと9 3以降だとエラー
外側の変数と被ると
i = 999
[i for i in range(10)]
print(i) # 2.7だと 9 3以降だとだと999
ジェネレーター式は2.7でも3でもスコープを作って外部変数を遮蔽
346:デフォルトの名無しさん
12/01/31 22:31:48.91
rubyやpythonにはこんな落とし穴はあるのかな?
URLリンク(blog.practical-scheme.net)
と思って、pythonで書いてみた。あまり知らないので間違っているかも。
>>> f = [lambda : i for i in range(10)]
>>> [g() for g in f]
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
347:デフォルトの名無しさん
12/01/31 22:40:38.32
python3.2では>>346の示した結果になった。
>>346はどのpythonで実行したの?
348:346
12/01/31 23:03:36.15
>>347
2.7.2
>>346 で提示したページもよく分かっていないで話を投げたのだけれど、
2系と3系では意味が異なるのかなあ?
349:デフォルトの名無しさん
12/01/31 23:33:04.02
Rubyのブロック変数は各ループごとでの共有はしていないので
f = 10.times.map{|i| lambda{i}}
f.map{|g| g.call} # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ブロックってのは関数を渡して、毎ループごとにそれを呼び出してるようなものだから
ループごとのiは別もの、その別々のiをクロージャーが閉じ込めてる
ただ、1.8までだとブロック変数が外部と被ってると、ループごとのiがすべて同じになるので
i=0
f = 10.times.map{|i| lambda{i}}
f.map{|g| g.call}
1.8だと [9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
さらに
i=10
f.map{|g| g.call}
などと、続けると 当然[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]に
1.9だと遮蔽されてるのでどちらも [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
350:デフォルトの名無しさん
12/01/31 23:37:37.05
Pythonでは内包表記ではループ変数は共有されるんだね
f = [lambda : i for i in range(10)]
print( [g() for g in f] )
i = 10
print( [g() for g in f] )
Python 3だと
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
Python 2だとスコープがもれるので
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
351:346
12/01/31 23:49:13.98
こうすればいけるのか。
f = [(lambda x: (lambda : x))(i) for i in range(10)]
352:デフォルトの名無しさん
12/02/01 08:10:53.25
素直にジェネレータ式を使うべき
f = (lambda : i for i in range(10))
[g() for g in f]
353:デフォルトの名無しさん
12/02/01 21:03:01.10
>>352
こうなる
f = ( lambda : i for i in range(10))
a = [ g for g in f]
print( [g() for g in a ] )
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
354:デフォルトの名無しさん
12/02/01 21:09:07.55
lamdbaの入れ子はわかりにくいから
可読性を考えて、こうするのがいいんじゃね
def gen(x):
def _gen():
return x
return _gen
f = [gen(x) for x in range(0, 10)]
355:デフォルトの名無しさん
12/02/02 00:35:02.88
このスレの話題RubyとPythonとPHPばっかりなんだけど、
CとPerlとJavaScriptをずっと使い続けてきてる俺は
このスレ的にはどんな存在なの?
356:デフォルトの名無しさん
12/02/02 00:55:53.91
話題がなければその時は話に上らないだけで
スレ的にはあーだこーだ書いてもぜんぜん問題ない
357:デフォルトの名無しさん
12/02/02 00:59:26.43
引数が増えてるからエラーに弱くなってるけど、自分ならこうする
f = (lambda i=i: i for i in range(10))
358:デフォルトの名無しさん
12/02/02 01:19:24.97
本気でlambdaのリストを得たいわけじゃなくて
気をつけなければならないことがあるねって話でしょ
Pythonだと似たようなので、関数のデフォルト値とか
そもそものリンク先の話は
「プログラマが気をつけなければならないのはわずらわしいね」
って話?
359:デフォルトの名無しさん
12/02/03 19:02:07.94
__call__使うのもいいな
class Func(object):
def __init__(self, num):
self.num = num
def __call__(self):
return self.num
360:デフォルトの名無しさん
12/02/03 21:13:01.54
動的言語で一番速いのはどれだ
URLリンク(www.anlyznews.com)
361:デフォルトの名無しさん
12/02/03 21:18:09.88
Javaだろうな
362:デフォルトの名無しさん
12/02/03 22:24:00.00
動的言語限定ならdynamics C#が圧倒だろ
363:デフォルトの名無しさん
12/02/03 22:27:17.45
次点でPhalanger
364:デフォルトの名無しさん
12/02/03 22:45:36.10
schemeだろ
365:デフォルトの名無しさん
12/02/03 22:53:40.90
>>364
あほ?
366:デフォルトの名無しさん
12/02/03 23:32:29.57
>>365
schemeより早い動的言語あるの?
367:デフォルトの名無しさん
12/02/04 00:03:07.69
>>366
あほ?
368:デフォルトの名無しさん
12/02/04 01:02:11.07
>>360
こういう比較はやっちゃダメです、っていう見本みたいな記事だな
369:デフォルトの名無しさん
12/02/04 01:14:20.55
>>367
何があほなの?
370:デフォルトの名無しさん
12/02/04 01:21:24.97
schemeは仕様だから実装によって違うだろうなあ。
それにそもそも速そうな仕様でもないし、仕様の中にオブジェクトシステムがない。
371:デフォルトの名無しさん
12/02/04 01:23:56.61
>>370
動的言語ではあるだろ
372:デフォルトの名無しさん
12/02/04 01:29:58.82
schmeは仕様ならC++やPythonやJavaも仕様
仕様がないRubyだって処理系はひとつじゃない
373:デフォルトの名無しさん
12/02/04 01:33:55.03
scheme処理系で一時期話題だったstalinってやつは
どこまで頑張るのかなあ?
>>372
Rubyは最近、最低限の仕様がJISで規格化された
374:デフォルトの名無しさん
12/02/04 05:09:31.26
KARAの日本での活動を担当するマネージャーが、在日本朝鮮人総連合会(以下、朝鮮総連)の
所属であるという主張が提起されるなか、所属事務所側が正確な事実を確認している。
所属事務所DSPメディア側は3日、「物議をかもしている男性は、KARAの日本での活動を任されて
いるDSP JAPANの職員で、スケジュールマネージャーを担当している。活動に支障はないと思うが、
物議をかもしているので、事実かどうかを確認している」と説明した。
この関係者は、「韓国での活動には問題はないが、日本で主に右翼傾向の強い方々が疑惑を
提起していると見られる。最近、嫌韓流が強くなり、日本のファンの間でこのような話がさらに
大きくなっているようだ。まず該当の男性が朝鮮総連なのか確認した後、さまざまな状況と
今後の計画を検討し、立場を明らかにする」と話した。
これに先立ち、ある日本のオンラインコミュニティには、KARAの日本での活動に同行した男性が、
2006年11月に警視庁の朝鮮総連本部強制捜査を妨害した人物と同一だという疑惑が提起された。
特にネットユーザーたちはKARAの日本での活動途中のこの男性の写真と、警視庁の
朝鮮総連本部の強制捜査当時の男性の姿を比較して掲載した。
(以下略)
リンク先に全文
URLリンク(www.kstarnews.jp)
スレリンク(poverty板:9番)
検証画像
URLリンク(inspire.iza.ne.jp)
375:デフォルトの名無しさん
12/02/05 06:00:00.89
PHPが圧倒的に人気。
ソースはGoogle Trend
URLリンク(www.google.co.jp)
376:デフォルトの名無しさん
12/02/05 10:31:25.88
レガシーなPHPが使われたHPが、
まだ生き残っているからしょうがないな
377:デフォルトの名無しさん
12/02/05 18:40:22.92
PHPを使った事無い俺には
お前等が何でPHPを目の敵にするのか分からん
378:デフォルトの名無しさん
12/02/05 18:42:02.60
Rubyの教祖がPHPを目の敵にするから
下々の者も右へならへでPHPを目の敵にしてる
379:デフォルトの名無しさん
12/02/06 00:36:11.62
>>375
PHPとPerl爆下がりでどうみてもRubyst騙り乙だろw
380:デフォルトの名無しさん
12/02/06 12:58:53.83
>>377
PHPは悪くない。
問題は暴れるPHPer。
381:デフォルトの名無しさん
12/02/06 13:27:19.11
関数の命名規則が適当だからだろ
382:デフォルトの名無しさん
12/02/06 13:31:02.59
>>375
ウェブ系のトレンドじゃpythonよかrubyの方が伸びてるのな
数値計算やら科学技術計算のライブラリはrubyじゃ全然なわけだが
383:デフォルトの名無しさん
12/02/06 13:46:33.49
PHPは初心者をいち早く実戦投入するのに最適な言語だからな
驚くぐらいレベルの低いプログラマが多い
誤解してはいけないのはプログラム言語それ自身と
プログラマーの能力はまったく無関係だってことだ
PHPを仕事で使っているプログラマーでも優秀なプログラマーは
たくさんいるし、すごそうな言語を使っているだけの無能プログラマー
もたくさんいる
「〇〇を使っている俺すごい、PHPを使っているお前より上だから」
みたいなこというバカは多いけど
384:デフォルトの名無しさん
12/02/06 14:39:29.89
PHPってだけで、web系だって業務の幅が分かるもんじゃないの?
Matlab,Rみたく統計解析したり、関数型でパーサーみたいなもの書いたり、
そういうのと皆無で、ずらずらと手続きを並べながら、セキュリティに気配ってるだけのイメージ
385:デフォルトの名無しさん
12/02/06 14:58:16.56
「そういうのと皆無で」とか言っちゃう雑魚がおナマ言ってんなよw
386:デフォルトの名無しさん
12/02/06 17:43:03.22
PHPやってて、なんか違うってので
Ruby on Railsで作り直してて
それでもなんか違うってPHPに戻ったら
Ruby on Railsでの経験や考え方を学んだことにより
PHPでも以前よりスマートに書けた
ってブログをだいぶ昔に読んだな
387:デフォルトの名無しさん
12/02/06 17:46:02.61
PHP以外ならなんでもいいんだよ
PHPの考え方はかなり歪んでいる
他の言語でも言えることだけれど
388:デフォルトの名無しさん
12/02/06 21:04:32.26
>>384
他の言語は何系の業務で使われてんの?
389:デフォルトの名無しさん
12/02/07 05:28:38.68
>>377
現場をしらない趣味グラマーだらけだから
390:デフォルトの名無しさん
12/02/08 00:10:09.36
>>384
セキュリティに気をくばってればいいけどなあ。
391:デフォルトの名無しさん
12/02/08 00:18:41.62
>>389
趣味グラマーがわざわざPHPを使うわけないだろ
392:デフォルトの名無しさん
12/02/08 00:30:29.79
おれのPHPのソースコードは、きたなくて、ひとにみせられないよ
393:デフォルトの名無しさん
12/02/08 01:31:08.86
PHPの趣味グラマー
URLリンク(hirata-create.cocolog-nifty.com)
394:デフォルトの名無しさん
12/02/08 02:23:17.12
>>393
あーやっぱり素人が作った、しかもPHPごときではこの程度か…
もうすぐこのスレでPerl,Ruby,Pythonのプロがすげーもん見せてくれるぜ
395:デフォルトの名無しさん
12/02/08 02:56:49.35
知ってるか?
宣伝するのは本人だけって
396:デフォルトの名無しさん
12/02/08 02:58:53.11
趣味グラマーがPHPに惹かれない理由は、単純にワクワクしないからだろう
なんか初心者向けのようなチープさがあって、凄いオモチャで遊んでるという高揚感が得られないから
397:デフォルトの名無しさん
12/02/08 07:36:58.64
>>391
だから目の敵にしてるって意味じゃないの?
398:デフォルトの名無しさん
12/02/08 11:46:43.39
ActivePerlなどでインストールが簡単なら初心者向きだが、PHPのインストールは、たいへんでわ?
パソコンの初心者がApache2.2いれるか? おっかなびっくり
399:デフォルトの名無しさん
12/02/08 12:07:56.52
最近はXamppあるしなぁ
400:デフォルトの名無しさん
12/02/08 12:39:04.38
初心者のためにPHPで作ったサーバー、ダウンロード後好きな場所にZIP解凍したら無設定で即開始できます
PHPバージョンは、PHP-5.3.10
URLリンク(hirata-create.cocolog-nifty.com)
初心者のためのRADツール、WindowsのGUIスタンドアロンが簡単に作れる
PHPバージョンは、PHP-5.3.10
URLリンク(hirata-create.cocolog-nifty.com)
401:デフォルトの名無しさん
12/02/08 12:44:40.08
今となっては、Phalangerでいいな
原始の海は、とっくに過ぎ去った
402:デフォルトの名無しさん
12/02/08 14:06:40.22
LL言語童貞なボクですが、このスレをみてPythonからはじめる決意ができました。
みなさんも不毛な議論はやめてシコシコ頑張りましょうね!