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

1
(8): タンヌウリャンハイ [cwsyotabo@gmail.com] 2020/08/25(火)15:17 ID:j49hN96g(1) AAS
教えてください。
2: 2020/08/25(火)15:45 ID:0stN+p5I(1) AAS
C#
3: 2020/08/25(火)16:14 ID:k8KKzgMK(1) AAS
>>1
こういう糞スレ立ててる時点で言語なんか無理だから養護施設に入りなさい
4: 2020/08/25(火)17:50 ID:XqmbJWy/(1) AAS
教科書を見なさい。未だコンピュータ教育してない学校なんてあるの?

取り敢えずMicro:bit これでLED光らせたり、ブザーを鳴らしたりして遊べば良い。 結構遊べる。

最終的には Micro Python になるが、Microsoftのツールを使うとJavascript しか見えない。
5
(1): 2020/08/26(水)01:42 ID:umdUjTz4(1) AAS
うちの教室ではみんなunity & C#だな
6: 2020/08/26(水)01:53 ID:aAdgcY6X(1) AAS
>>5 嘘つけ、検定教科書にはそんなの載っていない。
7: 2020/08/26(水)03:16 ID:+QXa9S53(1) AAS
専門学校かもしれないぞ
8
(1): 2020/08/26(水)04:08 ID:sDqnZwli(1) AAS
小学生はロゴだろ
9: 2020/08/29(土)13:59 ID:pfNMTZZq(1) AAS
pro2020買ったけど謳い文句の「コンピューターを超えた」の割にOSがチンカスすぎてパソコンの変わりにはならなかったしペンシル買ったけど絵は描かないしで結局キンドル専用機になった
マックOS選べたら良いのに。
ウォッチ買ってても使いこなせなかっただろうな。なんせ使い手が
10: 2020/09/01(火)16:41 ID:wZEdInic(1) AAS
>>1
Scratchでまずプログラミングの基礎を身につける。テレビでも教われる
11
(1): 2020/09/01(火)20:42 ID:mxE4dI1a(1) AAS
俺が小6の時はベーシックから入ってマシン語やってたな
ベーマガによく投稿していたあの頃
12: 2020/09/04(金)17:19 ID:vUwVPqVi(1) AAS
幼稚園年長からBASICしてた
PC8801mkIIで

今、三次元系のライブラリ設計してる
13
(1): 2020/09/04(金)19:48 ID:WFvG6Ntz(1) AAS
Scratchが定番では?

小6なら文字式を習ってるはずなので数学をプログラミング言語としても良いし、ほぼ動く数学といって良いHaskellも選択肢の一つかもね。
再帰とセクション覚えれば自分で掛け算演算子や割り算演算子を作れるから、算数の理解を深めるのに良いと思う。
14: 2020/09/04(金)23:30 ID:H/ZJRxDG(1) AAS
やりたいことも書かない人が「おすすめは何ですか」って聞いてマジレスする方もどうかしている
15: 2020/09/05(土)20:02 ID:Q89HGuRi(1) AAS
js一択
16: 2020/09/05(土)21:49 ID:qef5ttAc(1) AAS
中学生ならjc
高校生ならjk
17: 2020/09/06(日)16:28 ID:mV/+hzQH(1) AAS
Racketインストールしてやって素数夜曲を買い与えておけばいい
18
(1): 2020/09/13(日)21:26 ID:te8H2Dpy(1/2) AAS
>>13書いたついでに宣伝。
小学生向けHaskell入門書、Amazonにて絶賛発売中です。
限られた時間でなるべく多くプログラミングに親しんでもらう為に、教える文法は最小限に抑えてますが、
それでもPythonやRubyにそれほど見劣りしない表現力を保ってます。

「パソコンが買えなくてもプログラマーを諦めない君へ 〜小学生のHaskell入門〜」

参考までに、高階関数もリスト内包表記も無しで、リスト結合演算子から自作してのクイックソート

myqsort [] = []
myqsort [x] = [x]
myqsort (x:xs) = myqsort (small x xs) ^++ [x] ^++ myqsort (large x xs)

(^++) [] ys = ys
(^++) xs [] = xs
(^++) (x:xs) ys = x:(^++) xs ys

small n [] = []
small n (x:xs) | x <= n = x:small n xs
small n (x:xs) = small n xs

large n [] = []
large n (x:xs) | x > n = x:large n xs
large n (x:xs) = large n xs
19
(1): 2020/09/13(日)21:36 ID:te8H2Dpy(2/2) AAS
掛け算演算子はこんな感じ。
(ユニコード文字の記号も演算子に使える。Haskellの掛け算演算子(*)と被らないので、そのまま動く)

(×) a 0 = 0
(×) a b = a + (×) a (b - 1)

2 × 3
= 2 + (×) 2 (3 - 1)
= 2 + 2 + (×) 2 (2 - 1)
= 2 + 2 + 2 + (×) 2 (1 - 1)
= 2 + 2 + 2 + (×) 2 0
= 2 + 2 + 2 + 0 ((×) a 0 = 0により、0が返る)
= 6
20
(1): 2020/09/13(日)21:56 ID:0g3u87pq(1) AAS
Rubyキチの次はHaskellキチかよ
クソスレ上げてまで必死とか質の悪い荒らし
21
(2): 2020/09/18(金)21:16 ID:bVx/alhd(1) AAS
>>20
>>18の本のタイトル通り、PC持ってない子供でもプログラミングの勉強出来る様にって書いたものだから、PC持ってるならScratchで良い。

ただ、Haskellは算数や理科の授業と非常に親和性が高い。
文法の勉強とかなら国語との相性も良い。

算数の宿題も、ただ解くより

(1) 2 + 3 (2) 5 + 4 (3) 6 + 8

と言う問題を解くプログラムを作って解いてみよう。って言えば楽しく解いてくれるはず。

f [] = []
f (x,y):zs = x + y:f zs

f [(2,3),(5,4),(6,8)]
= 2 + 3:f [(5,4),(6,8)]
= 5:f [(5,4),(6,8)]
= 5:5 + 4:f [(6,8)]
= 5:9:f [(6,8)]
= 5:9:6 + 8:f []
= 5:9:14:f []
= 5:9:14:[]
= [5,9,14]
22: 2020/09/19(土)00:00 ID:QKolKnHG(1) AAS
>>21
自分が楽しいのと相手が楽しいのを混同するタイプか
23: 2020/09/19(土)06:49 ID:JrTIim4r(1) AAS
そうかもね。

でも、教育格差や今のプログラミング教育がメーカーの格好の餌食になっている現状に一石を投じる言語ではあるよ。
政府が本当に恒久的に小学生(の新入生?)にPCを行き渡らせ続けられるなら、必要無いかもだけど。

コロナで税金を大分使ったしね。
24
(1): 2020/09/19(土)08:04 ID:ndkIK1Zf(1/2) AAS
>>1
まずは、日本語をきちんと学んで
それから中学生に上がったら、Hello, I'm grad see you辺りから英語もだんだん勉強を。
25
(1): 2020/09/19(土)08:08 ID:ndkIK1Zf(2/2) AAS
もしかして、ネタスレにマジレスしちゃった?俺
26: 2020/09/19(土)11:41 ID:ed5tyd+V(1) AAS
>>24
お前も中1から英語やりなおせよ低能w
27: 2020/09/19(土)13:21 ID:Ke+xqhHz(1/2) AAS
Hello, I'm grad (to) see you.
28: 2020/09/19(土)14:14 ID:UH13Why+(1) AAS
これ思い出した

WareZ isn't soft.
WareZ is name of bad copy soft.
Do you understand?
You never come here.

あまりに簡単すぎる英語で書きました。
これで分かるかな?
馬鹿だからわかんないかもね

You is a big fool man.
Hahahaha.
29
(1): 2020/09/19(土)16:43 ID:Ke+xqhHz(2/2) AAS
WareZ isn't (a)soft.
WareZ is (the) name of (a) bad copy soft.
Do you understand?
You never come here.
You (are)a (total) fool(ish) man.
Hahahaha.
30
(1): 2020/09/19(土)17:25 ID:2HkJedVD(1) AAS
>>29
がんばって指摘してるんだろうけど無茶苦茶

とりあえずsoftwareのことをsoftとは英語では言わない
31: 2020/09/19(土)18:33 ID:/ZqQW4lo(1) AAS
>>30
頑張りを評価するだけ偉いな
32: 2020/09/20(日)16:41 ID:Ai6dHVB9(1) AAS
日本語
33: 2020/09/21(月)11:21 ID:ZlQZfuJS(1) AAS
小学生はエロい
34
(1): 2020/09/21(月)21:25 ID:cxCVzlZ/(1) AAS
議論にもなってないけど、割と本気でHaskellは授業で使うプログラミング言語にピッタリなんだけどな・・・。
>>21の例の通り、宿題をPCに解かせるプログラムを自分がPCになって解く事が出来るから、
PCに宿題を解かせる事だけが上手くなって算数は身に付かないって心配が無い。
(ほぼ数学なので、紙と鉛筆で実行過程をエミュレート出来る)

PCでしか実行出来ない他のプログラミング言語に対する大きなアドバンテージだと思うんだけど。
35: 2020/09/21(月)22:22 ID:y+YY/hAY(1) AAS
まず手持ちのスマホで実行できないと納得しないよ
36: 2020/09/22(火)02:26 ID:CP+6Jcr0(1) AAS
>>11
ご同輩 でもマシン語メインだからベーマガは1回だけ(不採用)
37
(1): 2020/09/22(火)03:13 ID:2kmwzB0g(1) AAS
>>34
そんな独りよがりな主張、議論にならなくて当然だろう。
メリットとしてあげられている点が無理矢理なこじつけに思えて全く共感できない。我田引水もいいところ。
38: 2020/10/03(土)05:16 ID:TZMEpNzL(1) AAS
jsなら7行テトリスがスマホで遊べるかんな
39
(1): 2020/10/10(土)09:01 ID:qt6u2bFw(1) AAS
この国は終わってる。 かなり老害が進んでる。

中学校で使われているプログラミングの教科書を全部購入して比較
Jul 17, 2018
外部リンク:yandod.github.io

中学校の技術の各社の教科書でしょうかいされているプログラミング言語の例。
共通しているのはBASICとC。
東京書籍はCOBOL、Java、JavaScript、
開隆堂はFORTLAN、
教育図書はPascalを挙げている。
40: 2020/10/18(日)11:21 ID:H1xH1BRx(1) AAS
elisp
lisp
41: 2020/10/18(日)11:28 ID:CqLBM1Q2(1) AAS
Pythonこそオススメしたい。
文法は簡潔で分かりやすいし。
42: 2020/10/18(日)12:19 ID:vmWunLYe(1/2) AAS
>>37
まあ、都市部から地方まで遍く子供達がPCとScratch使えればHaskellの出番は無いんだけどね。
小6向けは言語を変えるんじゃなくて、さらに複雑なアルゴリズムを学ぶ方向かな。

暇つぶしに組み合わせnCrを書いてみた。

数学
0! = 1
n! = n * (n - 1)!

n P 0 = 1
n P r = n * (n -1) P (r - 1)

n C r = n P r / r!

Haskell
fact 0 = 1
fact n = n * fact (n - 1)

n `p` 0 = 1
n `p` r = n * (n - 1) `p` (r - 1)

n `c` r = n `p` r `div` fact r
43: 2020/10/18(日)12:19 ID:vmWunLYe(2/2) AAS
Python
def fact(n):
a = 1
for x in range(1,n + 1):
a *= x
return a

def p(n,r):
a = 1
for x in range(n - r + 1,n + 1):
a *= x
return a

def c(n,r):
return (p(n,r) // fact(r))

Haskellのfactと`p`はPythonの書き方に合わせるとそれぞれ

fact n = product [1..n]

n `p` r = product [(n - r + 1)..n]

になる。
数学ではproductはΣ(シグマ/sum)の掛け算バージョンであるΠ(大文字のπ)に相当。
普通の言語にはsumはあってもproductは何故か無い。
(まあ作れば良いんだけど)
44
(1): 2020/10/19(月)20:33 ID:ACTVJQSq(1) AAS
だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ
巨人の悪口吹き込んで、大洋ホエールズを応援するように仕向けたり
邪悪なM$の野望を打ち砕くために、子供には真に自由なFreeBSD以外を与えないようにしたり

シンプルな古典言語でいいんだよ
45
(1): 2020/10/19(月)22:11 ID:qSr3w0qH(1) AAS
>シンプルな古典言語でいいんだよ
lispだな
46: 2020/10/20(火)10:25 ID:qYYfNILy(1) AAS
Show you guts cool say what 最高だぜ
47: 2020/10/20(火)10:39 ID:pHiz9StD(1/2) AAS
>>45
forth
48: 2020/10/20(火)11:02 ID:3k48bEYB(1/3) AAS
> だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ

> FreeBSD以外を与えないようにしたり
49: 2020/10/20(火)11:40 ID:1v+j53eJ(1/3) AAS
>>44
それこそ数学で十分で、小学生なら>>19みたいに算数に再帰の概念加えるだけで良いんだけどね。(x,yを丸や四角に置き換える)
掛け算だけでも色々な視点から考察出来るし。参考に下は>>19の別視点。
後々、関数型言語や普通の言語との相関も見えて来る。
結局、目的の式を思い付くのが重要で、言語はそれを動かす手段に過ぎないと分かる。

数学(iは右下添字)
y
x × y = Σ xi = x1 + x2 + .. xy
i = 1

Haskell
x × y = sum [x |_ <- [1..y]]

Python
def mul(x,y):
a = 0
for i in range(1,y + 1):
a += x
return a
50
(1): 2020/10/20(火)11:52 ID:1v+j53eJ(2/3) AAS
そもそも算数が教育の質が低下してるせいで掘り下げる事をしてないのがプログラミングなんてのが必須になった要因。
プログラミングも形骸化するのは目に見えてる。
51: 2020/10/20(火)12:08 ID:y00O+Rim(1) AAS
小・中学生が学ぶべきは

日本語 >>> 算数 >>> 英語 >>> 数学 >>> コンピュータ/情報リテラシー >>>>>>>>>> プログラミング

小6だと学年トップクラスで賢い子じゃなければスクラッチのような簡単お遊び系を余暇の時間にやるので十分
52: 2020/10/20(火)12:09 ID:pHiz9StD(2/2) AAS
python
functools.reduce(operator.add, range(1, y+1))
53
(1): 2020/10/20(火)12:15 ID:3k48bEYB(2/3) AAS
>>50
教育の質って低下しているの?
54
(1): 2020/10/20(火)12:55 ID:dIM1eY4o(1) AAS
日本語書くのが下手なやつはプログラム書くのも下手
55
(1): 2020/10/20(火)13:05 ID:1v+j53eJ(3/3) AAS
>>53
低下と言うか、受験やテスト目的の「やり方だけ教える」教育が続いて久しい。
プログラミングも算数も論理的思考を育む目的だが、それはやり方だけ教えるのでは身に付かない。
どうしてそう言うやり方なのか?を理解しないと暗記やコピペで終わる。

小数点同士の割り算で、割る数も割られる数も10倍100倍して商を出すが、余りはその後1/10,1/100して元に戻すのは何故か?
これを説明出来る教師が何割居るか。
本屋の参考書すらただの1冊も説明した本が無い。

AIに負けない子供を!と声だけ大きくて、実態は全然変わってない。
56: 2020/10/20(火)13:25 ID:C+6cO9mm(1) AAS
>>54
判りますω

>>55
概ね同意
57
(1): 2020/10/20(火)13:50 ID:Mso39Itu(1) AAS
1. 基礎をやる。
2. 応用をやる。
3. 抽象的ロジックを学ぶ。

おすすめは2.から入ることです。
小学生にはとにかく簡単に作って簡単に動かせる
プログラミングツールを使うのが本人の興味や好奇心を
刺激してそれについてより学びたいという気持ちを育むのに
適していると思います。
それに適しているのはScratchやUnityであると思います。
Unityは言語ではなく開発環境ですが。
58
(1): 2020/10/20(火)14:12 ID:3k48bEYB(3/3) AAS
マイナスのつく計算すら習っていない小学生に三角関数の知識が必須なゲーム制作を教えられる自信が無いのだが。
59: 2020/10/20(火)14:37 ID:BGCClquZ(1) AAS
マウスのひだりボタンをおさえながら〜
もじのうえまでもっていって〜
そうっ!そこではなす!
60
(1): 2020/10/20(火)17:48 ID:jhsdR4Vv(1) AAS
>>)49
#ruby
def mul(x, y)
(1..y).sum{x}
end
61
(1): 2020/10/20(火)18:01 ID:fAfKHlRh(1) AAS
>>58
Unityなら衝突判定用などのライブラリもあるから三角関数の知識が必須ではない
そして情弱のお前が教える必要がない
62: 2020/10/20(火)18:59 ID:78+LbKIW(1) AAS
>>61
お前が教える訳でもないがな
教師の立場考えろゴミカス
63
(1): 2020/10/20(火)19:12 ID:cYFqOukv(1) AAS
Unityは2010年頃にちょっとだけしか触っていないけど、あれって小学生でも扱えるものなの?
当時は文献が少なすぎて挫折したけど...。
64: 2020/10/20(火)23:18 ID:pTHIPiuS(1) AAS
unity2018くらいからインターフェースが日本語化出来る様になって
サードパーティー製のアセット
(手裏剣エフェクト等)が標準で入ったりして
VS2019communityとの連携対応でコード補完も充実して敷居が下がったと思う
キーボード打つのはファイル名やオブジェクト名の入力くらいで
他はほぼマウス操作だけでも3Dゲームがコンパイル出来る
65: 2020/10/21(水)04:56 ID:YRxEdpv5(1/4) AAS
そういうことじゃないと思うよ
66
(1): 2020/10/21(水)09:01 ID:/UqyrNIf(1) AAS
>>57
何故、基礎を飛ばして応用?
子供が楽しんでるのはゲーム作りではなく、発表して見て、触ってもらう事。
基礎でも小さな応用の発表と意見交換の繰り返しで自然な曲線で応用に行く。

プログラミングは独立した授業ではなく、算数や社会と言った授業の中に取り込まれる内容だという事を忘れちゃいけない。
ゲームを作らせるのが、プログラミングの目的では無い。

ちなみに、HaskellはPrologに比べると少々面倒臭いが、普通の言語に比べると比較的簡単に家系図とか作れる。
(まあ、Prologのロジック部分はSQLと名を変えて生き残ってるんだが)
Scratchって関数の再帰呼び出し出来たっけ・・・?(ちょっとしか触って無いけど手続きがあるだけで、関数無かった気がする)
家系図もだけど、ハノイの塔とかクイックソートとか、再帰出来ないと難しいアルゴリズム有るけど・・・。
そう言うの学ぶ辺りでPythonとかに行くのだろうか。
PC無い家庭でも学べるHaskellが良いんだが、採用されないよなぁ・・・。

>>60
交換法則とカリー化で。

replicate使用例: replicate 3 1 = [1,1,1]

Haskell

(×) x = sum.replicate x

使用例: 3 × 4 = (sum.replicate 3) 4 = sum [4,4,4] = 12
67
(1): 2020/10/21(水)10:29 ID:1W+LDLxS(1/3) AAS
>>66
最初の2段落までは同意。
しかしどうしてそこからhaskell推しに行くかな。
高学年になれば(身のまわりの生活に沿った)算数にすらついていけない子が出てくる現状で、数学(高度な抽象概念)的なhaskellなんかやらせても、プログラミング嫌いを大量生産するだけだろう。

理解できる人にとっては再帰とかシンプルでキレイな概念かもしれないが、小学生には高度すぎる。
現実の生活でも作業手順として順序、条件分岐、繰り返しで考えるのだから、プログラミングを教える目的としても関数型より手続き型のが適しているだろう。

自分が小学生の親としての立場から見ても、小学生に関数型プログラミングを習わせたいというのは数学が得意な人間のエゴだと感じるよ。
68
(1): 2020/10/21(水)11:44 ID:TJZ0h4l7(1/3) AAS
小学生には同じゲームでもアナログゲームを作らせたほうが遥かに教育効果が高い

画面の中の作られた楽しさよりもっと豊かな世界を五感で体験することがその後の人生を有意義にしてくれる

特に小5小6くらいのゴールデンエイジの体験はものすごく重要

自分からのめり込むような子供以外にその時期プログラミングを学ばせるのは子供の人生を無駄にしてる
69: 2020/10/21(水)12:35 ID:xBgAWF1Y(1/3) AAS
>>63
手順を踏めば小学生でも出来るレベル
アルファベットとか知ってるのは前提で
外部リンク:www.youtube.com
70: 2020/10/21(水)12:36 ID:u7mcTzUA(1/2) AAS
一般人は手順や段取りすらまともに考えられない。

想定どおりにならなかったときなど、もっと考えていない。

これらを教えるのが小学校のプログラミングで、プログラミング教育の意味がわかってないやつが多すぎる。
71
(1): 2020/10/21(水)12:38 ID:u7mcTzUA(2/2) AAS
35年くらい前のパソコンサンデーを見ると昔のBASICでも問題ないことがわかる。
72
(1): 2020/10/21(水)12:42 ID:xBgAWF1Y(2/3) AAS
>>68 はアナログとアナクロを間違ってる例
73: 2020/10/21(水)12:59 ID:tiqsU3pv(1) AAS
>>71
電源いれればすぐにLINEで遊べるからな
74: 2020/10/21(水)13:04 ID:TJZ0h4l7(2/3) AAS
>>72
アナクロとは全く関係ないよ

本来のアナログの意味からすれば誤用には違いないがは日本では定着した用語
外部リンク:ja.wikipedia.orgアナログゲーム

知らない人がいるとは思わなかった
75
(4): 2020/10/21(水)15:12 ID:NEFROxzK(1/3) AAS
>>67
プログラミングの授業にPC必須だと、地域&経済格差が激し過ぎる。
それが今現在解消されてない以上、エゴだろうが何だろうがHaskellを推す。
76
(1): 2020/10/21(水)15:16 ID:NEFROxzK(2/3) AAS
その為に小学生向けHaskell入門書まで書いて(事実上Amazon限定だが)自費出版までしたんだ。
77
(2): 2020/10/21(水)15:47 ID:1W+LDLxS(2/3) AAS
>>75
小学生にプログラミングを教えること自体が目的化してないか?
格差が問題だというなら、格差の是正を訴えるかプログラミング教育の導入を延期させでもした方がいい。
haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。
それにPC無しで机上でやらせることを考えるなら、別にhaskellでなくたっていいだろう。手続き型言語でフローチャートを手書きするなり穴埋め問題とかでもいい。まあ楽しくはないだろうが、それはhaskellをやらされてもほとんどの子供にとって同じようなもんだと思う。
78: 2020/10/21(水)15:58 ID:TJZ0h4l7(3/3) AAS
小学生に学ばせるならテキシコー的なやつ
外部リンク:www.nhk.or.jp

コンピュータを使う必要はない
79: 2020/10/21(水)17:46 ID:9lUFHGYK(1) AAS
ね、自分と他人の区別がついてなくて
子供に自己投影できると思ってる人が発生しちゃうでしょ?

自分にできることは、子供にもできる
自分が理解できるものは、子供も理解できる
自分が好きなものは、子供も好きになる
そうじゃない子供は想定外

根本的に自己中多いよね、この業界
80: 2020/10/21(水)18:11 ID:NEFROxzK(3/3) AAS
>>77

> >>75
> haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。
そう訴え続けてもこうなってるから、せめてHaskellと言う選択肢も提供しようと足掻いてる。
81
(1): 2020/10/21(水)18:14 ID:YRxEdpv5(2/4) AAS
>>75
PCなんか大量に廃棄されて処分にお金がかかっている状態だぞ?
82
(2): 2020/10/21(水)18:15 ID:7rivaHQh(1) AAS
Haskellの人はRubyの人の次に話が通じないから議論しようとしてもストレスたまるだけだよ
83
(1): 2020/10/21(水)18:42 ID:VlkQ0lPM(1) AAS
単純に手段が目的になってるケースだね
そこに囚われて有りきで全て理由付けしちゃってるから本人は筋が通ってるつもりでも他人からは狂人にしか見えないっていう...
自己中ってより思考パターンが障害持ちか心の病かカルト信者
視野狭窄に気付く為にはそこから2-3ヶ月程離れてみればいいんだけどこういう人って聞かないからね...
84: 2020/10/21(水)18:50 ID:F4fghCXJ(1) AAS
私はあえてC++をお勧めしたいですね。
85: 2020/10/21(水)19:27 ID:xBgAWF1Y(3/3) AAS
>>81
これな
外部リンク:maidonanews.jp
外部リンク:news.yahoo.co.jp
86
(1): 2020/10/21(水)19:28 ID:1W+LDLxS(3/3) AAS
>>82
話が通じないとはいっても、haskellの人は自分の主張に拘りがあるだけで知性を持った人間として会話にはなるけど、Rubyの人はどこかで誰かが言った言葉を文脈無視でコピペの如く垂れ流すだけだからまったく論理的でなく会話にもならないな。
87: 2020/10/21(水)19:36 ID:YRxEdpv5(3/4) AAS
Rubyのひとは無職なんだろうね
88: 2020/10/21(水)20:00 ID:HJxHMNRz(1) AAS
無職ガイジ「Rubyは稼げる!引く手あまた!」
説得力ねぇよなwww
89: 2020/10/21(水)20:51 ID:YRxEdpv5(4/4) AAS
簡単なWebは結局、PHPにおさまり、その他はPythonに置き換わってしまったからね。
90: 2020/10/23(金)08:23 ID:jXY97QUs(1) AAS
>>77
一応、紙と鉛筆だけでもプログラミングを楽しめる様に問題の工夫やら考えてる。
プログラミングHaskell読んだ時の知的好奇心を刺激する「アカデミックなのに面白い」と言うのを小学生向けに書いたつもり。

>>82,83,86
PC買えない家庭でもプログラミング学べる少しでも環境整える為に、負けると分かっていてもこっちが折れる訳には行かない。
91: 2020/10/23(金)19:36 ID:yNaAiylg(1) AAS
義務教育期間ならどんなクズでも出席日数さえ足りてれば進級進学できるんだから業界スタンダードなC#を鬼になって教えるのがベスト
成果物を見せてこんなのができるんだよーって教えればやる気にはなる
92: 2020/10/24(土)01:58 ID:1fTZ1cE8(1) AAS
うーん、今はGoがあるからな
C#も悪くは無いと思うんだけど
93
(1): 2020/10/24(土)08:44 ID:l7tFILML(1) AAS
まあ、知り合いに小学生の内にBASIC->アセンブラまで覚えた人居るし、不可能じゃ無いんだろうけど・・・。
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
これは無理
組み合わせが無数にある
124: 2020/10/27(火)07:42 ID:2iAdYJTU(1) AAS
>>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]
125: 2020/10/27(火)11:52 ID:ytFGmFUn(1/2) AAS
(1..n) の部分が反則ですって
126: 2020/10/27(火)11:52 ID:ytFGmFUn(2/2) AAS
しかも答え間違ってるしωωω
127: 2020/10/27(火)12:24 ID:MWzm/YXn(1) AAS
無限個あるので出力できません
おわり
1-
あと 420 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s