小6におすすめな言語 (549レス)
1-

94: 2020/10/24(土)09:01 ID:yNjKn67N(1) AAS
>>93
昔小学校6年生でMSXのマシン語メインでシューティングゲーム作った人がいたな
敵の動作をBASICの三角関数で作ってセットするとかいろいろ天才すぎだと思った
95: 2020/10/24(土)10:50 ID:hS/lv/UK(1) AAS
親の影響だろうね。親がプログラマだと子供に教えているわけでもないのに、勝手にあれこれやってどんどんすごいことをしているという話を聞く。
96
(1): 2020/10/24(土)10:52 ID:h2h5EJ6D(1) AAS
C++始めていれば、Arduino出来る。
これは大きい。
97: 2020/10/24(土)23:16 ID:ZaC2aARH(1) AAS
>>96
arduinoはライブラリの呼び出し方さえ判ればCレベルの知識でいいね
自分でクラスモジュール化なんてまずやらないし
98: 2020/10/25(日)09:36 ID:sZhybdHq(1) AAS
C++でArduinoを始めよう。
99
(1): 2020/10/25(日)09:55 ID:7UCeAjtw(1/5) AAS
Haskellだと普通の言語より関数化やマルチスレッドプログラミング教え易い。

リストや配列から値を求める->foldl関数

リストや配列から新しいリストや配列を作る->map関数

そのfoldlやmapも自作出来る。

普通の言語では「良く使う機能は関数にまとめましょう」と言いながら良く使うforのパターンを関数にしない。
関数型言語の機能を取り込んで、ライブラリにmapやfold、あるいはcollect、reduceが備わってから使い出した。

文化的に「良く使う機能は関数にまとめましょう」を実践させるのに関数型言語の方が向いてる。
100: 2020/10/25(日)09:55 ID:7UCeAjtw(2/5) AAS
マルチスレッドプログラミングも、身近な所だと四則演算が混じった計算でも、同時に出来るところは同時に計算しても良い。
例として、()で括った箇所は同時に計算して良い。

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
101
(1): 2020/10/25(日)12:03 ID:0u/0rMBT(1/3) AAS
>>99
だから小学生にプログラミングを教える目的は高度なプログラミングができるプログラマを育成することでなくで、物事を整理して論理的に思考したり現実的な作業の手順を上手く考えられるようにすることなんだって。
別にマルチスレッドなんて本職のプログラマが書ければいい話で小学生が気にするようなものではない。関数化だって、一塊の同じような処理を塊ととらえて抽象化できれば十分で、関数型言語のような現実よりも数学に近いところでの抽象化は不要だろう。
haskellの良さ自体を否定する気はないが、それを主張する相手はこのスレやましてや一般的な小学生が相手ではなく、別スレとか、プログラミング好きの中高生かそれ以上の方が適切だろう。
102
(1): 2020/10/25(日)12:14 ID:usbfp6+y(1) AAS
プログラミングそのものを教える前に数学を教えろって意見は大賛成
さらに論理学も必要

ただしHaskelおまえはいらん
103: 2020/10/25(日)19:11 ID:7UCeAjtw(3/5) AAS
>>101
うむ。
マルチスレッドまでは言い過ぎた。
でも、forで良く使うパターンを関数化しない or 出来ないのは普通の言語だと演算子が関数の一種として扱われてないから。
わざわざラムダ式や関数書かなきゃ行けないのはスマートじゃない。
高階関数取り入れても、まだまだ再利用性には関数型言語と差がある。

sum = foldl (+) 0

product = foldl (*) 1

reverse = foldl (\xs x -> x:xs) []
104
(1): 2020/10/25(日)19:11 ID:7UCeAjtw(4/5) AAS
>>102
ぶっちゃけその通り。
ただ、今の教育課程はいささか・・・いあ、大分不安がある。
例えば足し算の性質、合併と増加。
参考書では同時か後からかの違いと説明されるが、これではリンゴとみかんの合計の様な違うものの足し算の説明が出来ない。

ペアノの公理はリストと同型であるが、そう考えると合併はappend(リストの結合)だ。
一方の増加は足す数をカウンタとして足される数を増やすので、見ようによっては足す数の型を足される数の型に変換して合併する処理だ。
型にすると

合併の型: a -> a -> a

増加の型: a -> b -> a

そうするとリンゴとみかんの合計は

リンゴとみかん リンゴ みかん
   (0 + 3) + 5

リンゴとみかん みかん
    3 + 5

リンゴとみかん
8

となる。
105: 2020/10/25(日)19:22 ID:eXluQ9/t(1) AAS
腐らないみかん?
106: 2020/10/25(日)19:31 ID:7UCeAjtw(5/5) AAS
合併の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]
107
(2): 2020/10/25(日)19:35 ID:0u/0rMBT(2/3) AAS
>>104
もうお前がどこに向かってるのか分からんよ。
小学生はそんな小難しい理屈なんか考えずに何の問題もなくリンゴとミカンの数の足し算ができるしそれで過不足は無い。
haskellを小学生に教える理由としてはことごとく的はずれで、先に自分の中でhaskellを推すということが大前提になってしまってるだろう。目的と手段が混同されたままで何の価値もない議論になってるぞ。
108: 2020/10/25(日)19:36 ID:qxf88E90(1) AAS
入門という意味なら(癖が強いけど)環境構築も含めて JavaScript + HTML かな
使ってるのが Windows なら C# というのも選択肢に入ってくる

Python とか Ruby は環境構築がアレだけど Anaconda とかで無事に入るのであれば Python というのも無くはないがそれなりにクセがある
109
(1): 2020/10/25(日)19:45 ID:wvC05HVI(1) AAS
アルゴリズム体操のようなクィックソート体操があると面白いなぁ
110: 2020/10/25(日)20:05 ID:0u/0rMBT(3/3) AAS
>>109
大人のピタゴラスイッチでやっていたしめじソートやじゃがいもソートは面白かったね
111: 2020/10/25(日)22:54 ID:jX2Ujasg(1) AAS
>>25
とりあえすtoつけろやあんぽんたん
112: 2020/10/26(月)03:56 ID:OVBcl2zY(1) AAS
C++をやっておけば、Arduinoを始められるという利点がある。
113: 2020/10/26(月)12:36 ID:mZWtyFpe(1/2) AAS
>>107
小学生にはおはじきで動きを教えれば良いんだが、教師の側は知っておいた方がいい。(だから参考書にも変な解釈が載ったりする)

言いたかったのは、理屈を教えず「そういう決まり」で教えるのでは無く、理屈を教えたり理屈を探究させたりする内容の授業が大切。
それこそが論理的思考をそれこそが論理的思考を育てる。

ただドリルを繰り返しても身に付かない。

そう言う意味でのプログラミングでも、処理過程の見え難い普通の言語(デバッガーがあれば多少マシ程度)よりHaskellの方が理屈を考え易い。
114
(2): 2020/10/26(月)17:50 ID:mZWtyFpe(2/2) AAS
>>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)
115
(3): 2020/10/26(月)18:27 ID:qF0DukLx(1/2) AAS
好きな言語で簡単なコードを描いて答えてください

x, y は整数
x > 0
y < 4 / x
を満たす x, y の組み合わせを全て出力
116: 2020/10/26(月)18:33 ID:eROnJLfC(1/2) AAS
これはprologwww
117: 2020/10/26(月)18:39 ID:qF0DukLx(2/2) AAS
みんな判ってるだろうと思うけど
0 < x < 4 の 4 とか勝手な上限設定するのは反則ね
118
(1): 2020/10/26(月)19:29 ID:0rRTb9Rw(1) AAS
>>114
的外れだろうが推す、か。
もうただの荒しだな。
119: 2020/10/26(月)19:33 ID:VrjIJ6iF(1) AAS
5chのクソスレで必死に啓蒙活動とか発達障害かキチガイ
120: 2020/10/26(月)21:06 ID:AQRN76lK(1) AAS
ぶっちゃけ普通の数学でn進数を暗記して色の管理とか行列と絡めてSQLでユーザー管理でも組ませてLINEとかはこうやってみんなのくだらねーおしゃべりを中継してるんだぞ!っとかの方が実感しやすくね?

口語使えないやつらにいきなり文法パズルやらせたって睡眠導入にしかならんと思

睡眠障害もちを集めた特別教室ならどれでも良いだろうけど
121: 2020/10/26(月)21:30 ID:artpKwJu(1) AAS
>>114
コテ付けてもらえる?
122: 2020/10/26(月)22:55 ID:eROnJLfC(2/2) AAS
面と胴も。
123: 2020/10/27(火)06:23 ID:HBnjR0ag(1) AAS
>>115
これは無理
組み合わせが無数にある
1-
あと 426 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.032s