小6におすすめな言語 ..
[2ch|▼Menu]
2:デフォルトの名無しさん
20/08/25 15:45:35 0stN+p5I.net
C#

3:デフォルトの名無しさん
20/08/25 16:14:18 k8KKzgMK.net
>>1
こういう糞スレ立ててる時点で言語なんか無理だから養護施設に入りなさい

4:デフォルトの名無しさん
20/08/25 17:50:50.89 XqmbJWy/.net
教科書を見なさい。未だコンピュータ教育してない学校なんてあるの?
取り敢えずMicro:bit これでLED光らせたり、ブザーを鳴らしたりして遊べば良い。 結構遊べる。
最終的には Micro Python になるが、Microsoftのツールを使うとJavascript しか見えない。

5:デフォルトの名無しさん
20/08/26 01:42:37 umdUjTz4.net
うちの教室ではみんなunity & C#だな

6:デフォルトの名無しさん
20/08/26 01:53:30 aAdgcY6X.net
>>5 嘘つけ、検定教科書にはそんなの載っていない。

7:デフォルトの名無しさん
20/08/26 03:16:31.81 +QXa9S53.net
専門学校かもしれないぞ

8:デフォルトの名無しさん
20/08/26 04:08:06.25 sDqnZwli.net
小学生はロゴだろ

9:デフォルトの名無しさん
20/08/29 13:59:41 pfNMTZZq.net
pro2020買ったけど謳い文句の「コンピューターを超えた」の割にOSがチンカスすぎてパソコンの変わりにはならなかったしペンシル買ったけど絵は描かないしで結局キンドル専用機になった
マックOS選べたら良いのに。
ウォッチ買ってても使いこなせなかっただろうな。なんせ使い手が

10:デフォルトの名無しさん
20/09/01 16:41:45.08 wZEdInic.net
>>1
Scratchでまずプログラミングの基礎を身につける。テレビでも教われる

11:デフォルトの名無しさん
20/09/01 20:42:57.41 mxE4dI1a.net
俺が小6の時はベーシックから入ってマシン語やってたな
ベーマガによく投稿していたあの頃

12:デフォルトの名無しさん
20/09/04 17:19:35.76 vUwVPqVi.net
幼稚園年長からBASICしてた
PC8801mkIIで
今、三次元系のライブラリ設計してる

13:デフォルトの名無しさん
20/09/04 19:48:36 WFvG6Ntz.net
Scratchが定番では?

小6なら文字式を習ってるはずなので数学をプログラミング言語としても良いし、ほぼ動く数学といって良いHaskellも選択肢の一つかもね。
再帰とセクション覚えれば自分で掛け算演算子や割り算演算子を作れるから、算数の理解を深めるのに良いと思う。

14:デフォルトの名無しさん
20/09/04 23:30:13.65 H/ZJRxDG.net
やりたいことも書かない人が「おすすめは何ですか」って聞いてマジレスする方もどうかしている

15:デフォルトの名無しさん
20/09/05 20:02:10.23 Q89HGuRi.net
js一択

16:デフォルトの名無しさん
20/09/05 21:49:12.91 qef5ttAc.net
中学生ならjc
高校生ならjk

17:デフォルトの名無しさん
20/09/06 16:28:24.61 mV/+hzQH.net
Racketインストールしてやって素数夜曲を買い与えておけばいい

18:デフォルトの名無しさん
20/09/13 21:26:20.50 te8H2Dpy.net
>>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:デフォルトの名無しさん
20/09/13 21:36:27.11 te8H2Dpy.net
掛け算演算子はこんな感じ。
(ユニコード文字の記号も演算子に使える。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:デフォルトの名無しさん
20/09/13 21:56:50.39 0g3u87pq.net
Rubyキチの次はHaskellキチかよ
クソスレ上げてまで必死とか質の悪い荒らし

21:デフォルトの名無しさん
20/09/18 21:16:59.66 bVx/alhd.net
>>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:デフォルトの名無しさん
20/09/19 00:00:14.74 QKolKnHG.net
>>21
自分が楽しいのと相手が楽しいのを混同するタイプか

23:デフォルトの名無しさん
20/09/19 06:49:57.56 JrTIim4r.net
そうかもね。
でも、教育格差や今のプログラミング教育がメーカーの格好の餌食になっている現状に一石を投じる言語ではあるよ。
政府が本当に恒久的に小学生(の新入生?)にPCを行き渡らせ続けられるなら、必要無いかもだけど。
コロナで税金を大分使ったしね。

24:デフォルトの名無しさん
20/09/19 08:04:07.92 ndkIK1Zf.net
>>1
まずは、日本語をきちんと学んで
それから中学生に上がったら、Hello, I'm grad see you辺りから英語もだんだん勉強を。

25:デフォルトの名無しさん
20/09/19 08:08:18.92 ndkIK1Zf.net
もしかして、ネタスレにマジレスしちゃった?俺

26:デフォルトの名無しさん
20/09/19 11:41:39.14 ed5tyd+V.net
>>24
お前も中1から英語やりなおせよ低能w

27:デフォルトの名無しさん
20/09/19 13:21:44.00 Ke+xqhHz.net
Hello, I'm grad (to) see you.

28:デフォルトの名無しさん
20/09/19 14:14:51.88 UH13Why+.net
これ思い出した

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:デフォルトの名無しさん
20/09/19 16:43:58.37 Ke+xqhHz.net
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:デフォルトの名無しさん
20/09/19 17:25:27.87 2HkJedVD.net
>>29
がんばって指摘してるんだろうけど無茶苦茶
とりあえずsoftwareのことをsoftとは英語では言わない

31:デフォルトの名無しさん
20/09/19 18:33:00.44 /ZqQW4lo.net
>>30
頑張りを評価するだけ偉いな

32:デフォルトの名無しさん
20/09/20 16:41:45.45 Ai6dHVB9.net
日本語

33:デフォルトの名無しさん
20/09/21 11:21:27.63 ZlQZfuJS.net
小学生はエロい

34:デフォルトの名無しさん
20/09/21 21:25:33.10 cxCVzlZ/.net
議論にもなってないけど、割と本気でHaskellは授業で使うプログラミング言語にピッタリなんだけどな・・・。
>>21の例の通り、宿題をPCに解かせるプログラムを自分がPCになって解く事が出来るから、
PCに宿題を解かせる事だけが上手くなって算数は身に付かないって心配が無い。
(ほぼ数学なので、紙と鉛筆で実行過程をエミュレート出来る)
PCでしか実行出来ない他のプログラミング言語に対する大きなアドバンテージだと思うんだけど。

35:デフォルトの名無しさん
20/09/21 22:22:18.48 y+YY/hAY.net
まず手持ちのスマホで実行できないと納得しないよ

36:デフォルトの名無しさん
20/09/22 02:26:01.20 CP+6Jcr0.net
>>11
ご同輩 でもマシン語メインだからベーマガは1回だけ(不採用)

37:デフォルトの名無しさん
20/09/22 03:13:05.42 2kmwzB0g.net
>>34
そんな独りよがりな主張、議論にならなくて当然だろう。
メリットとしてあげられている点が無理矢理なこじつけに思えて全く共感できない。我田引水もいいところ。

38:デフォルトの名無しさん
20/10/03 05:16:22.19 TZMEpNzL.net
jsなら7行テトリスがスマホで遊べるかんな

39:デフォルトの名無しさん
20/10/10 09:01:52.22 qt6u2bFw.net
この国は終わってる。 かなり老害が進んでる。
中学校で使われているプログラミングの教科書を全部購入して比較
Jul 17, 2018
URLリンク(yandod.github.io)
中学校の技術の各社の教科書でしょうかいされているプログラミング言語の例。
共通しているのはBASICとC。
東京書籍はCOBOL、Java、JavaScript、
開隆堂はFORTLAN、
教育図書はPascalを挙げている。

40:デフォルトの名無しさん
20/10/18 11:21:27.89 H1xH1BRx.net
elisp
lisp

41:デフォルトの名無しさん
20/10/18 11:28:37.00 CqLBM1Q2.net
Pythonこそオススメしたい。
文法は簡潔で分かりやすいし。

42:デフォルトの名無しさん
20/10/18 12:19:22.62 vmWunLYe.net
>>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:デフォルトの名無しさん
20/10/18 12:19:51.59 vmWunLYe.net
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:デフォルトの名無しさん
20/10/19 20:33:09.80 ACTVJQSq.net
だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ
巨人の悪口吹き込んで、大洋ホエールズを応援するように仕向けたり
邪悪なM$の野望を打ち砕くために、子供には真に自由なFreeBSD以外を与えないようにしたり
シンプルな古典言語でいいんだよ

45:デフォルトの名無しさん
20/10/19 22:11:20.12 qSr3w0qH.net
>シンプルな古典言語でいいんだよ
lispだな

46:デフォルトの名無しさん
20/10/20 10:25:31.31 qYYfNILy.net
Show you guts cool say what 最高だぜ

47:デフォルトの名無しさん
20/10/20 10:39:02.86 pHiz9StD.net
>>45
forth

48:デフォルトの名無しさん
20/10/20 11:02:42.35 3k48bEYB.net
> だいたい独善親父が自分の宗教を子供に強制するカタチになるんだよなぁ
> FreeBSD以外を与えないようにしたり

49:デフォルトの名無しさん
20/10/20 11:40:25.09 1v+j53eJ.net
>>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:デフォルトの名無しさん
20/10/20 11:52:55.92 1v+j53eJ.net
そもそも算数が教育の質が低下してるせいで掘り下げる事をしてないのがプログラミングなんてのが必須になった要因。
プログラミングも形骸化するのは目に見えてる。

51:デフォルトの名無しさん
20/10/20 12:08:05.44 y00O+Rim.net
小・中学生が学ぶべきは
日本語 >>> 算数 >>> 英語 >>> 数学 >>> コンピュータ/情報リテラシー >>>>>>>>>> プログラミング
小6だと学年トップクラスで賢い子じゃなければスクラッチのような簡単お遊び系を余暇の時間にやるので十分

52:デフォルトの名無しさん
20/10/20 12:09:31.16 pHiz9StD.net
python
functools.reduce(operator.add, range(1, y+1))

53:デフォルトの名無しさん
20/10/20 12:15:41.01 3k48bEYB.net
>>50
教育の質って低下しているの?

54:デフォルトの名無しさん
20/10/20 12:55:14.98 dIM1eY4o.net
日本語書くのが下手なやつはプログラム書くのも下手

55:デフォルトの名無しさん
20/10/20 13:05:08.13 1v+j53eJ.net
>>53
低下と言うか、受験やテスト目的の「やり方だけ教える」教育が続いて久しい。
プログラミングも算数も論理的思考を育む目的だが、それはやり方だけ教えるのでは身に付かない。
どうしてそう言うやり方なのか?を理解しないと暗記やコピペで終わる。
小数点同士の割り算で、割る数も割られる数も10倍100倍して商を出すが、余りはその後1/10,1/100して元に戻すのは何故か?
これを説明出来る教師が何割居るか。
本屋の参考書すらただの1冊も説明した本が無い。
AIに負けない子供を!と声だけ大きくて、実態は全然変わってない。

56:デフォルトの名無しさん
20/10/20 13:25:12.32 C+6cO9mm.net
>>54
判りますω
>>55
概ね同意

57:デフォルトの名無しさん
20/10/20 13:50:08.91 Mso39Itu.net
1. 基礎をやる。
2. 応用をやる。
3. 抽象的ロジックを学ぶ。
おすすめは2.から入ることです。
小学生にはとにかく簡単に作って簡単に動かせる
プログラミングツールを使うのが本人の興味や好奇心を
刺激してそれについてより学びたいという気持ちを育むのに
適していると思います。
それに適しているのはScratchやUnityであると思います。
Unityは言語ではなく開発環境ですが。

58:デフォルトの名無しさん
20/10/20 14:12:17.59 3k48bEYB.net
マイナスのつく計算すら習っていない小学生に三角関数の知識が必須なゲーム制作を教えられる自信が無いのだが。

59:デフォルトの名無しさん
20/10/20 14:37:32.68 BGCClquZ.net
マウスのひだりボタンをおさえながら〜
もじのうえまでもっていって〜
そうっ!そこではなす!

60:デフォルトの名無しさん
20/10/20 17:48:46.97 jhsdR4Vv.net
>>)49
#ruby
def mul(x, y)
(1..y).sum{x}
end

61:デフォルトの名無しさん
20/10/20 18:01:04.79 fAfKHlRh.net
>>58
Unityなら衝突判定用などのライブラリもあるから三角関数の知識が必須ではない
そして情弱のお前が教える必要がない

62:デフォルトの名無しさん
20/10/20 18:59:53.34 78+LbKIW.net
>>61
お前が教える訳でもないがな
教師の立場考えろゴミカス

63:デフォルトの名無しさん
20/10/20 19:12:25.82 cYFqOukv.net
Unityは2010年頃にちょっとだけしか触っていないけど、あれって小学生でも扱えるものなの?
当時は文献が少なすぎて挫折したけど...。

64:デフォルトの名無しさん
20/10/20 23:18:37.01 pTHIPiuS.net
unity2018くらいからインターフェースが日本語化出来る様になって
サードパーティー製のアセット
(手裏剣エフェクト等)が標準で入ったりして
VS2019communityとの連携対応でコード補完も充実して敷居が下がったと思う
キーボード打つのはファイル名やオブジェクト名の入力くらいで
他はほぼマウス操作だけでも3Dゲームがコンパイル出来る

65:デフォルトの名無しさん
20/10/21 04:56:16.26 YRxEdpv5.net
そういうことじゃないと思うよ

66:デフォルトの名無しさん
20/10/21 09:01:09.21 /UqyrNIf.net
>>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:デフォルトの名無しさん
20/10/21 10:29:00.69 1W+LDLxS.net
>>66
最初の2段落までは同意。
しかしどうしてそこからhaskell推しに行くかな。
高学年になれば(身のまわりの生活に沿った)算数にすらついていけない子が出てくる現状で、数学(高度な抽象概念)的なhaskellなんかやらせても、プログラミング嫌いを大量生産するだけだろう。
理解できる人にとっては再帰とかシンプルでキレイな概念かもしれないが、小学生には高度すぎる。
現実の生活でも作業手順として順序、条件分岐、繰り返しで考えるのだから、プログラミングを教える目的としても関数型より手続き型のが適しているだろう。
自分が小学生の親としての立場から見ても、小学生に関数型プログラミングを習わせたいというのは数学が得意な人間のエゴだと感じるよ。

68:デフォルトの名無しさん
20/10/21 11:44:36.58 TJZ0h4l7.net
小学生には同じゲームでもアナログゲームを作らせたほうが遥かに教育効果が高い
画面の中の作られた楽しさよりもっと豊かな世界を五感で体験することがその後の人生を有意義にしてくれる
特に小5小6くらいのゴールデンエイジの体験はものすごく重要
自分からのめり込むような子供以外にその時期プログラミングを学ばせるのは子供の人生を無駄にしてる

69:デフォルトの名無しさん
20/10/21 12:35:36.64 xBgAWF1Y.net
>>63
手順を踏めば小学生でも出来るレベル
アルファベットとか知ってるのは前提で
URLリンク(www.youtube.com)

70:デフォルトの名無しさん
20/10/21 12:36:41.91 u7mcTzUA.net
一般人は手順や段取りすらまともに考えられない。
想定どおりにならなかったときなど、もっと考えていない。
これらを教えるのが小学校のプログラミングで、プログラミング教育の意味がわかってないやつが多すぎる。

71:デフォルトの名無しさん
20/10/21 12:38:23.44 u7mcTzUA.net
35年くらい前のパソコンサンデーを見ると昔のBASICでも問題ないことがわかる。

72:デフォルトの名無しさん
20/10/21 12:42:52.02 xBgAWF1Y.net
>>68 はアナログとアナクロを間違ってる例

73:デフォルトの名無しさん
20/10/21 12:59:52.53 tiqsU3pv.net
>>71
電源いれればすぐにLINEで遊べるからな

74:デフォルトの名無しさん
20/10/21 13:04:59.75 TJZ0h4l7.net
>>72
アナクロとは全く関係ないよ
本来のアナログの意味からすれば誤用には違いないがは日本では定着した用語
URLリンク(ja.wikipedia.org)アナログゲーム
知らない人がいるとは思わなかった

75:デフォルトの名無しさん
20/10/21 15:12:34.70 NEFROxzK.net
>>67
プログラミングの授業にPC必須だと、地域&経済格差が激し過ぎる。
それが今現在解消されてない以上、エゴだろうが何だろうがHaskellを推す。

76:デフォルトの名無しさん
20/10/21 15:16:02.79 NEFROxzK.net
その為に小学生向けHaskell入門書まで書いて(事実上Amazon限定だが)自費出版までしたんだ。

77:デフォルトの名無しさん
20/10/21 15:47:07.22 1W+LDLxS.net
>>75
小学生にプログラミングを教えること自体が目的化してないか?
格差が問題だというなら、格差の是正を訴えるかプログラミング教育の導入を延期させでもした方がいい。
haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。
それにPC無しで机上でやらせることを考えるなら、別にhaskellでなくたっていいだろう。手続き型言語でフローチャートを手書きするなり穴埋め問題とかでもいい。まあ楽しくはないだろうが、それはhaskellをやらされてもほとんどの子供にとって同じようなもんだと思う。

78:デフォルトの名無しさん
20/10/21 15:58:42.25 TJZ0h4l7.net
小学生に学ばせるならテキシコー的なやつ
URLリンク(www.nhk.or.jp)
コンピュータを使う必要はない

79:デフォルトの名無しさん
20/10/21 17:46:15.23 9lUFHGYK.net
ね、自分と他人の区別がついてなくて
子供に自己投影できると思ってる人が発生しちゃうでしょ?
自分にできることは、子供にもできる
自分が理解できるものは、子供も理解できる
自分が好きなものは、子供も好きになる
そうじゃない子供は想定外
根本的に自己中多いよね、この業界

80:デフォルトの名無しさん
20/10/21 18:11:28.44 NEFROxzK.net
>>77
> >>75
> haskellをやらせるくらいなら、そもそもプログラミング教育なんてやめて算数や国語を手厚く教えた方がよほどためになるよ。
そう訴え続けてもこうなってるから、せめてHaskellと言う選択肢も提供しようと足掻いてる。

81:デフォルトの名無しさん
20/10/21 18:14:01.54 YRxEdpv5.net
>>75
PCなんか大量に廃棄されて処分にお金がかかっている状態だぞ?

82:デフォルトの名無しさん
20/10/21 18:15:34.58 7rivaHQh.net
Haskellの人はRubyの人の次に話が通じないから議論しようとしてもストレスたまるだけだよ

83:デフォルトの名無しさん
20/10/21 18:42:36.68 VlkQ0lPM.net
単純に手段が目的になってるケースだね
そこに囚われて有りきで全て理由付けしちゃってるから本人は筋が通ってるつもりでも他人からは狂人にしか見えないっていう...
自己中ってより思考パターンが障害持ちか心の病かカルト信者
視野狭窄に気付く為にはそこから2-3ヶ月程離れてみればいいんだけどこういう人って聞かないからね...

84:デフォルトの名無しさん
20/10/21 18:50:50.64 F4fghCXJ.net
私はあえてC++をお勧めしたいですね。

85:デフォルトの名無しさん
20/10/21 19:27:44.36 xBgAWF1Y.net
>>81
これな
URLリンク(maidonanews.jp)
URLリンク(news.yahoo.co.jp)

86:デフォルトの名無しさん
20/10/21 19:28:10.08 1W+LDLxS.net
>>82
話が通じないとはいっても、haskellの人は自分の主張に拘りがあるだけで知性を持った人間として会話にはなるけど、Rubyの人はどこかで誰かが言った言葉を文脈無視でコピペの如く垂れ流すだけだからまったく論理的でなく会話にもならないな。

87:デフォルトの名無しさん
20/10/21 19:36:03.57 YRxEdpv5.net
Rubyのひとは無職なんだろうね

88:デフォルトの名無しさん
20/10/21 20:00:14.54 HJxHMNRz.net
無職ガイジ「Rubyは稼げる!引く手あまた!」
説得力ねぇよなwww

89:デフォルトの名無しさん
20/10/21 20:51:52.80 YRxEdpv5.net
簡単なWebは結局、PHPにおさまり、その他はPythonに置き換わってしまったからね。

90:デフォルトの名無しさん
20/10/23 08:23:31.05 jXY97QUs.net
>>77
一応、紙と鉛筆だけでもプログラミングを楽しめる様に問題の工夫やら考えてる。
プログラミングHaskell読んだ時の知的好奇心を刺激する「アカデミックなのに面白い」と言うのを小学生向けに書いたつもり。

>>82,83,86
PC買えない家庭でもプログラミング学べる少しでも環境整える為に、負けると分かっていてもこっちが折れる訳には行かない。

91:デフォルトの名無しさん
20/10/23 19:36:19.57 yNaAiylg.net
義務教育期間ならどんなクズでも出席日数さえ足りてれば進級進学できるんだから業界スタンダードなC#を鬼になって教えるのがベスト
成果物を見せてこんなのができるんだよーって教えればやる気にはなる

92:デフォルトの名無しさん
20/10/24 01:58:47.06 1fTZ1cE8.net
うーん、今はGoがあるからな
C#も悪くは無いと思うんだけど

93:デフォルトの名無しさん
20/10/24 08:44:28.68 l7tFILML.net
まあ、知り合いに小学生の内にBASIC->アセンブラまで覚えた人居るし、不可能じゃ無いんだろうけど・・・。

94:デフォルトの名無しさん
20/10/24 09:01:51.73 yNjKn67N.net
>>93
昔小学校6年生でMSXのマシン語メインでシューティングゲーム作った人がいたな
敵の動作をBASICの三角関数で作ってセットするとかいろいろ天才すぎだと思った

95:デフォルトの名無しさん
20/10/24 10:50:46.11 hS/lv/UK.net
親の影響だろうね。親がプログラマだと子供に教えているわけでもないのに、勝手にあれこれやってどんどんすごいことをしているという話を聞く。

96:デフォルトの名無しさん
20/10/24 10:52:06.37 h2h5EJ6D.net
C++始めていれば、Arduino出来る。
これは大きい。

97:デフォルトの名無しさん
20/10/24 23:16:20.49 ZaC2aARH.net
>>96
arduinoはライブラリの呼び出し方さえ判ればCレベルの知識でいいね
自分でクラスモジュール化なんてまずやらないし

98:デフォルトの名無しさん
20/10/25 09:36:06.66 sZhybdHq.net
C++でArduinoを始めよう。

99:デフォルトの名無しさん
20/10/25 09:55:39.29 7UCeAjtw.net
Haskellだと普通の言語より関数化やマルチスレッドプログラミング教え易い。
リストや配列から値を求める->foldl関数
リストや配列から新しいリストや配列を作る->map関数
そのfoldlやmapも自作出来る。
普通の言語では「良く使う機能は関数にまとめましょう」と言いながら良く使うforのパターンを関数にしない。
関数型言語の機能を取り込んで、ライブラリにmapやfold、あるいはcollect、reduceが備わってから使い出した。
文化的に「良く使う機能は関数にまとめましょう」を実践させるのに関数型言語の方が向いてる。

100:デフォルトの名無しさん
20/10/25 09:55:47.63 7UCeAjtw.net
マルチスレッドプログラミングも、身近な所だと四則演算が混じった計算でも、同時に出来るところは同時に計算しても良い。
例として、()で括った箇所は同時に計算して良い。
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:デフォルトの名無しさん
20/10/25 12:03:13.74 0u/0rMBT.net
>>99
だから小学生にプログラミングを教える目的は高度なプログラミングができるプログラマを育成することでなくで、物事を整理して論理的に思考したり現実的な作業の手順を上手く考えられるようにすることなんだって。
別にマルチスレッドなんて本職のプログラマが書ければいい話で小学生が気にするようなものではない。関数化だって、一塊の同じような処理を塊ととらえて抽象化できれば十分で、関数型言語のような現実よりも数学に近いところでの抽象化は不要だろう。
haskellの良さ自体を否定する気はないが、それを主張する相手はこのスレやましてや一般的な小学生が相手ではなく、別スレとか、プログラミング好きの中高生かそれ以上の方が適切だろう。

102:デフォルトの名無しさん
20/10/25 12:14:02.02 usbfp6+y.net
プログラミングそのものを教える前に数学を教えろって意見は大賛成
さらに論理学も必要
ただしHaskelおまえはいらん

103:デフォルトの名無しさん
20/10/25 19:11:06.08 7UCeAjtw.net
>>101
うむ。
マルチスレッドまでは言い過ぎた。
でも、forで良く使うパターンを関数化しない or 出来ないのは普通の言語だと演算子が関数の一種として扱われてないから。
わざわざラムダ式や関数書かなきゃ行けないのはスマートじゃない。
高階関数取り入れても、まだまだ再利用性には関数型言語と差がある。
sum = foldl (+) 0
product = foldl (*) 1
reverse = foldl (\xs x -> x:xs) []

104:デフォルトの名無しさん
20/10/25 19:11:15.93 7UCeAjtw.net
>>102
ぶっちゃけその通り。
ただ、今の教育課程はいささか・・・いあ、大分不安がある。
例えば足し算の性質、合併と増加。
参考書では同時か後からかの違いと説明されるが、これではリンゴとみかんの合計の様な違うものの足し算の説明が出来ない。
ペアノの公理はリストと同型であるが、そう考えると合併はappend(リストの結合)だ。
一方の増加は足す数をカウンタとして足される数を増やすので、見ようによっては足す数の型を足される数の型に変換して合併する処理だ。
型にすると
合併の型: a -> a -> a
増加の型: a -> b -> a
そうするとリンゴとみかんの合計は
リンゴとみかん リンゴ みかん
   (0 + 3) + 5

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

リンゴとみかん
8
となる。

105:デフォルトの名無しさん
20/10/25 19:22:31.65 eXluQ9/t.net
腐らないみかん?

106:デフォルトの名無しさん
20/10/25 19:31:04.14 7UCeAjtw.net
合併の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:デフォルトの名無しさん
20/10/25 19:35:45.13 0u/0rMBT.net
>>104
もうお前がどこに向かってるのか分からんよ。
小学生はそんな小難しい理屈なんか考えずに何の問題もなくリンゴとミカンの数の足し算ができるしそれで過不足は無い。
haskellを小学生に教える理由としてはことごとく的はずれで、先に自分の中でhaskellを推すということが大前提になってしまってるだろう。目的と手段が混同されたままで何の価値もない議論になってるぞ。

108:デフォルトの名無しさん
20/10/25 19:36:32.76 qxf88E90.net
入門という意味なら(癖が強いけど)環境構築も含めて JavaScript + HTML かな
使ってるのが Windows なら C# というのも選択肢に入ってくる
Python とか Ruby は環境構築がアレだけど Anaconda とかで無事に入るのであれば Python というのも無くはないがそれなりにクセがある

109:デフォルトの名無しさん
20/10/25 19:45:12.75 wvC05HVI.net
アルゴリズム体操のようなクィックソート体操があると面白いなぁ

110:デフォルトの名無しさん
20/10/25 20:05:58.17 0u/0rMBT.net
>>109
大人のピタゴラスイッチでやっていたしめじソートやじゃがいもソートは面白かったね

111:デフォルトの名無しさん
20/10/25 22:54:29.10 jX2Ujasg.net
>>25
とりあえすtoつけろやあんぽんたん

112:デフォルトの名無しさん
20/10/26 03:56:07.45 OVBcl2zY.net
C++をやっておけば、Arduinoを始められるという利点がある。

113:デフォルトの名無しさん
20/10/26 12:36:20.39 mZWtyFpe.net
>>107
小学生にはおはじきで動きを教えれば良いんだが、教師の側は知っておいた方がいい。(だから参考書にも変な解釈が載ったりする)
言いたかったのは、理屈を教えず「そういう決まり」で教えるのでは無く、理屈を教えたり理屈を探究させたりする内容の授業が大切。
それこそが論理的思考をそれこそが論理的思考を育てる。
ただドリルを繰り返しても身に付かない。
そう言う意味でのプログラミングでも、処理過程の見え難い普通の言語(デバッガーがあれば多少マシ程度)よりHaskellの方が理屈を考え易い。

114:デフォルトの名無しさん
20/10/26 17:50:57.92 mZWtyFpe.net
>>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:デフォルトの名無しさん
20/10/26 18:27:43.61 qF0DukLx.net
好きな言語で簡単なコードを描いて答えてください
x, y は整数
x > 0
y < 4 / x
を満たす x, y の組み合わせを全て出力

116:デフォルトの名無しさん
20/10/26 18:33:47.76 eROnJLfC.net
これはprologwww

117:デフォルトの名無しさん
20/10/26 18:39:43.21 qF0DukLx.net
みんな判ってるだろうと思うけど
0 < x < 4 の 4 とか勝手な上限設定するのは反則ね

118:デフォルトの名無しさん
20/10/26 19:29:34.52 0rRTb9Rw.net
>>114
的外れだろうが推す、か。
もうただの荒しだな。

119:デフォルトの名無しさん
20/10/26 19:33:12.75 VrjIJ6iF.net
5chのクソスレで必死に啓蒙活動とか発達障害かキチガイ

120:デフォルトの名無しさん
20/10/26 21:06:55.37 AQRN76lK.net
ぶっちゃけ普通の数学でn進数を暗記して色の管理とか行列と絡めてSQLでユーザー管理でも組ませてLINEとかはこうやってみんなのくだらねーおしゃべりを中継してるんだぞ!っとかの方が実感しやすくね?
口語使えないやつらにいきなり文法パズルやらせたって睡眠導入にしかならんと思
睡眠障害もちを集めた特別教室ならどれでも良いだろうけど

121:デフォルトの名無しさん
20/10/26 21:30:14.96 artpKwJu.net
>>114
コテ付けてもらえる?

122:デフォルトの名無しさん
20/10/26 22:55:12.39 eROnJLfC.net
面と胴も。

123:デフォルトの名無しさん
20/10/27 06:23:23.96 HBnjR0ag.net
>>115
これは無理
組み合わせが無数にある

124:デフォルトの名無しさん
20/10/27 07:42:41.13 2iAdYJTU.net
>>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:デフォルトの名無しさん
20/10/27 11:52:15.04 ytFGmFUn.net
(1..n) の部分が反則ですって

126:デフォルトの名無しさん
20/10/27 11:52:50.45 ytFGmFUn.net
しかも答え間違ってるしωωω

127:デフォルトの名無しさん
20/10/27 12:24:25.66 MWzm/YXn.net
無限個あるので出力できません
おわり

128:デフォルトの名無しさん
20/10/27 14:34:06.15 n2rIsfhw.net
小学生は沈黙している。
小学生は窓の外に鳥を見つけた。
小学生は引き出しで趣味の折り紙に熱中している。
この先生が小学生の教師だったら一人と偶然相性が合う3クラスに2人くらいの生徒が過剰反応するだけで
バックグラウンドで学級崩壊してるよ。

129:デフォルトの名無しさん
20/10/27 15:34:01.28 LW0h9OgH.net
>>128
そこで体罰ですよ。

130:デフォルトの名無しさん
20/10/27 17:55:54.49 AJkS0cYF.net
>>115
「整数」なら範囲指定して欲しいぬ(´・ω・`)
自然数ならxもyも999まで回しても答え変わらんから、xは1..4、yは0..3でええやろ。
[(x,y)| x <- [1..9], y <- [0..9], y < 4 `div` x]
> [(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(3,0),(4,0)]
n = 9
[(x,y)| x <- [1..n], y <- [(-n)..n], y < 4 `div` x]
> [(1,-9),(1,-8),(1,-7),(1,-6),(1,-5),(1,-4),(1,-3),(1,-2),(1,-1),(1,0),(1,1),(1,2),(1,3),(2,-9),(2,-8),(2,-7),(2,-6),(2,-5),(2,-4),(2,-3),(2,-2),(2,-1),(2,0),(2,1),(3,-9),(3,-8),(3,-7),(3,-6),(3,-5),(3,-4),(3,-3),(3,-2),(3,-1),(3,0),(4,-9),(4,-8),(4,-7),(4,-6),(4,-5),(4,-4),(4,-3),(4,-2),(4,-1),(4,0),(5,-9),(5,-8),(5,-7),(5,-6),(5,-5),(5,-4),(5,-3),(5,-2),(5,-1),(6,-9),(6,-8),(6,-7),(6,-6),(6,-5),(6,-4),(6,-3),(6,-2),(6,-1),(7,-9),(7,-8),(7,-7),(7,-6),(7,-5),(7,-4),(7,-3),(7,-2),(7,-1),(8,-9),(8,-8),(8,-7),(8,-6),(8,-5),(8,-4),(8,-3),(8,-2),(8,-1),(9,-9),(9,-8),(9,-7),(9,-6),(9,-5),(9,-4),(9,-3),(9,-2),(9,-1)]

>>118
そう言うものだって諦めて、そっちはそっちで何が適してるか提案すれば良い。
私は真剣にHaskellが適してると思う。
今だって、リモート授業出来てるの全校の6%程度。
残り94%が出来ない理由は「環境が無い家庭が居る」から。
さらにプログラミングは本格的に始まったら、プログラミングの授業のノウハウ知らない学校の先生が授業する。
プログラミング教室の先生が毎回授業してくれる訳じゃない。
(だから算数以上に形骸化するのが目に見えてるんだが)
数学でプログラミング出来る方が、先生の負担は少ない。

131:デフォルトの名無しさん
20/10/27 18:23:13.90 BOyTz1KZ.net
結論有りきの本末転倒さと勝手な決めつけで相変わらずイカれてますねw

132:デフォルトの名無しさん
20/10/27 18:28:30.62 GDxeid4H.net
小学生にHaskell推奨は狂いすぎててわろた

133:デフォルトの名無しさん
20/10/27 18:57:01.34 /60VqSfZ.net
プログラム言語というのはあくまでもコンピューターに指示するための道具で人間が使いやすい形を目指して作られているだけ
プログラミング的思考をするのなら日本語と数式だけで十分すぎる
他の人も書いているけど テキシコー URLリンク(www.nhk.or.jp) がわかりやすい
自分の慣れている言語の方がプログラミング的思考しやすくなるのは当然だが、だからと言って他人に特定の言語を押し付ける必要性は無い
必要性があるのならその言語はどの言語よりも普及しているはず

134:デフォルトの名無しさん
20/10/27 22:22:26.41 AJkS0cYF.net
>>132
小学生にHaskell教えると言っても、アルゴリズム記述出来る最小限の文法のみ。
入出力、モナド、高階関数、リスト内包表記とか省く。(この辺、小学生の我が子に向けて作られたと言うGP0を参考に必要最小限まで省いた)
そこまで省いて小学生向けHaskell入門書書いて驚いたのは、それでもPython・Rubyと言ったLLと比べても
思った程劣ってない表現力が残っていた事。

135:デフォルトの名無しさん
20/10/27 23:02:38.88 GQchZy23.net
>>130
> さらにプログラミングは本格的に始まったら、プログラミングの授業のノウハウ知らない学校の先生が授業する。
> プログラミング教室の先生が毎回授業してくれる訳じゃない。
> (だから算数以上に形骸化するのが目に見えてるんだが)
Haskellを教えるとなったら、そっちの方が形骸化するのは明らかだろう。
正しく理解して教えられる先生、論理的思考で解ける子供はごくわずかで、
教科書をなぞった手順を説明して、手順の通りに問題を解くだけというのがよくある光景になるだろう。
> 数学でプログラミング出来る方が、先生の負担は少ない。
数学が得意な先生ばかりではないし、先生自身が理解できたとしても
それを小学生に教えるのは困難を極めるだろう。
論理的思考のために数学を使って教えるというなら、
そもそもHaskellなんて余計なオーバーヘッドをなくして直接、数学を教えればよい。
まあ算数の範囲を超える数学(的思考)をプログラミングの授業で教えること自体が
そもそも無茶な話だ。
そんなバカげたことをやらせるより、普通に算数を手厚く教えればいい。
結局のところ、Haskellがよいという理由も、Haskellでなければならない理由も、まったく理解できない。
本人の中でHaskellは良いものだ、Haskellを押したいという大前提が先にあって、
後付けで薄っぺら理由付けをしているようにしか見えない。
論理的思考、と繰り返し出てくるが、お前さんの論理を聞いていると、まったく論理的でないと思うよ。
数学とかルールの決められたパズルを解くような、そういう意味での論理的思考は得意なのかもしれないが、
正解のない、世間の常識などのあいまいな要素を含む問題について考えるのは得意ではないのではないの?と思える。
別に俺の方が正しく考えられるというつもりは毛頭ないが、お前さんの理論は
「格差が問題になる→机上でできるHaskellをやるべき」という出発点にこだわりすぎて、
そのあとに出てくるさまざまな問題をすべて目をつぶって屁理屈でかわそうとしている(本人に自覚はないだろうけど)ように見えるよ。

136:デフォルトの名無しさん
20/10/28 00:35:00.22 /ExmOk7U.net
真面目に考えて単純にコストとその後の実用性を考えつつ、基礎も、となるとラズベリーパイで組み込み制御の実習でもやればいいんじゃね?
なんか壊れたときに暫定で動かすとか出来るようになるしパソコンやスマホの基本構造も覚えられるし。
というわけで言語はPythonに一票

137:デフォルトの名無しさん
20/10/28 06:46:37.58 5iz5J/LX.net
本当のとっかかりにはHuman Resource Machineでも遊ばせておけばいいと思っている
自分で組んで上手く行かなくてデバッグしてを一通り経験できる
それで楽しさを見いだせたら、あとはそれを応用して何をしたいか次第で選択肢は多様
ハードウェアを動かしたいならそういうキットに乗っかればよし
ゲーム作りたいならUnityなりUnrealなりに乗っかればよし
Webやりたかったらそれこそ無数にあるWAFからなんか選べばよし

138:デフォルトの名無しさん
20/10/28 07:41:22.35 1DDMFxrm.net
本当のとっかかりはキーボード打ち込むところだと思う
論理的思考を育むというのが名目ならば本格的なプログラミングを学ばなくとも
エクセル関数や簡単なVBA、正規表現によるテキスト置換、JSでマクロとかでも十分に論理思考を育めると思うし実用性高いものの方が多くに将来に渡って資産となろう
義務教育なら尚更
なんか子供を舐めすぎっていうか子供ってケダモノだけど学習能力本当に高いから舐めて低レベルなことを教えるより大人と同等のことを教えた方が吸収早い
大人相手とは違って言葉は安易にしたり説明噛み砕いたりする必要はあるけどね
それをしないのは落ちこぼれの対処が面倒臭いから
足の速い子遅い子が居るように仕方のないことなのに低目のレベルで足並みを揃えさせ落ちこぼれをなるべく減らそうとする教育制度のせいで全体の質が低くなってる
全体の質を上げるにはこの問題を解決しないとどうしようもない
茶を濁すなら、PCの使い方、ファイルシステム、ファイル属性、拡張子、バイナリ、ascii、ググり方、文字コード、html、css といった
覚えておいて損は無いコンピュータやネット関係の基礎的な大雑把な仕組みを学校で教えといた方がよっぽど為になると思う

139:デフォルトの名無しさん
20/10/28 12:15:23.75 O9D/z0t0.net
小学生で「背の低い順に並んで」だけで整列できるかな?

140:デフォルトの名無しさん
20/10/28 12:27:07.59 ArgZkv9M.net
Pythonは有名なライブラリですら意味不明の名前がついているからダメ
標準化機構が必要


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1238日前に更新/102 KB
担当:undef