小6におすすめな言語 (549レス)
小6におすすめな言語 http://mevius.5ch.net/test/read.cgi/tech/1598336253/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
99: デフォルトの名無しさん [] 2020/10/25(日) 09:55:39.29 ID:7UCeAjtw Haskellだと普通の言語より関数化やマルチスレッドプログラミング教え易い。 リストや配列から値を求める->foldl関数 リストや配列から新しいリストや配列を作る->map関数 そのfoldlやmapも自作出来る。 普通の言語では「良く使う機能は関数にまとめましょう」と言いながら良く使うforのパターンを関数にしない。 関数型言語の機能を取り込んで、ライブラリにmapやfold、あるいはcollect、reduceが備わってから使い出した。 文化的に「良く使う機能は関数にまとめ
ましょう」を実践させるのに関数型言語の方が向いてる。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/99
100: デフォルトの名無しさん [] 2020/10/25(日) 09:55:47.63 ID:7UCeAjtw マルチスレッドプログラミングも、身近な所だと四則演算が混じった計算でも、同時に出来るところは同時に計算しても良い。 例として、()で括った箇所は同時に計算して良い。 2 * 3 + 4 / 2 = (2 * 3) + (4 / 2) = 6 + 2 = 8 普通の言語だと、プログラマーがスレッドを作って並列処理させるし、デッドロックを気にしないといけないけど、 関数型言語はここをマルチスレッドでと指定すれば後は言語側がやってくれる。 (普通の言語だと、上の例ですらデッドロックや処理待ちを
気にしないといけない) 上の例をマルチスレッドにするとむしろ遅くなるが、クイックソートの分割統治法とかで威力を発揮する。 import Control.Parallel.Strategies main = print (a + b) where (a,b) = (2 * 3, 4 `div` 2) `using` evalTuple2 rpar rpar http://mevius.5ch.net/test/read.cgi/tech/1598336253/100
101: デフォルトの名無しさん [sage] 2020/10/25(日) 12:03:13.74 ID:0u/0rMBT >>99 だから小学生にプログラミングを教える目的は高度なプログラミングができるプログラマを育成することでなくで、物事を整理して論理的に思考したり現実的な作業の手順を上手く考えられるようにすることなんだって。 別にマルチスレッドなんて本職のプログラマが書ければいい話で小学生が気にするようなものではない。関数化だって、一塊の同じような処理を塊ととらえて抽象化できれば十分で、関数型言語のような現実よりも数学に近いところでの抽象化は不要だ
ろう。 haskellの良さ自体を否定する気はないが、それを主張する相手はこのスレやましてや一般的な小学生が相手ではなく、別スレとか、プログラミング好きの中高生かそれ以上の方が適切だろう。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/101
102: デフォルトの名無しさん [] 2020/10/25(日) 12:14:02.02 ID:usbfp6+y プログラミングそのものを教える前に数学を教えろって意見は大賛成 さらに論理学も必要 ただしHaskelおまえはいらん http://mevius.5ch.net/test/read.cgi/tech/1598336253/102
103: デフォルトの名無しさん [] 2020/10/25(日) 19:11:06.08 ID:7UCeAjtw >>101 うむ。 マルチスレッドまでは言い過ぎた。 でも、forで良く使うパターンを関数化しない or 出来ないのは普通の言語だと演算子が関数の一種として扱われてないから。 わざわざラムダ式や関数書かなきゃ行けないのはスマートじゃない。 高階関数取り入れても、まだまだ再利用性には関数型言語と差がある。 sum = foldl (+) 0 product = foldl (*) 1 reverse = foldl (\xs x -> x:xs) [] http://mevius.5ch.net/test/read.cgi/tech/1598336253/103
104: デフォルトの名無しさん [] 2020/10/25(日) 19:11:15.93 ID:7UCeAjtw >>102 ぶっちゃけその通り。 ただ、今の教育課程はいささか・・・いあ、大分不安がある。 例えば足し算の性質、合併と増加。 参考書では同時か後からかの違いと説明されるが、これではリンゴとみかんの合計の様な違うものの足し算の説明が出来ない。 ペアノの公理はリストと同型であるが、そう考えると合併はappend(リストの結合)だ。 一方の増加は足す数をカウンタとして足される数を増やすので、見ようによっては足す数の型を足される数の型に変換して合併する処理
だ。 型にすると 合併の型: a -> a -> a 増加の型: a -> b -> a そうするとリンゴとみかんの合計は リンゴとみかん リンゴ みかん (0 + 3) + 5 リンゴとみかん みかん 3 + 5 リンゴとみかん 8 となる。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/104
105: デフォルトの名無しさん [] 2020/10/25(日) 19:22:31.65 ID:eXluQ9/t 腐らないみかん? http://mevius.5ch.net/test/read.cgi/tech/1598336253/105
106: デフォルトの名無しさん [] 2020/10/25(日) 19:31:04.14 ID:7UCeAjtw 合併のHaskell(リスト)の例 [] ++ ys = ys (x:xs) ++ ys = xs ++ (x:ys) [1,1,1] ++ [1,1] = [1,1] ++ 1:[1,1] = [1] ++ 1:1:[1,1] = [] ++ 1:1:1:[1,1] = 1:1:1:[1,1] = [1,1,1,1,1] 増加のHaskell(リスト)の例 xs ^+ [] = xs xs ^+ (_:ys) = 1:xs ^+ ys [1,1,1] ^+ ['a','b'] = 1:[1,1,1] ^+ ['b'] = 1:1:[1,1,1] ^+ [] = 1:1:[1,1,1] = [1,1,1,1,1] http://mevius.5ch.net/test/read.cgi/tech/1598336253/106
107: デフォルトの名無しさん [sage] 2020/10/25(日) 19:35:45.13 ID:0u/0rMBT >>104 もうお前がどこに向かってるのか分からんよ。 小学生はそんな小難しい理屈なんか考えずに何の問題もなくリンゴとミカンの数の足し算ができるしそれで過不足は無い。 haskellを小学生に教える理由としてはことごとく的はずれで、先に自分の中でhaskellを推すということが大前提になってしまってるだろう。目的と手段が混同されたままで何の価値もない議論になってるぞ。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/107
108: デフォルトの名無しさん [sage] 2020/10/25(日) 19:36:32.76 ID:qxf88E90 入門という意味なら(癖が強いけど)環境構築も含めて JavaScript + HTML かな 使ってるのが Windows なら C# というのも選択肢に入ってくる Python とか Ruby は環境構築がアレだけど Anaconda とかで無事に入るのであれば Python というのも無くはないがそれなりにクセがある http://mevius.5ch.net/test/read.cgi/tech/1598336253/108
109: デフォルトの名無しさん [] 2020/10/25(日) 19:45:12.75 ID:wvC05HVI アルゴリズム体操のようなクィックソート体操があると面白いなぁ http://mevius.5ch.net/test/read.cgi/tech/1598336253/109
110: デフォルトの名無しさん [sage] 2020/10/25(日) 20:05:58.17 ID:0u/0rMBT >>109 大人のピタゴラスイッチでやっていたしめじソートやじゃがいもソートは面白かったね http://mevius.5ch.net/test/read.cgi/tech/1598336253/110
111: デフォルトの名無しさん [sage] 2020/10/25(日) 22:54:29.10 ID:jX2Ujasg >>25 とりあえすtoつけろやあんぽんたん http://mevius.5ch.net/test/read.cgi/tech/1598336253/111
112: デフォルトの名無しさん [] 2020/10/26(月) 03:56:07.45 ID:OVBcl2zY C++をやっておけば、Arduinoを始められるという利点がある。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/112
113: デフォルトの名無しさん [] 2020/10/26(月) 12:36:20.39 ID:mZWtyFpe >>107 小学生にはおはじきで動きを教えれば良いんだが、教師の側は知っておいた方がいい。(だから参考書にも変な解釈が載ったりする) 言いたかったのは、理屈を教えず「そういう決まり」で教えるのでは無く、理屈を教えたり理屈を探究させたりする内容の授業が大切。 それこそが論理的思考をそれこそが論理的思考を育てる。 ただドリルを繰り返しても身に付かない。 そう言う意味でのプログラミングでも、処理過程の見え難い普通の言語(デバッガーがあれば多少マシ
程度)よりHaskellの方が理屈を考え易い。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/113
114: デフォルトの名無しさん [] 2020/10/26(月) 17:50:57.92 ID:mZWtyFpe >>107 >>75の理由で引くつもりは無いので、Haskellについては的外れだろうが推す。 第一、再帰が難しいと言うが、複雑度合いで行けば再帰よりループの方が複雑だ。 一般にループは末尾再帰と同程度の複雑さとされる。 論理的思考を教えるのにスタックを消費するからってのは考えないで良いなら、再帰の方が単純。 0からnまでの合計 Python def mysum(n): a = 0 for i in range(n + 1): a += i return a Haskell mysum 0 = 0 mysum n = n + mysum (n - 1) h
ttp://mevius.5ch.net/test/read.cgi/tech/1598336253/114
115: デフォルトの名無しさん [] 2020/10/26(月) 18:27:43.61 ID:qF0DukLx 好きな言語で簡単なコードを描いて答えてください x, y は整数 x > 0 y < 4 / x を満たす x, y の組み合わせを全て出力 http://mevius.5ch.net/test/read.cgi/tech/1598336253/115
116: デフォルトの名無しさん [sage] 2020/10/26(月) 18:33:47.76 ID:eROnJLfC これはprologwww http://mevius.5ch.net/test/read.cgi/tech/1598336253/116
117: デフォルトの名無しさん [] 2020/10/26(月) 18:39:43.21 ID:qF0DukLx みんな判ってるだろうと思うけど 0 < x < 4 の 4 とか勝手な上限設定するのは反則ね http://mevius.5ch.net/test/read.cgi/tech/1598336253/117
118: デフォルトの名無しさん [sage] 2020/10/26(月) 19:29:34.52 ID:0rRTb9Rw >>114 的外れだろうが推す、か。 もうただの荒しだな。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/118
119: デフォルトの名無しさん [sage] 2020/10/26(月) 19:33:12.75 ID:VrjIJ6iF 5chのクソスレで必死に啓蒙活動とか発達障害かキチガイ http://mevius.5ch.net/test/read.cgi/tech/1598336253/119
120: デフォルトの名無しさん [sage] 2020/10/26(月) 21:06:55.37 ID:AQRN76lK ぶっちゃけ普通の数学でn進数を暗記して色の管理とか行列と絡めてSQLでユーザー管理でも組ませてLINEとかはこうやってみんなのくだらねーおしゃべりを中継してるんだぞ!っとかの方が実感しやすくね? 口語使えないやつらにいきなり文法パズルやらせたって睡眠導入にしかならんと思 睡眠障害もちを集めた特別教室ならどれでも良いだろうけど http://mevius.5ch.net/test/read.cgi/tech/1598336253/120
121: デフォルトの名無しさん [sage] 2020/10/26(月) 21:30:14.96 ID:artpKwJu >>114 コテ付けてもらえる? http://mevius.5ch.net/test/read.cgi/tech/1598336253/121
122: デフォルトの名無しさん [sage] 2020/10/26(月) 22:55:12.39 ID:eROnJLfC 面と胴も。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/122
123: デフォルトの名無しさん [sage] 2020/10/27(火) 06:23:23.96 ID:HBnjR0ag >>115 これは無理 組み合わせが無数にある http://mevius.5ch.net/test/read.cgi/tech/1598336253/123
124: デフォルトの名無しさん [] 2020/10/27(火) 07:42:41.13 ID:2iAdYJTU >>115 #ruby #x,yは正の整数とする n=4 (1..n).each{|x|(1..n/x).each{|y|p [x,y]}} 実行結果 [1, 1] [1, 2] [1, 3] [1, 4] [2, 1] [2, 2] [3, 1] [4, 1] http://mevius.5ch.net/test/read.cgi/tech/1598336253/124
125: デフォルトの名無しさん [] 2020/10/27(火) 11:52:15.04 ID:ytFGmFUn (1..n) の部分が反則ですって http://mevius.5ch.net/test/read.cgi/tech/1598336253/125
126: デフォルトの名無しさん [] 2020/10/27(火) 11:52:50.45 ID:ytFGmFUn しかも答え間違ってるしωωω http://mevius.5ch.net/test/read.cgi/tech/1598336253/126
127: デフォルトの名無しさん [sage] 2020/10/27(火) 12:24:25.66 ID:MWzm/YXn 無限個あるので出力できません おわり http://mevius.5ch.net/test/read.cgi/tech/1598336253/127
128: デフォルトの名無しさん [sage] 2020/10/27(火) 14:34:06.15 ID:n2rIsfhw 小学生は沈黙している。 小学生は窓の外に鳥を見つけた。 小学生は引き出しで趣味の折り紙に熱中している。 この先生が小学生の教師だったら一人と偶然相性が合う3クラスに2人くらいの生徒が過剰反応するだけで バックグラウンドで学級崩壊してるよ。 http://mevius.5ch.net/test/read.cgi/tech/1598336253/128
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 421 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s