【C?】最初の言語に何を選ぶか【Haskell?】
- 1 :Mb:2021/09/09(木) 17:13:45.64 ID:yI7BAQ6X.net
- 前スレ
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
ぶっちゃけ始めるのにいい言語て何 part2
http://mevius.5ch.net/test/read.cgi/tech/1594883518/
ぶっちゃけ始めるのにいい言語て何 part3
https://mevius.5ch.net/test/read.cgi/tech/1599110613/
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/
ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/
Haskell には賛否両論あるけど、そこは次の世代に判断してもらおう。
- 247 :デフォルトの名無しさん:2021/10/21(木) 21:56:00.63 ID:rHBxJh+b.net
- >>246
たしかに
- 248 :デフォルトの名無しさん:2021/10/22(金) 01:03:41.86 ID:bIdSm1HR.net
- MbはFORTH使えるの?
- 249 :Mb:2021/10/22(金) 15:08:47.44 ID:ti2XTd85.net
- >>246
つーか、FORTH の処理系から書いた(笑)。
社会人になってから一年目に NEC に就職したのだが、
そのとき防衛関係の「RMA」っつーのの担当だったので
航空自衛隊の各サイトのアベイラビリティを計算しなきゃ
いけないので、それ用の言語を作っちゃったんだわ。
で、そのコンパイラの中間言語として、
FORTH もどきのシステムを組んだことがある。
だから、ネイティブな FORTH を扱った経験はないんだわ。
- 250 :Mb:2021/10/22(金) 15:15:31.10 ID:ti2XTd85.net
- あと、「Make 10」っていうパズルがあるじゃん。
「0 を含まない四つの異なった数字で、加減乗除だけで
10 を作れる」っていうやつ。
あれの全数解を求めるのに、「いっぺん逆ポーランド記法に
落として、FORTH みたいな仮想機械の言語で片づける」と
いうのはやったことがある。
IT の電卓も根強いファンがいそうだから、「逆ポーランド記法」と
いうのは、けっこう(日本人限定かもしれないが)人気があるのでは
ないかと思う。
- 251 :デフォルトの名無しさん:2021/10/22(金) 21:01:51.95 ID:60fAwA3m.net
- >>250
そういうのはprolog向け
- 252 :デフォルトの名無しさん:2021/10/22(金) 23:19:41.64 ID:5ielnrPe.net
- NECに就職してたんだ
凄いじゃん
- 253 :デフォルトの名無しさん:2021/10/23(土) 01:07:12.44 ID:rv17aNSC.net
- >>250
FORTHがないので手近な言語でやってみますね
まず逆ポーランド記法(RPN)を計算する関数を(加減乗除の)二項演算子のみ対応でこんな感じ?
function execRPN(rpn) {
const stack = [];
for (const x of rpn) {
if (typeof x === 'number') {
stack.push(x);
} else {
if (stack.length < 2) {
return NaN;
}
const a = stack.pop();
const b = stack.pop();
const c = eval(`${b} ${x} ${a}`);
stack.push(c);
}
}
if (stack.length === 1) {
return stack[0];
} else {
return NaN;
}
}
これなら小学生にも作れそう
- 254 :デフォルトの名無しさん:2021/10/23(土) 01:18:42.34 ID:rv17aNSC.net
- >>250
その「Make 10」パズルを逆ポーランド記法を計算する関数で解くには
総当りで逆ポーランド記法を生成して計算して10になるのを探せばいいんですよね?
加減乗除は重複組み合わせ(combinationsWithReplacement)で使ってよくて
それと数字を合わせて順列(permutations)を生成すれば総当りになりますね
結果10以外にも使えるように引数answerと数字も任意の長さで引数numberListとして
const { combinationsWithReplacement, permutations } = require('iterator-tools');
function make10(answer, numberList) {
const opList = ['+', '-', '*', '/'];
for (const ops of combinationsWithReplacement(opList, numberList.length - 1)) {
const list = numberList.concat(ops);
for (const rpn of permutations(list)) {
const val = execRPN(rpn);
if (val === answer) {
return rpn;
}
}
}
return null;
}
これも順列組み合わせを習った小学生ならすぐ作れそう
- 255 :デフォルトの名無しさん:2021/10/23(土) 01:46:38.78 ID:rv17aNSC.net
- 実行してみました
> make10(10, [1, 3, 3, 7])
[ 1, 7, 3, '/', '+', 3, '*' ]
> make10(10, [8, 4, 7, 3])
[ 8, 3, 7, 4, '/', '-', '*' ]
> make10(10, [6, 9, 6, 5])
[ 6, 9, 6, '-', '/', 5, '*' ]
> make10(10, [9, 6, 7, 4])
[ 9, 7, '+', 4, '/', 6, '+' ]
> make10(10, [3, 6, 6, 9])
null
> make10(10, [0, 0, 0, 0])
null
後ろ2つは解けない問題なのでnullで正解です
解けた方は逆ポーランド記法を普通の記法に戻して検算してみると
(1 + (7 / 3)) * 3 = 10
8 * (3 - (7 / 4)) = 10
(6 / (9 - 6)) * 5 = 10
((9 + 7) / 4) + 6 = 10
ちゃんと解けているようです
いきなり(7 / 3)とか(7 / 4)とか一時的に分数にしちゃうのですね
小学生向けの素敵なプログラミング課題だと思いました
- 256 :デフォルトの名無しさん:2021/10/23(土) 08:19:36.04 ID:MzNtagq6.net
- ぱって作れちゃう人すごいなあ
- 257 :デフォルトの名無しさん:2021/10/23(土) 09:56:07.61 ID:HC6G+u/J.net
- 大好きな町だから離れられない
- 258 :デフォルトの名無しさん:2021/10/23(土) 11:30:40.50 ID:JOLV5TGR.net
- 頭がポリッシュ
- 259 :Mb:2021/10/23(土) 14:15:02.75 ID:sCVE0pd7.net
- >>255
「255」っていうのがステキだな。
「Make 10」は、「0 以外の、相異なる 4 つの数字」なので、
[1,3,3,7]や[6,9,6,5]や[0,0,0,0]は考えなくてよくて、
[1,2,3,4]から、[6,7,8,9]までの組合せまでを生成すればいいので、
「もうちょっと頑張りたい」というプログラミング欲を
ソソる部分がある。
で、加減算は交換法則が成立つので、
「1+2+3+4」は、「4+3+2+1」と同じ、と思うと
いろいろチャレンジしたくなる。
さらに、「全部試す」以外に解法がなさそう、というのが
笑える。
「小学生から大学生まで楽しめる問題」として、
もっと普及してくれてもいいと思うのだけれど、
「いちど逆ポーランド記法に落とす」とかいった
技法があるので、あんまりプログラミング教育の現場では
嫌われているように思う。
- 260 :Mb:2021/10/23(土) 17:37:35.64 ID:sCVE0pd7.net
- >>252
いや、ぜんぜんすごくない(笑)。
NEC っていっても、当時は「住友金属のお荷物」みたいな
扱いで、その中でも「日本電気グループ」と
「日本電気ホームエレクトロニクス」という派閥争いがあって、
NEC 本体は「NES」というソフトウェア部隊があったのだが、
通信系グループは自前のソフトウェア部隊がなかったのだよ。
それで、NEC の通信系グループが立ち上げたソフトウェア会社が
あって、いろいろ社名を考えたんだけど、当時の田中社長が
「そんなんじゃ人が集まらない!」というので、
「日本電気航空宇宙システム株式会社」という会社ができたんだ。
- 261 :Mb:2021/10/24(日) 13:31:17.67 ID:XB+g3pLb.net
- >>259
単純計算で、1 から 9 までの数の順列は
9 × 9 × 9 × 9。いまどきのパソコンでは、
なんてことのない数字だ。
これを 9 × 8 × 7 × 6 に減らしたい欲がでてきたら、
ちょっとプログラマ向きの人だろう。
逆ポーランド記法で考えると「加減乗除」という
四つの演算があり、「四桁」という縛りがあるので、
数が四つで演算子が三つ。計七個のスタックがあればいい。
で、0 と 1 要素は数字で、6要素は演算子、ということが
わかっている。これを(一意に)網羅できるようなプログラムを
書くのには、どんなプログラミング言語が欲しいだろうか?
で、+とか×のような、交換法則が成立する演算子については、
ちゃんと順序づけをしてほしい。さらに、「10になる」という
縛りがあるのだけれど、途中で無限小数になっちゃうとややこしい
ことになってしまう。そうなると、「分数は分数のままに扱える
言語」であってほしい。そうなると、自分のプログラムの中で
作った式を処理系に渡して計算してもらわなくちゃいけないので、
LISP の EVAL 関数のようなものが欲しくなる。
「じゃあ、実際にどうやって実装するか?」まで考えると、
かなり興味深い話だと思う。
- 262 :デフォルトの名無しさん:2021/10/24(日) 21:26:11.28 ID:fzWjbDF9.net
- ↑にProlog向けと書かかれているのはスルー
おっさんのくせに引き出しが少ない
- 263 :デフォルトの名無しさん:2021/10/24(日) 21:35:25.40 ID:B/FYyb6u.net
- 土曜日池袋のジュンク堂行ってきたけどあの規模の書店でもPrologの本なんて1種類しか置いてなかったぞ
しかも質が低い
こんなのどうやって勉強しろってんだ
最初の言語に選ぶなんてとんでもない
- 264 :デフォルトの名無しさん:2021/10/24(日) 23:44:50.57 ID:+7vWd4s/.net
- >>261
本当にプログラミングできるならばmake 10でいいからコードを出してみてよ
>>262
Prologである必要性はないでしょ
例えばその問題を>>254はJavaScriptで簡単に解いている
- 265 :デフォルトの名無しさん:2021/10/25(月) 09:19:14.64 ID:ePvBViKM.net
- 必要性はないがevalがないと雑多なコードが増えるのは気づけてるのに
組み合わせはいいの?みたいな
- 266 :Mb:2021/10/25(月) 14:31:05.06 ID:KAqnC0Vx.net
- >>261
> 本当にプログラミングできるならばmake 10でいいからコードを出してみてよ
上げてもいいけど …… 長いよ?
「Java の宿題ここで答えます」スレとかだったらいいんだけど、
これからプログラミングを学ぼうとする人のためのスレである
「【C?】最初の言語に何を選ぶか【Haskell?】」
に、延々とコードを上げるのはどうかなぁ。
まず、「Java の宿題ここで答えます」の昔のスレとかを
見てくれると嬉しく思う。いちおう「Mb」の名前で
出てますから。
> Prologである必要性はないでしょ
竹内さんの「tarai 函数」なんかは、Haskel で書く価値がある。
「入山のアルゴリズム」も、Haskel で実装するなら
必要がなくなるかもしれない。
「必要性」というより、「処理系としてのコンセプトの多様性によって、
『必然性』の話になりつつある」という話じゃないでしょうか。
- 267 :Mb:2021/10/30(土) 00:34:09.55 ID:weWqDpIj.net
- >>263
> 土曜日池袋のジュンク堂行ってきたけどあの規模の書店でもPrologの本なんて
> 1種類しか置いてなかったぞ
どうせ中島さんか小谷さんの本だろう。
Prolog というコンセプトは、そんなに悪いもんじゃないので、
処理系から作ってみるのが正しいアプローチのように思う。
- 268 :Mb:2021/11/02(火) 22:21:30.96 ID:8e4/jqzP.net
- よく考えたら初心者に不親切でスマンカッタ m(_ _)m。
共立出版の「bit」に、Prolog の処理系のソースコードが
掲載されていたことがあるのだ。
たしか NEC の PC 8801 シリーズ以来の「N88 BASIC」
のコードだったが、いわゆる「Prolog 処理系の動作を
シミュレートするコード」というのは、LISP を使うと
わりと単純なコードに落ちるのだ。ただ、当時は
LISP にしろ(Apple LISP はあったが)Prolog にしろ、
パーソナルコンピュータ環境では実行が難しかったのだ。
それくらい貧弱な処理系環境だったので、
「カット・オペレータ」云々というのが「いかがなものか」
みたいな話があった。
とはいえ、Prolog の基本構想は悪くないと思うので、
Haskell がスレタイに入っている。
高嶺の花だった。
- 269 :デフォルトの名無しさん:2021/11/03(水) 18:44:31.12 ID:aqEfnqTc.net
- 何言ってんだこのバカ
- 270 :Mb:2021/11/06(土) 20:58:33.21 ID:annn/Sq7.net
- Java は言語処理系のインタプリタを実装するのには
悪くないので、「無ければ作れ」という視点もある。
- 271 :デフォルトの名無しさん:2021/11/07(日) 18:12:40.38 ID:B0bDPYGj.net
- 何言ってんだこのバカ
- 272 :Mb:2021/11/10(水) 14:31:50.13 ID:Wl5lGLAU.net
- >>271
> 何言ってんだこのバカ
それは、
「何を仰っているのでしょうか?
貴方は知的障害者ですか?」
と同義だと解釈して宜しいでしょうか?
- 273 :デフォルトの名無しさん:2021/11/10(水) 14:56:08.69 ID:m325nVH9.net
- バカ、アホの定義が地方やコミュニティで異なるからの確認だとおもうけど
BBSだからこそのレトリックなんよ
聞くのが野暮
- 274 :Mb:2021/11/10(水) 15:20:18.02 ID:Wl5lGLAU.net
- >>273
つ 松本修『全国アホ・バカ分布考 ― はるかなる言葉の旅路 』(新潮文庫)
関西の一部地方の出身者には、「『アホ』や許せるけど『バカ』は許せない!!」
という人がいらっしゃったりもする。そうすると、「馬鹿馬鹿しい」とか
「バカ穴(ネジを切っていない、ワッシャーとビスで止める、位置決め用の
若干大きめの穴)」とかは、一部の関西地方の文化圏の方々に配慮すると、
「使ってはいけない言葉」だということになりますよね?
じゃあ、「バカ騒ぎ」もいけないんだ。「人を馬鹿にする」も
いけないんだ。「馬鹿貝」もいけないんだ。「あんた馬鹿?」は、
「あなたは智的障礙ではありませんか?」と言わなきゃいけないんだ。
あははー。
そんな粗雑な思考をしている人に、プログラミングを語られたくは
ないなぁ。
- 275 :デフォルトの名無しさん:2021/11/10(水) 15:23:33.09 ID:ABhSQgxq.net
- 『アホ』や許せるけど、ってどういう意味?
- 276 :デフォルトの名無しさん:2021/11/11(木) 22:03:24.31 ID:vxCXx/v+.net
- 何かいつの間にかキモいのが寄生してんのな
- 277 :デフォルトの名無しさん:2021/11/12(金) 06:51:45.09 ID:og7IUmfh.net
- Mbって人気持ち悪い
- 278 :デフォルトの名無しさん:2021/11/12(金) 10:03:15.07 ID:fy+vdfIh.net
- レスが冗長で誤字も多いしそもそもつまらん
誰からも相手にされないからネット上で承認欲求満たしたいんだろうな
- 279 :デフォルトの名無しさん:2021/11/12(金) 15:50:52.59 ID:Kl1RPx7L.net
- 自分の知識披露したいだけで
有益な議論をしたいわけではなさそうだしな
コード例とか出せないみたいだし(エアプでコード書けない?)
- 280 :デフォルトの名無しさん:2021/11/30(火) 00:24:56.16 ID:g6Kn8mJH.net
- Rubyやってる女の子はかわいい
- 281 :デフォルトの名無しさん:2021/11/30(火) 14:11:08.77 ID:+4eAilPB.net
- 戸倉彩
- 282 :デフォルトの名無しさん:2021/12/08(水) 02:18:29.28 ID:7SPCPFJp.net
- 最初にやる言語で速さとか気にする必要ない
そんなことでマウント合戦して、これからプログラミング始める
美少女を迷わすようなことを言わないようにしましょう
- 283 :デフォルトの名無しさん:2021/12/08(水) 15:51:09.86 ID:5uCKYHG+.net
- 全く美少女じゃないけど私もrubyから入ったわ
職場のrubyの本借りれたし先輩に詳しい人いたのが大きい
- 284 :デフォルトの名無しさん:2021/12/08(水) 21:04:33.81 ID:pzF9gjPk.net
- >>281
橋本環奈に似てるね。
- 285 :デフォルトの名無しさん:2022/01/19(水) 20:43:02.39 ID:Qtd/3JbQ.net
- 引数書くのやブロック書くのに括弧を多用する言語は疲れる
- 286 :デフォルトの名無しさん:2022/01/19(水) 20:54:02.18 ID:tV3PBnn6.net
- でもカッコがある方が
エディタが助けてくれるからなあ
pythonとかタブの位置を合わせるのが大変
- 287 :デフォルトの名無しさん:2022/01/20(木) 18:59:46.11 ID:Ty/TufmK.net
- # Make10面白いな Elixirの勉強がてらに思わず仕事さぼって全解探索作ってしまったわ
defmodule Make10 do
@nums 1..9 |> Enum.map(&{:num, &1, Integer.to_string(&1)})
@ops [{:plus, "+"}, {:minus, "-"}, {:mul, "*"}, {:div, "/"}]
|> Enum.map(&Tuple.insert_at(&1, 0, :calc))
@initial_stack []
@initial_usednumbers []
@initial_state [{@initial_stack, @initial_usednumbers}]
@accept_duplicated_number false
def do_action({stack, used}, action) do
case {stack, action} do
{_, {:num, val, symbol}} ->
if !@accept_duplicated_number and Enum.member?(used, val) do
{[{{val, 1}, "#{symbol}"} | stack], []}
else
{[{{val, 1}, "#{symbol}"} | stack], [val | used]}
end
{[{{c1_n, c1_d}, exp1} | [{{c2_n, c2_d}, exp2} | tail]], {:calc, op, symbol}} ->
expression = "(#{exp2}#{symbol}#{exp1})"
case op do
:plus -> {[{{c2_n * c1_d + c1_n * c2_d, c1_d * c2_d}, expression} | tail], used}
:minus -> {[{{c2_n * c1_d - c1_n * c2_d, c1_d * c2_d}, expression} | tail], used}
:mul -> {[{{c1_n * c2_n, c1_d * c2_d}, expression} | tail], used}
:div -> {[{{c2_n * c1_d, c2_d * c1_n}, expression} | tail], used}
end
end
end
- 288 :デフォルトの名無しさん:2022/01/20(木) 19:00:29.87 ID:Ty/TufmK.net
- # 続きだよ
def action_candidates(stepcount_remain, {stack, _}) do
stack_depth = Enum.count(stack)
case stack do
[] -> @nums
[_ | []] -> @nums
_ when stack_depth > stepcount_remain -> @ops
_ -> @nums ++ @ops
end
end
def expand_each_state_node(stepcount_remain, state) do
action_candidates(stepcount_remain, state)
|> Enum.map(&do_action(state, &1))
|> Enum.filter(fn {stack, used} -> !Enum.empty?(used) end)
end
def step_one_action(stepcount_remain, statelist) do
statelist
|> Enum.map(&expand_each_state_node(stepcount_remain, &1))
|> List.flatten()
end
def run(num_of_cards \\ 4, {target_val_n, target_val_d} \\ {10, 1}) do
(num_of_cards * 2 - 1)..1
|> Enum.reduce(@initial_state, &step_one_action(&1, &2))
|> Enum.filter(fn {[{{lastval_n, lastval_d}, expression}], used} ->
lastval_n * target_val_d == target_val_n * lastval_d
end)
# |> Enum.each(fn {[{ {lastval_n,lastval_d} ,expression}] , used} -> IO.puts expression end)
end
end
- 289 :デフォルトの名無しさん:2022/01/20(木) 19:02:16.35 ID:Ty/TufmK.net
- iex(96)> Make10.run
[
{[{{10, 1}, "(1+(2+(3+4)))"}], [4, 3, 2, 1]},
{[{{10, 1}, "(1*(2+(3+5)))"}], [5, 3, 2, 1]},
{[{{10, 1}, "(1-(2-(3+8)))"}], [8, 3, 2, 1]},
{[{{10, 1}, "(1+((2+3)+4))"}], [4, 3, 2, 1]},
{[{{10, 1}, "(1*((2+3)+5))"}], [5, 3, 2, 1]},
{[{{10, 1}, "((1+(2+3))+4)"}], [4, 3, 2, 1]},
{[{{10, 1}, "((1*(2+3))+5)"}], [5, 3, 2, 1]},
{[{{10, 1}, "(1-((2-3)-8))"}], [8, 3, 2, 1]},
{[{{10, 1}, "(1-((2-3)*9))"}], [9, 3, 2, 1]},
{[{{10, 1}, "((1-(2-3))*5)"}], [5, 3, 2, 1]},
{[{{10, 1}, "((1-(2-3))+8)"}], [8, 3, 2, 1]},
{[{{10, 1}, "(1*((2*3)+4))"}], [4, 3, 2, 1]},
{[{{10, 1}, "((1*(2*3))+4)"}], [4, 3, 2, 1]},
{[{{30, 3}, "((1+(2/3))*6)"}], [6, 3, 2, 1]},
{[{{10, 1}, "(1+(2+(4+3)))"}], [3, 4, 2, 1]},
{[{{20, 2}, "(1/(2/(4*5)))"}], [5, 4, 2, 1]},
{[{{10, 1}, "(1-(2-(4+7)))"}], [7, 4, 2, 1]},
・・・
- 290 :デフォルトの名無しさん:2022/01/20(木) 19:05:30.69 ID:Ty/TufmK.net
- 分数も対応(数字4つで129/8)
iex(102)> Make10.run(4, {129,8})
[
{[{{129, 8}, "((1/8)+(7+9))"}], [9, 7, 8, 1]},
{[{{129, 8}, "(((1/8)+7)+9)"}], [9, 7, 8, 1]},
{[{{129, 8}, "((1/8)+(9+7))"}], [7, 9, 8, 1]},
{[{{129, 8}, "(((1/8)+9)+7)"}], [7, 9, 8, 1]},
{[{{129, 8}, "((3*5)+(9/8))"}], [8, 9, 5, 3]},
{[{{129, 8}, "(3*(6-(5/8)))"}], [8, 5, 6, 3]},
{[{{129, 8}, "((5*3)+(9/8))"}], [8, 9, 3, 5]},
{[{{129, 8}, "((6-(5/8))*3)"}], [3, 8, 5, 6]},
{[{{129, 8}, "(7+((1/8)+9))"}], [9, 8, 1, 7]},
{[{{129, 8}, "((7+(1/8))+9)"}], [9, 8, 1, 7]},
{[{{129, 8}, "(7+(9+(1/8)))"}], [8, 1, 9, 7]},
{[{{129, 8}, "((7+9)+(1/8))"}], [8, 1, 9, 7]},
{[{{129, 8}, "(9+((1/8)+7))"}], [7, 8, 1, 9]},
{[{{129, 8}, "((9+(1/8))+7)"}], [7, 8, 1, 9]},
{[{{129, 8}, "(9+(7+(1/8)))"}], [8, 1, 7, 9]},
{[{{129, 8}, "((9+7)+(1/8))"}], [8, 1, 7, 9]},
{[{{129, 8}, "((9/8)+(3*5))"}], [5, 3, 8, 9]},
{[{{129, 8}, "((9/8)+(5*3))"}], [3, 5, 8, 9]}
]
- 291 :デフォルトの名無しさん:2022/01/20(木) 19:13:42.14 ID:Ty/TufmK.net
- Prologで書いたら楽そうなところはなかったw
- 292 :デフォルトの名無しさん:2022/01/20(木) 19:54:16.86 ID:Ty/TufmK.net
- ちなみにeval使わず分数計算自前だよ
Elixirも楽しい!
- 293 :デフォルトの名無しさん:2022/02/03(木) 03:27:48.02 ID:5caWIEV6.net
- Prologって簡単な深さ優先・探索列挙はともかく動的に細かな探索の制御をしようと思うと途端に面倒になるからな
他の言語で書いた方が小回りきくわ、ってなる
実用上、組み合わせの少ない練習問題的な全解探索にしか使えないゆえん
- 294 :デフォルトの名無しさん:2022/02/03(木) 10:21:28.73 ID:lrjvvrdU.net
- スッキリ書ける俺々プリプロセッサわんさかありそう
- 295 :デフォルトの名無しさん:2022/05/16(月) 08:48:09.42 ID:fgDPgjMn.net
- Mbは死んだか
- 296 :デフォルトの名無しさん:2024/02/10(土) 21:21:59.59 ID:SNYsXVp/C
- フクシマ沖の魚から18000ベクレ儿(一般人の年間被曝限度の1/3]ものセシウムか゛検出されていなか゛ら科学だのテ゛タラメほさ゛いて核汚染水
たれ流す人の命より拝金の日本にクソシナ猛反発、クソシナ力ンコ一テ囗リス├は自主的のみならず國レベルて゛禁止して核汚染國日本に
なんか二度と来るなよな,ハ゛カチョンその他も見習って曰本に丿コノコ地球破壊しにくんな力ス、太陽光發電の時間帯なんて電カ余りまくりて゛
タタ゛て゛業者間取引されてるがクソ航空機廃絶すれは゛全部火力發電て゛補っても余裕て゛電カ価格下落するほど莫大な石油無駄に燃やしてるわけだか゛
その惡の権化を倍増させて大騒音まき散らして威カ業務妨害までしていながら毎年何千億もかけて廃炉作業してる中
懲りす゛に原發再稼働の世界一信用されていないテ゛タラメ日本政府を非難するのは正解,地球破壞テロに対して嫌か゛らせすべきは
鉄道の30倍以上もの莫大な温室効果カ゛スまき散らして気侯変動、海水温上昇させて洪水に土砂崩れに暴風にと住民の生命と財産を強奪して
私腹を肥やしてるクソ航空関係者な.クソシナに国交断絶されたら悶えるやつ多いがバカチョンはトモニなにがしに政権取らせて断絶しろ
(ref.) ttps://www.call4.jp/info.php?type=items&id=I0000062
ttps://haneda-project.jimdofree.com/ , ttps://flight-route.com/
ttps://n-souonhigaisosyoudan.amebaownd.com/
109 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200