はてなキーワード: ARGとは
消費者集合:N = {1, 2, ..., n}
消費ベクトル:各消費者 i の消費ベクトルを X_i ∈ X_i ⊆ ℝ^(k_i) とする。
個人効用は自分の消費 X_i と政府支出の使用用途 G に依存する。
税収:T ∈ ℝ_+
国債発行額:B ∈ ℝ_+
政府支出の配分:G = (G_1, G_2, ..., G_m) ∈ G ⊆ ℝ_+^m
政策空間:P = { (T, B, G) ∈ ℝ_+ × ℝ_+ × G }
予算制約:
Σ_(j=1)^m G_j = T + B
可処分所得:消費者 i の可処分所得 Y_i は、所得税 t_i によって決まる。
Y_i = Y_i^0 - t_i
T = Σ_(i=1)^n t_i
p_i · X_i ≤ Y_i
目的:政府は社会的厚生 W を最大化するために、以下の政策変数を決定する。
国債発行額 B
政府支出の配分 G = (G_1, G_2, ..., G_m)
制約:
消費者の最適化:政府の政策 (t_i, G) を所与として、各消費者 i は効用を最大化する。
最大化 U_i(X_i, G)
X_i ∈ X_i
制約条件:p_i · X_i ≤ Y_i
結果:各消費者の最適な消費選択 X_i*(G) が決定される。
W(U_1, U_2, ..., U_n) は個々の効用を社会的厚生に集約する。
合成関数:
W(U_1(X_1*(G)), ..., U_n(X_n*(G)))
最大化 W(U_1(X_1*(G)), ..., U_n(X_n*(G)))
{ t_i }, B, G
制約条件:
Σ_(j=1)^m G_j = Σ_(i=1)^n t_i + B
t_i ≥ 0 ∀i, B ≥ 0, G_j ≥ 0 ∀j
X_i*(G) = arg max { U_i(X_i, G) | p_i · X_i ≤ Y_i } ∀i
X_i ∈ X_i
政府の役割:公共財の配分 G と税制 { t_i } を決定する。
消費者の反応:消費者は政府の決定を受けて、最適な消費 X_i*(G) を選択する。
(b) 力学系の特徴
スタックルベルクゲーム:政府(リーダー)と消費者(フォロワー)の間の戦略的相互作用。
最適反応関数:消費者の最適な消費行動は政府の政策に依存する。
(c) 一階条件の導出
L = W(U_1(X_1*), ..., U_n(X_n*)) - λ ( Σ_(j=1)^m G_j - Σ_(i=1)^n t_i - B ) - Σ_(i=1)^n μ_i (p_i · X_i* - Y_i)
微分:政策変数 t_i, B, G_j に関する一階条件を計算する。
チェーンルール:消費者の最適反応 X_i* が G に依存するため、微分時に考慮する。
(a) 公共財の種類
公共財ベクトル:G = (G_1, G_2, ..., G_m)
例えば、教育 G_edu、医療 G_health、インフラ G_infra など。
U_i(X_i, G) = U_i(X_i, G_1, G_2, ..., G_m)
各公共財 G_j が個人効用にどのように影響するかをモデル化。
将来への影響:国債発行は将来の税負担に影響するため、長期的な視点が必要。
制約:債務の持続可能性に関する制約をモデルに組み込むことも可能。
(c) 公共財の最適配分
優先順位の決定:社会的厚生を最大化するための公共財への投資配分。
政府の決定問題:消費者の反応を予測しつつ、最適な { t_i }, B, G を決定。
情報の非対称性:消費者の選好や行動に関する情報を完全に知っていると仮定。
消費者の行動:政府の政策を所与として、効用最大化問題を解く。
結果のフィードバック:消費者の選択が社会的厚生に影響し、それが政府の次の政策決定に反映される可能性。
(a) モデルの意義
包括的な政策分析:政府の税制、国債発行、公共財の使用用途を統合的にモデル化。
最適な税制と支出配分:社会的厚生を最大化するための政策設計の指針。
一般性の確保:特定の経済状況やパラメータに依存しないモデル。
政府は、税制 { t_i }、国債発行額 B、そして公共財の配分 G を戦略的に決定することで、消費者の効用 U_i を最大化し、社会的厚生 W を高めることができる。
このモデルでは、政府の政策決定と消費者の消費行動という2つのステップの力学系を考慮し、公共財の使用用途も組み込んでいる。
経済主体の集合 I と財の集合 L を考える。各主体 i ∈ I は以下を持つ:
市場価格ベクトル p ∈ ℝ₊ᴸ が与えられると、各主体は以下の予算集合を持つ:
Bᵢ(p) = { x ∈ Xᵢ | p · x ≤ p · ωᵢ }
競争均衡 (p*, x*) を考える。ここで、x* = (xᵢ*)ᵢ∈I は各主体の最適選択であり、市場均衡条件を満たす:
1. 最適性条件:
xᵢ* ∈ arg max{x∈Bᵢ(p*)} { x | x ≽ᵢ xᵢ }
2. 市場均衡条件:
Σᵢ∈I xᵢ* = Σᵢ∈I ωᵢ
仮に x* がパレート効率的でないとすると、ある実現可能な配分 y = (yᵢ)ᵢ∈I が存在して:
zᵢ = yᵢ - xᵢ* と定義すると:
Σᵢ∈I zᵢ ≤ 0
各主体の最適性より:
p* · yᵢ ≥ p* · xᵢ*
従って:
p* · zᵢ ≥ 0
しかし、少なくとも一人について p* · zᵢ > 0。すると:
Σᵢ∈I p* · zᵢ > 0
しかし:
Σᵢ∈I p* · zᵢ = p* · Σᵢ∈I zᵢ ≤ 0
仮定の下で、任意のパレート効率的配分は、適切な初期保有の再分配後、競争均衡として実現可能である。
任意のパレート効率的配分 x* = (xᵢ*)ᵢ∈I を考える。社会的に望ましい配分として、適切な価格ベクトル p* ∈ ℝ₊ᴸ を構築する。
パレート効率性より、以下の集合は交わらない:
これらの凸集合を分離するハイパープレーンが存在し、その法線ベクトルとして価格 p* を得る。
再分配された初期保有 ω̃ᵢ を考える(Σᵢ∈I ω̃ᵢ = Σᵢ∈I ωᵢ)。各主体は以下を最大化する:
max{x∈Xᵢ} { x | x ≽ᵢ xᵢ, p* · x ≤ p* · ω̃ᵢ }
適切な ω̃ᵢ を選ぶことで、xᵢ* が各主体の最適解となる。
ある政策変更により得られる利得者の利得が、損失者の損失を完全に補償できる場合、その政策は潜在的なパレート改善である。
経済内の二つの状態 A と B を考える。状態 B への移行で利得者と損失者が存在する。
1. カルドア基準:
利得者の余剰 G と損失者の損失 L を計測し、G > L であれば、利得者から損失者への補償が可能である。
損失者が利得者に支払ってでも状態 A を維持したい額を W とすると、G > W であれば、状態 B への移行が望ましい。
sup_{x ∈ U(X)} x subject to φ(x) ≤ w
ここで、φ: U(X) → ℝ は連続線形汎関数、w ∈ ℝ は初期富である。
sup_{y ∈ T_p𝓜} ω(y)
生産対応を η: T*𝓜 → 2^{T𝓜} とし、以下の条件を満たす:
∀ω ∈ T*𝓜, η(ω) = {y ∈ T_p𝓜 : dω(y) = 0}
ℰ = ((ℋ_i, π_i, Ω_i)_{i ∈ I}, (T_j)_{j ∈ J})
ここで、
状態 (ψ_i*)_{i ∈ I} と価格作用素 P ∈ 𝒜 が均衡であるとは、以下を満たすことを言う:
1. ∀i ∈ I, ψ_i* = arg max_{ψ ∈ ℋ_i} ⟨ψ, π_i(P)ψ⟩ subject to ⟨ψ, π_i(P)ψ⟩ ≤ ⟨Ω_i, π_i(P)Ω_i⟩ + ∑_{j ∈ J} θ_{ij} τ(PT_j)
2. ∀j ∈ J, T_j = arg max_{T ∈ 𝒜} τ(PT)
3. ∑_{i ∈ I} (ψ_i* - Ω_i) = ∑_{j ∈ J} T_j
ここで、τ は 𝒜 上のトレース、θ_{ij} は消費者 i の生産者 j に対する利潤シェアである。
(𝒜, ℋ, D)
ここで、
[D, π(a)] = 0, ∀a ∈ 𝒜_{eq}
ここで、𝒜_{eq} ⊂ 𝒜 は均衡状態を表す部分代数、π は 𝒜 の ℋ 上の表現である。
H: [0,1] × X → X
1. 経済主体の集合は E = {1, 2, ..., n} である。
2. 財の集合は G = {1, 2, ..., m} である。
3. 消費集合は Xᵢ ⊆ ℝᵐ₊ for i ∈ E である。
4. 選好関係は ≽ᵢ on Xᵢ for i ∈ E である。
max{xᵢ∈Xᵢ} uᵢ(xᵢ) subject to p · xᵢ ≤ wᵢ
ここで、uᵢ: Xᵢ → ℝ は効用関数、p ∈ ℝᵐ₊ は価格ベクトル、wᵢ は初期賦存量である。
max{y∈Y} p · y
一般均衡は以下の条件を満たす配分 (x*, y*) と価格ベクトル p* の組である。
1. xᵢ* ∈ arg max{xᵢ∈Xᵢ} {uᵢ(xᵢ) : p* · xᵢ ≤ wᵢ} for all i ∈ E
3. Σ{i∈E} xᵢ* = Σ{i∈E} wᵢ + y*
利潤関数を π(p, w) とすると、
∂π(p, w)/∂pⱼ = yⱼ(p, w)
ΔPS = ∫{p₀}^{p₁} y(p, w) dp
max{x,y,t} W(u₁(x₁), ..., uₙ(xₙ))
subject to:
1. Σ{i∈E} xᵢ = Σ{i∈E} wᵢ + y
2. y ∈ Y
3. xᵢ ∈ arg max{xᵢ∈Xᵢ} {uᵢ(xᵢ) : p · xᵢ ≤ wᵢ + tᵢ} for all i ∈ E
4. Σ{i∈E} tᵢ = 0 (予算均衡条件)
1. プレイヤー集合: N = {P₁, P₂, ..., Pₙ}
2. 行動集合: 各プレイヤー Pᵢ の行動の集合を Aᵢ とする
3. 情報集合: 各プレイヤー Pᵢ の情報集合を Hᵢ とする
4. 選好関係: 各プレイヤー Pᵢ の選好関係を ≽ᵢ とする
1. 履歴: H = ∪ Hᵢ
各プレイヤー Pᵢ に対して、効用関数 uᵢ: Z → ℝ を定義する
1. 完備性と推移性:
2. 期待効用仮説:
p ≽ᵢ q ⇔ 𝔼ₚ[uᵢ] ≥ 𝔼ᵩ[uᵢ]
σᵢ: Hᵢ → Δ(Aᵢ), ここで Δ(Aᵢ) は Aᵢ 上の確率分布の集合
μ を各情報集合 h ∈ H に対する確率測度 μₕ ∈ Δ(h) の集合と定義
(σ*, μ*) が完全ベイズ均衡であるとは、以下を満たすとき:
前提:この日記は一個人の考察である。この日記で言及する人が全員そうという訳ではないことも十分承知している。その上でこれを読んでほしい(そうでもしないと「自分はそうではない!」というコメントで溢れかえるだろうから)
「絵の作者に価値を見出すか否か」でかなり分断が生まれていると考察している。
自分の価値観が他人にはないということはよくあることだ。(「え、街中で綺麗な文字見かけた時にどのフォントが気になりませんか!?」「え、便利なサービス見かけた時にバックエンドのフレームワーク何使ってるかとか気になりませんか!?」と書けばわかりやすいだろうか?)
おそらく、見出さない人はイラストがAIイラストでも気にしていない。「別にかわいい/萌えるからいいじゃん」と言った感じ。
もしかしたらマイナーなジャンル/CP/性癖なら「供給が増えた!!」となっている可能性もある。
その絵を描いたもの=AIイラストのモデルに対してマイナスの付加価値が設定されており、さらにはそのユーザー=AI術師に対してマイナスの付加価値を設定する。「こいつAI使ってたからこの人の絵嫌い」と言った感じだ。
もしモナリザを描いた人が完全に無名なひよっこだった場合、今ほどの価値は生まれていたのだろうか?もし大罪人だったら?自分はそうはならないと思っている。ダヴィンチが描いているからあそこまでの価値が一般に広まっていると思っている。(正直、自分はあの絵のARG要素くらいしか魅力を感じない)
今のツイッターランドで起こっているであろうことの一つに、フィルターバブルやエコーチェンバーによって「全ての人は絵師を気にしている!」(またはその逆)という幻想が生まれていることがある。絵師界隈、さらにその中の反AI村という村社会の中で情報が更新されていないように見える(一部の過激派のせいで対立が激化している原因の一つにも思われる、こっちはノイジーマイノリティとかの効果もあるが)
もちろんこれは反々AIに対しても言えるが。
順番 | 国・地域名 | コード | 五十音順との差 |
---|---|---|---|
168 | ギリシャ | GRE | -115 (←53) |
1 | イタリア | ITA | +19 (←20) |
2 | イラク | IRQ | +19 (←21) |
3 | イラン・イスラム共和国 | IRI | +19 (←22) |
4 | イエメン | YEM | +12 (←16) |
5 | イギリス | GBR | +12 (←17) |
6 | イギリス領バージン諸島 | IVB | +12 (←18) |
7 | イスラエル | ISR | +12 (←19) |
8 | インド | IND | +15 (←23) |
9 | インドネシア | INA | +15 (←24) |
10 | ロシア連邦 | RUS | +196 (←206) |
11 | ハイチ | HAI | +123 (←134) |
12 | ハンガリー | HUN | +133 (←145) |
13 | バハマ | BAH | +125 (←138) |
14 | バヌアツ | VAN | +123 (←137) |
15 | バルバドス | BAR | +128 (←143) |
16 | バーレーン | BRN | +117 (←133) |
17 | バージン諸島 | ISV | +115 (←132) |
18 | バミューダ | BER | +122 (←140) |
19 | バングラディシュ | BAN | +127 (←146) |
20 | パレスチナ | PLE | +124 (←144) |
21 | パナマ | PAN | +115 (←136) |
22 | パラオ共和国 | PLW | +119 (←141) |
23 | パラグアイ | PAR | +119 (←142) |
24 | パプアニューギニア | PNG | +115 (←139) |
25 | パキスタン | PAK | +110 (←135) |
26 | ニカラグア | NCA | +100 (←126) |
28 | ニュージーランド | NZL | +101 (←129) |
29 | ニジェール | NIG | +98 (←127) |
30 | ホンコン・チャイナ | HKG | +141 (←171) |
31 | ホンジュラス | HON | +141 (←172) |
32 | ボリビア | BOL | +137 (←169) |
33 | ボツワナ | BOT | +135 (←168) |
34 | ボスニア・ヘルツェゴビナ | BIH | +133 (←167) |
35 | ポルトガル | POR | +135 (←170) |
36 | ポーランド | POL | +130 (←166) |
37 | ベトナム | VIE | +122 (←159) |
38 | ベリーズ | BIZ | +125 (←163) |
39 | ベルギー | BEL | +126 (←165) |
40 | ベネズエラ | VEN | +121 (←161) |
41 | ベナン | BEN | +119 (←160) |
42 | ベラルーシ | BLR | +120 (←162) |
43 | ペルー | PER | +121 (←164) |
44 | トリニダード・トバゴ | TRI | +75 (←119) |
45 | トルクメニスタン | TKM | +75 (←120) |
46 | トルコ | TUR | +75 (←121) |
47 | トーゴ | TOG | +69 (←116) |
48 | トンガ | TGA | +74 (←122) |
49 | ドイツ | GER | +66 (←115) |
50 | ドミニカ | DMA | +67 (←117) |
51 | ドミニカ共和国 | DOM | +67 (←118) |
52 | チリ | CHI | +60 (←112) |
53 | 朝鮮民主主義人民共和国 | PRK | +58 (←111) |
54 | チャイニーズ・タイペイ | TPE | +52 (←106) |
55 | チャド | CHA | +52 (←107) |
56 | チェコ共和国 | CZE | +49 (←105) |
57 | チュニジア | TUN | +53 (←110) |
58 | 中華人民共和国 | CHN | +51 (←109) |
59 | 中央アフリカ | CAF | +49 (←108) |
60 | リベリア | LBR | +140 (←200) |
61 | リトアニア | LTU | +136 (←197) |
62 | リヒテンシュタイン | LIE | +137 (←199) |
63 | リビア | LBA | +135 (←198) |
64 | ルワンダ | RWA | +139 (←203) |
65 | ルーマニア | ROU | +136 (←201) |
66 | ルクセンブルグ | LUX | +136 (←202) |
67 | カタール | QAT | -24 (←43) |
68 | カナダ | CAN | -24 (←44) |
69 | カーボベルデ | CPV | -29 (←40) |
70 | カザフスタン | KAZ | -28 (←42) |
71 | カメルーン | CMR | -25 (←46) |
72 | カンボジア | CAM | -24 (←48) |
73 | ガイアナ | GUY | -32 (←41) |
74 | ガボン | GAB | -29 (←45) |
75 | ガーナ | GHA | -36 (←39) |
76 | ガンビア | GAM | -29 (←47) |
77 | ヨルダン | JOR | +117 (←194) |
78 | タイ | THA | +23 (←101) |
79 | タジキスタン | TJK | +24 (←103) |
80 | タンザニア連合共和国 | TAN | +24 (←104) |
81 | 大韓民国 | KOR | +21 (←102) |
82 | レバノン | LBN | +123 (←205) |
83 | レソト | LES | +121 (←204) |
84 | ソロモン諸島 | SOL | +16 (←100) |
85 | ソマリア | SOM | +14 (←99) |
86 | ツバル | TUV | +27 (←113) |
87 | ネパール | NEP | +43 (←130) |
88 | ナイジェリア | NGR | +35 (←123) |
89 | ナウル | NRU | +35 (←124) |
90 | ナミビア | NAM | +35 (←125) |
91 | ラトビア | LAT | +105 (←196) |
92 | ラオス人民民主共和国 | LAO | +103 (←195) |
93 | ウルグアイ | URU | -65 (←28) |
94 | ウガンダ | UGA | -69 (←25) |
95 | ウクライナ | UKR | -69 (←26) |
96 | ウズベキスタン | UZB | -69 (←27) |
97 | ノルウェー | NOR | +34 (←131) |
98 | オランダ | NED | -60 (←38) |
99 | オーストリア | AUT | -63 (←36) |
100 | オーストラリア | AUS | -65 (←35) |
101 | オマーン | OMA | -64 (←37) |
102 | クロアチア | CRO | -41 (←61) |
103 | クック諸島 | COK | -44 (←59) |
104 | クウェート | KUW | -46 (←58) |
105 | グレナダ | GRN | -45 (←60) |
106 | グアム | GUM | -49 (←57) |
107 | グアテマラ | GUA | -51 (←56) |
108 | マリ | MLI | +69 (←177) |
109 | マルタ | MLT | +69 (←178) |
110 | マダガスカル | MAD | +65 (←175) |
111 | マレーシア | MAS | +68 (←179) |
112 | マラウイ | MAW | +64 (←176) |
113 | マケドニア | MKD | +61 (←174) |
114 | マーシャル諸島 | MHL | +59 (←173) |
115 | ケイマン諸島 | CAY | -53 (←62) |
116 | ケニア | KEN | -53 (←63) |
117 | フィリピン | PHI | +32 (←149) |
118 | フィジー | FIJ | +30 (←148) |
119 | フィンランド | FIN | +31 (←150) |
120 | フランス | FRA | +34 (←154) |
121 | ブルガリア | BUL | +34 (←155) |
122 | ブルネイ・ダルサラーム | BRU | +35 (←157) |
123 | ブルキナファソ | BUR | +33 (←156) |
124 | ブルンジ | BDI | +34 (←158) |
125 | ブラジル | BRA | +28 (←153) |
126 | ブータン | BHU | +25 (←151) |
127 | プエルトリコ | PUR | +25 (←152) |
128 | コロンビア | COL | -60 (←68) |
129 | コソボ | KOS | -63 (←66) |
130 | コートジボワール | CIV | -66 (←64) |
131 | コモロ | COM | -64 (←67) |
132 | コスタリカ | CRC | -67 (←65) |
133 | コンゴ | CGO | -64 (←69) |
134 | コンゴ共和国 | COD | -64 (←70) |
135 | エチオピア | ETH | -103 (←32) |
136 | エリトリア | ERI | -103 (←33) |
137 | エルサルバドル | ESA | -103 (←34) |
138 | エクアドル | ECU | -109 (←29) |
139 | エジプト | EGY | -109 (←30) |
140 | エストニア | EST | -109 (←31) |
141 | デンマーク | DEN | -27 (←114) |
142 | アイルランド | IRL | -140 (←2) |
143 | アイスランド | ISL | -142 (←1) |
144 | アルバニア | ALB | -133 (←11) |
145 | アルーバ | ARU | -137 (←8) |
146 | アルメニア | ARM | -134 (←12) |
147 | アルジェリア | ALG | -138 (←9) |
148 | アルゼンチン | ARG | -138 (←10) |
149 | アラブ首長国連邦 | UAE | -142 (←7) |
150 | アフガニスタン | AFG | -146 (←4) |
151 | アメリカ領サモア | ASA | -145 (←6) |
152 | アメリカ合衆国 | USA | -147 (←5) |
153 | アゼルバイジャン | AZE | -150 (←3) |
154 | アンドラ | AND | -139 (←15) |
155 | アンゴラ | ANG | -142 (←13) |
156 | アンティグア・バーブーダ | ANT | -142 (←14) |
157 | サウジアラビア | KSA | -86 (←71) |
158 | サモア | SAM | -86 (←72) |
159 | サントメ・プリンシペ | STP | -86 (←73) |
160 | サンマリノ | SMR | -85 (←75) |
161 | ザンビア | ZAM | -87 (←74) |
162 | キリバス | KIR | -108 (←54) |
163 | キルギスタン | KGZ | -108 (←55) |
164 | キプロス | CYP | -113 (←51) |
165 | キューバ | CUB | -113 (←52) |
166 | ギニア | GUI | -117 (←49) |
167 | ギニア・ビサウ | GBS | -117 (←50) |
169 | メキシコ | MEX | +15 (←184) |
170 | 南アフリカ | RSA | +11 (←181) |
171 | 南スーダン | SSD | +11 (←182) |
172 | ミクロネシア連邦 | FSM | +8 (←180) |
173 | ミャンマー | MYA | +10 (←183) |
174 | シリア・アラブ共和国 | SYR | -94 (←80) |
175 | シェラレオネ | SLE | -99 (←76) |
176 | シンガポール | SGP | -95 (←81) |
177 | ジョージア | GEO | -98 (←79) |
178 | ジャマイカ | JAM | -100 (←78) |
179 | ジブチ | DJI | -102 (←77) |
180 | ジンバブエ | ZIM | -98 (←82) |
181 | 東ティモール | TLS | -34 (←147) |
182 | モロッコ | MAR | +9 (←191) |
183 | モルドバ共和国 | MDA | +7 (←190) |
184 | モルディヴ | MDV | +5 (←189) |
185 | モナコ | MON | +3 (←188) |
186 | モーリタニア | MTN | ±0 (←186) |
187 | モーリシャス | MRI | -2 (←185) |
188 | モザンビーク | MOZ | -1 (←187) |
189 | モンゴル | MGL | +3 (←192) |
190 | モンテネグロ | MNE | +3 (←193) |
191 | セイシェル | SEY | -99 (←92) |
192 | セルビア | SRB | -97 (←95) |
193 | セネガル | SEN | -99 (←94) |
194 | 赤道ギニア | GEQ | -101 (←93) |
195 | セントルシア | LCA | -97 (←98) |
196 | セントクリストファー・ネイビス | SKN | -100 (←96) |
197 | セントビンセント・グレナディーン | VIN | -100 (←97) |
198 | スイス | SUI | -115 (←83) |
199 | スロバキア | SVK | -110 (←89) |
200 | スロベニア | SLO | -110 (←90) |
201 | スペイン | ESP | -115 (←86) |
202 | スリナム | SUR | -115 (←87) |
203 | スリランカ | SRI | -115 (←88) |
204 | スワジランド | SWZ | -113 (←91) |
205 | スーダン | SUD | -120 (←85) |
206 | スウェーデン | SWE | -122 (←84) |
27 | 日本 | JPN | +101 (←128) |
Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ
端末からのテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに
PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?
けどまぁ、情弱な文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか
数値計算や端末からのテキスト処理なんてWeb系じゃ大して使わないからなあ…
Pythonに関しては、ZopeさえコケていなければWebサーバ用LLとして大成功していたはずなのに、
Railsなんかが登場したおかげで、すっかり影が薄くなってしまいますた....
ってか、railsにインスパイアされたフレームワークって今じゃ幾らでもあるよね
djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、
pythonやPHPの方がユーザー数は圧倒的に多いと思うんだけど
本家のrailsって、他を遥かに越えるほど良いものなんだっけ?
44
Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている
C a k e P H P は う ん こ
CakePHP使ってんの?
可哀そうにw
でもやっぱりいつもの使い慣れたLL(Python/Ruby)で
Webサービスを書きたいってのがある
求人数は
Ruby on Rails>>>>>>>>Django
http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=
どういうことなの?
求人数が多いのはそのためだと思うよ
なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・
Pythonのほうが使いやすいと思うのだがフレームワークはRailsが優位なんだろうか
Djangoは周辺ライブラリが微妙だし本体も鈍くさい感じがする。
でも、FlaskはSinatraより好きだから、Pythonが嫌いってわけではない。むしろ好き。
ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。
同感だ
同じように思っている人が他にもいて安心した
PHPはフレームワークが乱立しすぎているから、RailsをPHPで実装してみようというやつが出てきた。
それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、
ただ、どうやってもRailsもどきがRailsを超えることはできないのは間違いない。
パクリはオリジナルを超えられない(キリッ って定型句だけど、
これってキリッって言いたいだけだと思う。
D言語って超えたって?
B言語って超えたって?
PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない
まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ
そういう理由じゃなくてRailsのほうが単純に情報もプラグインも多いからでしょ
linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
わざわざ不合理で不完全な言語を使うなんて
もしも
>linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん
真実であるのなら、今頃はdjangoの情報とプラグインが溢れかえっているはず
yumや、gdbとgnomeの拡張がpythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。
ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。
というか、世界中のPythonプログラマが Remeber Zope!! を合い言葉に
打倒RailsたるWebフレームワークを開発しているはずだけど、
Railsも登場してから、かなりの年月が経過しているんだけどなぁ....
その間にもRailsはRails 3が登場して、REST/AJAXの強化等の進化が継続しているよ
Ruby では
ary.map {|x| x**2}
map(lambda x: x**2, ary)
となり、lambda の本体が1つの式では表現しきれなくなると
.....
と書き換える必要があります。
f = lambda x:(x and f(x-1)*x)or 1
RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから、
f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}
または
f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}
と書けます。lambda内でreturnが使えますから、書きたければ
f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}
でもOKです。
348
これはPythonをdisっているように見せかけてRubyをdisっているのか? と一瞬思ってしまったw
だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…
そしてどっちもlambda式の中で束縛変数の名前で再帰可能、と
print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]
暗号のように見える。
puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}
思考の流れと、コードの流れが一致しているので書きやすい。
map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))
pythonて可読性が高いのをうたってる割にはそこいまいちだよね
Rubyの場合には、左から右へと無名関数がデータフローあるいは
関数型プログラミングに不慣れな初心者でも、参照透明性のあるコードが自然に書ける
プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby
それと比較すると、Pythonのコードは、関数型プログラミングというものが
いかに高度で難解なものであるかという事をもったいぶってプログラマに押し付ける
もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう
階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す
result_list = source_list.map { |elem|
x = foo(elem.x) # ここが局所宣言を書く部分
x + y # 最後に評価された式の値が、無名関数のリターン値になる
}
Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから、
x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける
このポイントは、実用的なプログラムを関数型風で書こうとした時に、威力を発揮する
余計分かりづらくなった
高卒ドカタなんだろうなぁと可哀想になる
集合の表記に似せてることが分かるから
355
>map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。
関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね
Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ
[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')
Pythonだと読みにくい。
'-'.join(map(str, reversed(sorted([1,4,3,2]))))
Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....
カッコだらけのコードを分かりやすくする基本的な方法は静的単一代入じゃないか
Rubyのやり方は基本ではなく玄人のやり方だろ
Pythonでは組み込みの型でメソッドチェインはやって欲しくないな
似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。
372
外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてますね
Rubyユーザーは列挙可能なものはmapやselectできて当然だろって思ってる気がします
Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる
得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない
Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い
「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く
無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像。
これを読みづらいと感じるのは、左から右に流れる
もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?
ARGについて昨夜ひともりあがりあったので書いとこう。
(問題≠謎として見てください)
SCRAPのリアル脱出ゲームをはじめ、短期のイベントとして成立しているものについては
・「スタート」がはっきりしている
・何をすべきかが結構提示されている(解答用紙が渡されたり、ここの部屋の中でヒントをさがしてくださいといわれたり)
のほかに、
・スタート時がみんな一斉に横並び
だということ。
つまり、みんなが最初にとりかかるものが「全体に対しての第一問」なわけで。
みんなそのイベントに限っては「イベント内での知識」が同じ状態からはじめられる。
そして、導入部分の解決すべき問題というのは、得てして難易度が低かったりするもので。
だけれど、長期のARGにおいては、時間の進行が不可逆である限り、
全員が開始時からとりかかることができるとは限らない。
そのため、途中から入ったユーザが最初に直面する問題が、とても難解な
しかもこれまでの情報から推測したりすることが必要なものとなる可能性は結構高い。
(詰まる箇所って「○○で集まれ」など物理的にすぐには動きづらいもの以外では、非常に難易度高い問題の場合が多数だと思うので)
そこで初めて訪れたユーザは「意味がわからない」「入りづらい」という印象を持ち易くなる。
となると、コアユーザがFAQやまとめ、途中参入のユーザからの質問に逐一答えるべきか?
コアユーザがオープンな空気にしていくことを心がけるのとともに、新しく入るユーザも
教えてもらったらお礼を言う、過去の質問内容を読む。など、基本的なことは行わないといけないと思う。
とはいえ、そもそもARGとはなんぞ?という層に対して、「そんな基本的なことから質問するな」というような投げかけをしても
ROMってろ。というのは、確かに読んでいると参考になることもあるんだが排他的にも感じ、
ARG自体にそこまで魅力を感じていない層の人は確実に「ARGに関わる人=怖い、内輪で固まってキモい」という
印象を持つだろう。
まずは経験だよ経験。といわれても、「常連さんの邪魔になる」「自分みたいな初心者が・・・」等
発言もしづらいだろう。
的外れな発言したら「それ、もう終わったから」「関係ないよそれ」とか立て板に水的な感じでパシーンと文字で言われちゃうんだよ。
初めての人からしたら怖いっしょ。