「x=x+1」の見え方は、プログラミング経験で180度変わる【プログラミング体験2】

Поделиться
HTML-код
  • Опубликовано: 28 июл 2024
  • 「プログラミング体験」の第2回です。「プログラミングと数学は別物」「初学者あるある"おまじないを書いておけ"」「=と==の違いでつまずくし、コロン忘れでもつまずく」など、つまずきながらプログラマーへの一歩を進めました。
    【目次】
    0:00 プログラミングと数学は別物
    2:51 初学者あるある「おまじない」
    10:07 プログラミング初学者つまずきポイント
    29:45 Lesson1-3 チャットボットを作ろう
    49:05 「==」と「=」の違い
    1:09:14 バグを起こさないための型理論
    1:13:36 学習の難しさが観測できた
    【サポーターコミュニティへの加入はこちらから!】
    yurugengo.com/support
    【親チャンネル:ゆる言語学ラジオ】
    / @yurugengo
    【実店舗プロジェクト:ゆる学徒カフェ】
    / @yurugakuto
    【おたよりフォーム】
    forms.gle/BLEZpLcdEPmoZTH4A
    ※皆様からの楽しいおたよりをお待ちしています!
    【お仕事依頼はこちら!】
    info@pedantic.jp
    【堀元見プロフィール】
    慶應義塾大学理工学部卒。専門は情報工学。WEBにコンテンツを作り散らかすことで生計を立てている。現在の主な収入源は「アカデミックに人の悪口を書くnote有料マガジン」。
    Twitter→ / kenhori2
    noteマガジン→note.com/kenhori2/m/m125fc452...
    個人RUclips→ / @kenhorimoto
    【水野太貴プロフィール】
    名古屋大学文学部卒。専門は言語学。
    某大手出版社で編集者として勤務。言語学の知識が本業に活きてるかと思いきや、そうでもない。
    Twitter→ / yuru_mizuno
    【姉妹チャンネル】
    ◯ゆる音楽学ラジオ( / @yuruongaku )
    ◯ゆる民俗学ラジオ ( / @yuruminzoku )
    ◯ゆる天文学ラジオ ( / @yurutenmon )
    ◯ゆる書道学ラジオ ( / @yurushodo )
    ◯ゆる生態学ラジオ ( / @yuruseitai )
    ◯ゆる哲学ラジオ ( / @yurutetsugaku )
    #プログラミング体験 #ゆるコンピュータ科学ラジオ_プログラミング体験

Комментарии • 395

  • @yurucom
    @yurucom  6 месяцев назад +13

    【サポーターコミュニティへの加入はこちらから!】
    yurugengo.com/support
    【おたよりフォーム】
    forms.gle/BLEZpLcdEPmoZTH4A
    ※皆様からの楽しいおたよりをお待ちしています!

  • @suneko_nekotto
    @suneko_nekotto 6 месяцев назад +295

    小中学生向けのプログラミング教材作っている身としては、水野さんが賢すぎるという感想。
    マンツーマン授業であるとはいえ、いきなりPythonで、最低限の演習量で、過多な新規学習事項を理解できるのすごい。
    もしかすると水野さんは小中学生よりすごく頭がいいかもしれない。

    • @Aros417
      @Aros417 6 месяцев назад +35

      もしかして1億語って集めるのは大変かもしれないし、もしかすると水野さんは小中学生よりすごく頭がいいかもしれない。

    • @user-mv3sm3qg5q
      @user-mv3sm3qg5q 6 месяцев назад +44

      チンパンジー>水野さん>小・中学生ということか…

    • @user-ec5lh5mt6j
      @user-ec5lh5mt6j 5 месяцев назад +15

      水野さんは「どこが」分からないかを特定するのが凄く早い気がします。
      小学生とかだとこれが難しそう

    • @taki_huuko
      @taki_huuko 2 месяца назад +3

      @@user-ec5lh5mt6j わかります。わからないを言語化するのがうまいですよね。なんかわかんないけどできないみたいな感じじゃないのすごい

  • @J_CHICKEN137
    @J_CHICKEN137 6 месяцев назад +104

    「プログラミング学習実況」という新たなコンテンツを生み出した記念すべき動画

  • @Fnak202
    @Fnak202 6 месяцев назад +69

    確かに、今の学生たちに対して「いきなり便利なツールを使って、内部動作を知らなくていいのかな?」と思うときもあるのですが、
    よくよく思い出してみると、私も先輩から「今の学生はいいよな。俺らの頃は Print 関数を作るところからだったんだぜ」と言われていました。
    おそらくその先輩たちは、若いときに「今の学生はいいよな。俺らの頃は電気回路を組むところからだったんだぜ」などと言われていたのだと思います。

    • @user-zc3zk7nv5l
      @user-zc3zk7nv5l 7 дней назад +1

      そのうち、AIによる自然言語プログラミングが当たり前になって「え?昔は『ぷろぐらみんぐ言語』なんてのを書いてたんですか?」とか言われるんだろうな〜w

  • @crab_kanikani
    @crab_kanikani 6 месяцев назад +47

    めちゃめちゃ面白いです!水野さんのように「いま何がわからないのか」「目の前のものをどう解釈したのか」「何を試したか」を自分で説明できる学習者は大変貴重なサンプルだと思います……!

  • @ba-el2wl
    @ba-el2wl 6 месяцев назад +84

    学ぶ側が躓くのには必ず理由があって、教える側がそれに気づいて適切に導いてあげるのが良い教育、ということを再認識させてくれる動画

  • @user-tt9of2kk7k
    @user-tt9of2kk7k 6 месяцев назад +91

    C言語の全行末にセミコロンを打つのは不満に思うのに自然言語の全文末に句点打つのは違和感ないの不思議

    • @user-ie5nq4he8z
      @user-ie5nq4he8z 6 месяцев назад +3

      セミコロンが無いと改行マークの後も文は続くっていう仕様。パーザを簡略化するための苦肉の策っていう

    • @FinoMasa
      @FinoMasa 6 месяцев назад +6

      代わりに改行がその役割を果たしてますからね。
      見えるか見えないかの違いかと。

  • @user-ei8cl1wl3r
    @user-ei8cl1wl3r 6 месяцев назад +149

    分からない事への耐性が高い水野さんと、教えるのを待てる堀元さんのコンビがプログラミング初心者の感覚を明らかにしてくのがとてもいいっすね
    妻が子供に勉強教えてるとき、子どもは間違えたらすぐやる気無くすし、妻はすぐ答え教えたがるしで大変なんすよ…

    • @abeechannel6805
      @abeechannel6805 6 месяцев назад +3

      わかるわー

    • @kamimizu5667
      @kamimizu5667 6 месяцев назад +7

      教える方にも、教えられる方にも素養が必要ですね

    • @user-vb7wb5vx7j
      @user-vb7wb5vx7j Месяц назад +1

      おばあちゃんと姪が同じようにすぐ訂正したがったりすぐ諦めてやめようとしたりするのを見て既視感ありすぎますね

  • @Mtrong-Sgang-Mra
    @Mtrong-Sgang-Mra 6 месяцев назад +26

    水野さんが優秀な生徒なのに初心者しぐさを連発するの本当に好き。
    堀元さんも水野さんが正解にたどりつくまで辛抱強く待つあたり教師として優秀。
    初心者にプログラミングを教えることをエンタメ化できるお二人はやっぱり持ってらっしゃいますわ。

  • @user-rb7jd1yz2j
    @user-rb7jd1yz2j 6 месяцев назад +36

    プログラミング実況はもっと流行るべき

  • @nandemotsukuruyo
    @nandemotsukuruyo 6 месяцев назад +49

    本人は「何がわからないのかわからない」状態なのに
    過程観察してる側は不足知識を的確に把握できるのは強い。
    他の勉強も同じように出来たら学習効率凄いだろうな。

    • @tika0314aoj
      @tika0314aoj 6 месяцев назад +18

      それは個別指導に求められてることだね
      無限のリソースがあるなら理想的なやーつ

    • @user-ng1zu4st3l
      @user-ng1zu4st3l 5 месяцев назад

      このコメント、めちゃくちゃ分かる

  • @aderia_karimera2
    @aderia_karimera2 6 месяцев назад +36

    堀元さんの忍耐強さ……というか試行錯誤の間十分に待ってくれるのが素晴らしいですね

  • @ppe3994
    @ppe3994 6 месяцев назад +45

    一度変数に入れさせたほうが、構造を理解しやすいと思う
    i = random.randint(0,3)
    txt = greetings[i]
    print(txt)
    追記:最後に補足されてた

    • @user-ie5nq4he8z
      @user-ie5nq4he8z 6 месяцев назад +1

      エクセル経験値がやりがちな多重関数 LETが導入されてからは変わったかな

    • @kamodomon0913
      @kamodomon0913 6 месяцев назад +3

      その昔(C言語の時代)、メモリを節約するために1行で書くという文化がありました。
      そのマインドで書くと下記のようになりますよね。
      print(greetings[random.randint(0,3)])
      パッと見で何をしてるのか分からないw
      分けておくとデバッグもしやすくなりますね
      i = random.randint(0,3)
      print(i) ←デバック表示(random.randint(0,3)が何をしてるのか確認できる)
      txt = greetings[i]
      print(txt)
      尚、デバッグ表示を下記のように間違えてしまい、混乱する人がいるのも想像できます😅(同じようなことをしたことがあるので)
      i = random.randint(0,3)
      print(random.randint(0,3)) ←デバック表示
      txt = greetings[i]
      print(txt)

    • @user-ie5nq4he8z
      @user-ie5nq4he8z 6 месяцев назад +1

      from random import randint
      print(greetings[randint(0,3)])

  • @yuki26s
    @yuki26s 6 месяцев назад +33

    54:54 ここでエラーが==を怒ってくれなかったのは1つ目の ” が全角なので2つ目の " が開きになって閉じてなくてプログラムの最後まで文字列扱いになって終わってるせいでシンタックスの解析もできずにパースエラーになってるせいですね.代入文のミスについては,Pythonはif文の中で代入文を書けないのでランタイムに関わらずエラーが出ます.

  • @US-wb8yp
    @US-wb8yp 6 месяцев назад +56

    論理好きな水野さんにはぜひこのシリーズ続けてもらって何か簡単だけど巧妙なアルゴリズムの実装まで体験してほしい。

    • @user-uy4br8kv4b
      @user-uy4br8kv4b 6 месяцев назад +3

      floyd-warshall algorithm とか?

  • @yuragi1146
    @yuragi1146 6 месяцев назад +25

    この回が終わった後「こんなめんどくさいことしないでChatGPTに書かせればええやん」と思う日常に戻った水野さんが、「プロンプトの書き方ってプログラミングに似てね?」って気づく日が来ることを期待しております

  • @user-vq9kx8kp5r
    @user-vq9kx8kp5r 6 месяцев назад +33

    このシリーズ無限にやって欲しいな…

    • @user-dz4hv6mj8e
      @user-dz4hv6mj8e 3 месяца назад +2

      水野さんがプログラム体験する関数を用意して一生ループさせよう

  • @user-np4dd6fg1p
    @user-np4dd6fg1p 6 месяцев назад +14

    よく理解している人に隣についてもらいながら勉強できるの、マジで羨ましいな
    初学のうちは全てが未知だから、分からないことに突き当たったときにスルーしていいものなのか、できる限りまで理解に努めるべきなのか悩むけど、こうやって助言をもらいながら進められるとすごく心強い気がする

  • @tayashoki1831
    @tayashoki1831 6 месяцев назад +11

    確かにゲーム実況をみているようでした
    面白いです
    そして普通に水野さん理解早い

  • @souther1721
    @souther1721 6 месяцев назад +12

    水野さんの「自分で分りたい」の姿勢、尊敬します。

  • @user-wd6bu3nk8i
    @user-wd6bu3nk8i 6 месяцев назад +10

    水野さん、ちゃんとリストの範囲を理解して例外を出さないようにしててえらい!

  • @user-yf6po5nv4d
    @user-yf6po5nv4d 6 месяцев назад +16

    水野さんまじ賢いな〜理解力がまず素晴らしいし、学習意欲も高いしエンターテイナーとして学習者に徹してるのもすごい

  • @tateren
    @tateren 6 месяцев назад +21

    if data = "こんにちは":
    ^^^^^^^^^^^^^^^^^^^^^^^^
    SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
    Python はやさしいな…

  • @k_madoka
    @k_madoka 6 месяцев назад +6

    水野さんの頭の良さが良くわかる回でした

  • @user-uh5xc8xw6q
    @user-uh5xc8xw6q 6 месяцев назад +9

    自分は23年にIT会社に入社した(元)新卒なのですが、前回に引き続いてダイPONとけんちゃんの両視点から楽しむことができて非常に旨味のある動画でした。
    今年度は無事に倒産することなく後輩が入ってくるので、ダイPONの気持ちに寄り添えるような、りっぱなけんちゃんになろうと志すことができ感謝しています。

  • @kyoh86
    @kyoh86 6 месяцев назад +19

    水野さんがかなりボトムアップ型の理解を好む一方、プログルさんが優しさでトップダウンの解説をするもんだから、相性が悪い笑

  • @user-wy9si4he3x
    @user-wy9si4he3x 6 месяцев назад +6

    プログラミング体験シリーズ、面白すぎる。
    というか、教育でとても有用な気がする。どうしても勉強していく上で、自分が初学者の時につまずいたところって、忘れてしまう。
    けれど、この動画を見れば、「あぁ、ここって確かに難しかった~」と振り返れるから、とても貴重なサンプルな気がしている。

  • @user-zr4fr4cs4t
    @user-zr4fr4cs4t 6 месяцев назад +11

    非常に楽しめましたが、本当の初学者には何のこっちゃという感じでしょうか?ある程度プログラミングできるようになった時に見返して、笑いながら自分の成長を確認して満足できる、ある意味神回でした。

  • @wtb401
    @wtb401 6 месяцев назад +3

    ゲーム実況と違って、水野さんがうまく進めないところが、全然もやもやせず、笑って見れたのが不思議でした。
    また、堀元さんが、ヒントを出さないように徹底しているのも素晴らしかったです。

  • @user-ik9kk9ov8j
    @user-ik9kk9ov8j 6 месяцев назад +8

    今回で結構理解進んでそうだし水野さん頭いいから後1回やれば結構サクサク進めるようになりそう

  • @cosmo_is_cosmo
    @cosmo_is_cosmo 6 месяцев назад +3

    VBA書けるようなったところでPython始めたらあまりに何書いてるか分からなすぎて1回諦めたんですけど、水野さん見てたら頑張ろうって思えるようになりました。頑張ります。

  • @noel5207
    @noel5207 6 месяцев назад +8

    水野プログラマーへの道企画一生続けて欲しい

  • @user-pc1vb1on1r
    @user-pc1vb1on1r 6 месяцев назад +5

    こんな学習が理想なんだろうね…私は良い学習者になれる気がしねえ
    学習の過程がエンタメになるの素晴らしいです。2人がすげえんだこれ

  • @junji9782
    @junji9782 6 месяцев назад +3

    初学者の理解の構造が分かる良い動画ですね。
    会社等で教えたりする事もありますが、概念を理解してもらうのは難易度高いですね。せめてステップ実行出来る環境で1行ずつデバッグ出来るとハードルが下がる気がしますね。

  • @aaaw1105
    @aaaw1105 6 месяцев назад +4

    堀元さんが教えるのめちゃくちゃ待てるのが素晴らしいなぁ
    自分だったらもっと早い段階で教えちゃいそうだけど、それは学習者のためにならないんだろうなと

  • @bono6070
    @bono6070 6 месяцев назад +12

    水野さんって、ホント頭のいい間違え方するなあっと思いますね。

  • @kamar2871
    @kamar2871 6 месяцев назад +18

    いや、むしろ「みんなのコード」さんにとって有用な動画

  • @shachah_svaahaa
    @shachah_svaahaa 6 месяцев назад +3

    めっちゃ面白いのでぜひシリーズ化して今後も続けてほしいです!
    C言語から始めた人間としてはPythonのイテレータとか内包表記が便利すぎて衝撃だったんですが、初学者には逆に直感的に使えるからわかりやすいんですかね。
    いつになるかわかりませんが、水野さんに感想を教えてほしいです。

  • @user-ib6cc9ok8q
    @user-ib6cc9ok8q 6 месяцев назад

    このシリーズは、秀逸! ほんとおもしろい🤣

  • @iyasakaaaaa_gyozaumai
    @iyasakaaaaa_gyozaumai 6 месяцев назад +21

    わからない状態が続くのが苦痛で癇癪を起こすタイプなので、わからない状態で色々試そうとする「わからない耐性」がたかい水野さんの姿勢、本当に素晴らしいし羨ましい

  • @user-xt5vp7lb6r
    @user-xt5vp7lb6r 6 месяцев назад +13

    見れば見るほど「あー!あの概念導入してなかったから躓いてるのか!」が大量に出てきて面白い

  • @SYALIREA
    @SYALIREA 6 месяцев назад +6

    隣で教えてくれる人が居るのがどんなにありがたいか、学習を進めるかを見せつけられた。
    三十年以上前にN88basic、四半世紀前のネット環境のないころにC言語で「何をどうしたらプログラムになるのかが判らなかった」挫折者からすれば
    ただただ羨ましい限り。

  • @sattoman
    @sattoman 6 месяцев назад +4

    テキストはトップダウン的に書かれてるのに対して、水野さんはボトムアップ的に理解を進めたい人だから、うまく噛み合わない部分がある気がしますね

  • @matanki153cm
    @matanki153cm 6 месяцев назад +4

    水野さんが躓いてた部分、中学で突然変数にxとかyとかaとかが出てきて、y=axとかやりだしたとたんに数字じゃないから計算できない!!ってなるのにめっちゃ似てるなぁと思いました。
    また、入れ子の内側から順次解決されていくっていう構造も、割と慣れるまで悩ましい部分なのかもしれないですね~。いずれにせよ、プログラミングにガチで向き合おうとする水野さんのやる気、エモい!
    記号の全角半角見づらい問題は本当に根深いもので、等幅フォントとか全角スペースを可視化するフォントとか、1lIO0などが区別できるフォントとか、そういうのを求めて彷徨うのもあるあるだといっていいかしら。。。

  • @multifeb13
    @multifeb13 6 месяцев назад +16

    水野さんが悪態をついてる所は全て通りましたし、何なら20年以上経っても同じような悪態を日常的についてるプログラマはこちらです。

  • @ayame_mb
    @ayame_mb 3 месяца назад +1

    私は若手プログラマなのですが、先日EC2のドキュメント見たらわけわからなくて泣きそうになったので個人的にタイムリーでした!
    水野さんの頑張りを見ていると、お仕事頑張るための元気をもらえて嬉しいです。。

  • @nyako2926
    @nyako2926 6 месяцев назад +1

    毎度水野さんの理解力が高くて凄いと思ってしまう
    でも途中分からなさ過ぎてちょっと不機嫌になってる水野さんも良い

  • @kanametatsuya
    @kanametatsuya 6 месяцев назад +7

    共テ終わってから見るプログラミングに翻弄される水野さんは最高だな

  • @zip7362
    @zip7362 6 месяцев назад +5

    この教材は最初から打ち込んでほしい答えのコードが書いてあるけど
    それを使わずに自分で打ち込むことにこだわっているから手こずっている面もある
    プログラミングの本質は文字を打ち込むことや構文を覚えることではないので
    コピペであろうと「試しに動かしてみた」回数が多ければ多いほど理解が深まる

  • @Ethereal-Wind
    @Ethereal-Wind 6 месяцев назад +2

    堀元さん側の立場で見てますが、ひたすら面白い!(funnyじゃなくてinteresting)

  • @mui_nyan
    @mui_nyan 6 месяцев назад +12

    1:07:55 Pythonの整数型は無限桁扱えるので9999999999999999999999+3とかでも普通に動いてしまうのである

  • @highjumptaka
    @highjumptaka 6 месяцев назад

    いつもpodcastで聞いていますが、今シリーズはRUclipsで見るしかないですね。
    Pythonの挙動は初学者向きではないかもなーと思いながら見ています。

  • @t4bi
    @t4bi 6 месяцев назад

    水野さんのようにちゃんと勉強したい人には最初に変数、型、関数の概念を知ってもらったほうが良さそうだなと思いながら見てました

  • @akinaka7543
    @akinaka7543 6 месяцев назад +7

    特にプログラム(人造?)言語は、学習者にとっては「何が塊なのかを見分けれるようになる」という前段階が存在するんだろうなあ

  • @kake2525
    @kake2525 6 месяцев назад +11

    45:55 全角ダブルクォーテーションでエラーになっていた時、エラーメッセージは「^」しか表示されていませんでした。
    おそらく、エラーメッセージは2行あり、プログル情報に出てくるのは1行だけだったのではと思われます。
    エラーメッセージ1行目に、使用できない文字があることと、エラーがある1行が書かれており、
    エラーメッセージ2行目に、どこでエラーが発生したかを、スペースと「^」で示していたのでしょう。

  • @user-bi1yi6wv9u
    @user-bi1yi6wv9u 6 месяцев назад +8

    他の方も仰っているがなんだかゲーム実況のようでとても面白かった
    …別にやる夫とやらない夫みたいだなとかは思ってないです

  • @RedPaprika
    @RedPaprika 6 месяцев назад +8

    動画を30分見たところで、これは本当にx=x+1にたどり着けるのか?と不安になったが、動画が1時間19分あって安心した

  • @user-fx5cv4ns9h
    @user-fx5cv4ns9h 6 месяцев назад +5

    ついでにサラッと読む関数の名前、ちゃんとした英語の発音にしてて面白かったです。

    • @gamma9472
      @gamma9472 6 месяцев назад +7

      でもプログラミング的には、randintを「ランド・イント」と読める人のほうが「わかってる」感があると思う。
      逆に、randintを見て直感的にrandom integerのことだと気づけないと結構しんどい。「赤リンゴ」という単語を赤ともリンゴとも無関係のa-ka-ri-n-goとして丸暗記しているような状態なので。

  • @user-zd2sq9bj9p
    @user-zd2sq9bj9p 6 месяцев назад +7

    「エラーメッセージを読めって言われるけどエラーメッセージ読んでもわからん」はその通りで,こう言われ続けた結果最近はやさしくなってきました.それでも,未だにだいたいどの言語のコミュニティでも「この言語のエラーメッセージ不親切なんだけど!!」って(半分難癖で)言ってる人がいるので,エラーメッセージ意味ワカランは大丈夫です.ただエラーメッセージは読みましょう

  • @hamburger-on-SG
    @hamburger-on-SG 6 месяцев назад +3

    まったくの未経験から、逐一自分なりに理解しながらでこれくらいの時間でここまで進めるのは (プログル、堀元さんの補助があったとはいえ) 普通に早い方だと思う。
    サンプルをコピペしてたらもっと早く解けるだろうけど、それじゃ自力でプログラム書けるようにならない。

  • @equi_nokusu
    @equi_nokusu 6 месяцев назад +9

    水野さんに写経(プログラマ的意味で)を体験してほしいなあ

  • @limm3569
    @limm3569 6 месяцев назад +11

    水野さんの間違え方面白いなぁ。PROGRAMMERS MISTAE AWARD優勝

  • @ihira1602
    @ihira1602 6 месяцев назад +1

    水野さんが間違うたびに全部消して書き直すのえらい。

  • @applejack0094
    @applejack0094 6 месяцев назад

    マジで元気をもらえる動画。

  • @hage_jyoutou
    @hage_jyoutou 6 месяцев назад

    プログラム始めたばっかりの時のこと思い出してほっこりした・・・
    プログラムって課題があってその課題解決するためにはどうすればいいかゴールまでの道のりを考えていく
    それって普段の生活にも当てはめられるから論理的思考を鍛えるには非常にいいとおもう

  • @user-pv8rp8um8k
    @user-pv8rp8um8k 6 месяцев назад +1

    水野さん見てて、資格取るために専門学校の講座をとった時のことを思い出しました。先生が「ここはそこまで気にしない方がいいです。試験にも出ないので。」と言ってくれたから割り切って考えないで済むけど1人だと結構気にしちゃっただろうな、と当時思ってました。

  • @mos399
    @mos399 6 месяцев назад +5

    55:35 それが嫌な人は『変数==定数』形式で書かず『定数==変数』形式で書きますね。例えば
    'こんにちは' == input()
    こう書くと代入演算子で誤記するとシンタックスエラー出ます。定数には代入できないからです。バッドノウハウですが。

  • @ePhSh
    @ePhSh 6 месяцев назад +1

    堀元さんがイベントですねって補足してくれるまで送信時プログラムがなんなのか分からなかったので適宜専門用語も使ってほしい

  • @oshiba_tetsuzo
    @oshiba_tetsuzo 6 месяцев назад +7

    工業高校までですけどプログラミングの授業をすべてCでやってきたので逆にセミコロンが無いと不安になりますねぇ

  • @shokaturyou
    @shokaturyou 6 месяцев назад +12

    1:00:20 言ってることが分かる時点でかなり頑張ってる
    このままプログラマーになっちゃいましょう!
    (言語学の話とか聞いてると、結構プログラマーチックだなぁとか思うので共通点あるのかも)

    • @user-uf5qg4ik5j
      @user-uf5qg4ik5j 6 месяцев назад

      コンパイラの気持ちよを、理解するのに、言語学が必要なのかも。

  • @user-ip7kp3hp5z
    @user-ip7kp3hp5z 6 месяцев назад +2

    イコールで代入はスッと理解しにくいポイントの一つですよね
    車のアクセルブレーキが同じ操作ですぐ隣にあるとかもそうだけど、ミスや誤解が少なくなるアイデアはあっても
    慣れが定着しきった後なので簡単に変えられないものって世の中にたくさんあるんでしょうね

  • @eharan
    @eharan 6 месяцев назад +8

    等値演算子は昔は=で書いてたけど、C以降は==になったイメージ。いまでもVBAとかは=のままですな

  • @akirasanto7926
    @akirasanto7926 6 месяцев назад +4

    水野さん、中級者以上だと躓かないところで躓く、理解することへの熱意が高い、絶対に投げ出さない
    プログラミング初学者としてはあまりに適切すぎる

  • @user-iv1do8ii4n
    @user-iv1do8ii4n 6 месяцев назад

    異なるジャンルを覚える過程って、こんなに面白いんだというのがわかりました。

  • @Justy-heart
    @Justy-heart 6 месяцев назад +1

    print(random)からやり始めるの頭良すぎてプログラマに向いてる
    根っこから理解できるとマジで何でもできるようになる

  • @ayamarinaminori
    @ayamarinaminori 6 месяцев назад

    乱数のところは式の評価順を説明したらもっと分かりやすいかもしれないですね。

  • @user-hl2ix4xz5r
    @user-hl2ix4xz5r 6 месяцев назад +10

    全くの初心者がこれを使って勉強するのはかなり難しそうだなと見てて思うな
    もっと良い教材がありそう…

    • @user-ie5nq4he8z
      @user-ie5nq4he8z 6 месяцев назад +2

      綺麗な堀元さんがアドバイスしてくれる教材なら使いたい

    • @kuraneko_15
      @kuraneko_15 6 месяцев назад +9

      ⁠​⁠@@user-ie5nq4he8z
      綺麗な堀元「まずプリンがあって〜その中に引数としてカラメルを入れるんですけど〜」

  • @kicyoh3390
    @kicyoh3390 6 месяцев назад +1

    うちも水野さんみたいに、1つ1つの役割と構造が分からないと進めないタイプだから、「とりあえず入れる」が出来ない…めっちゃ気持ち分かる。

  • @angiodianxin
    @angiodianxin 6 месяцев назад +1

    副作用に躓いてる感じが強い。水野さんに関数型プログラミング教えたら意外と伸びそう

  • @mudaso-heavy-user
    @mudaso-heavy-user 6 месяцев назад +15

    楽しみに待ってました

  • @user-nn8gk1sh5k
    @user-nn8gk1sh5k 2 месяца назад

    ほんとにおもしろいなぁ。ありがたい

  • @user-xp3je6ih8d
    @user-xp3je6ih8d 6 месяцев назад

    プログラミング学習実況楽しい!

  • @sgy4746
    @sgy4746 6 месяцев назад +6

    1:08:01
    ここ、実際に2^32以上の数を送信してみて狼狽する堀元さんを見たかったw
    (pythonは基本的に桁溢れしないので)

  • @kuma056
    @kuma056 6 месяцев назад +20

    x=x+1
    これを受け入れられるかどうかがプログラミング適性があるかどうかの試金石になる、とはよく言われてますね。
    言語によっては、 等しいか?のときに = を使います。
    Pascalでは 比較には=, 代入は := です。なんでC言語やそのフォロアーがこれを採用しなかったのか、それが残念です。
    BASIC では 代入も= ですが、正確には「LET 変数 = 値」という命令文の省略で、この文脈と解釈できるときに限り代入として扱われます。
    Pythonでも、正確には = は「代入命令」であって「演算子」ではないのでifの中には書けません。
    =が代入なことを利用して、if ( 5 == a ) 〜 等と代入できないものを左辺に置くことで = と書き間違えないようにしようというテクニックもあります。
    if ( (data=atoi(input())) == 3 ) 〜 といった形で 変数に代入しつつ、その代入した値で判定 といったこともできます(できてしまいます)
    これは、while等のループでよく使われていました。
    57:00 わしの若いころは、実行にかかるクロックを数えて1クロックでも短くなるように苦労したもんじゃ。
    今は ぱいぷらいん だの きゃっしゅ だのおかげでそんなことしなくていいそうじゃのぉ。数クロックの違いは誤差だとか。便利になったもんじゃ。

    • @user-ym9xm9gq3h
      @user-ym9xm9gq3h 6 месяцев назад +3

      b = a == 1 も受け入れられるかどうか。これ、aが1か否かでbにTrueかFalseが代入されるという真っ当な代入文なんですが、初めて見るとナンノコッチャになりますよね。

    • @kuma056
      @kuma056 6 месяцев назад

      @@user-ym9xm9gq3hb = a =1 いうのもあって
      Cだと a == b == 1に(a=1 で aに1を代入。 b = (a=1) が「代入計算」の結果 b = 1 になって bに1を代入)
      BASICだと a:変化無し、 b: 0 または -1 (a=1の比較演算で aが1か否かでbに-1(True)か0(False)が代入される)
      Pythonだと、 aとbに1代入する文(= は代入文であることと、変数と変数の区切りであることを示す記号扱い)
      複数言語を同時に使ってると、混乱します。

    • @atbjyk633
      @atbjyk633 14 дней назад +1

      ​@@user-ym9xm9gq3h
      cでx=(y=z)みたいなのは紛らわしいので、プロジェクトによってはコードスタイルのルールで禁止されてたりしますね。

  • @tenkawakiirobou
    @tenkawakiirobou 6 месяцев назад +5

    Stormworksってゲーム内で書くLua、文字制限きつすぎて(1ユニット約4000文字、ユニットを経由すると1tick遅延する)、みんな自然に糖衣構文みたいなことするのでリバースエンジニアリングしたいとき可読性が終わる

  • @sweacco
    @sweacco 6 месяцев назад

    ナイスアブダクション!

  • @NT-zf8dx
    @NT-zf8dx 6 месяцев назад +4

    BBCで専門家を呼んだはずが、間違えて同姓同名の就職面接に来た人をスタジオに呼んで質問して、その人が凄い顔してるNGシーンを思い出した。所属をちゃんと指定しないと同じ名前で全く違う動きになるんだろうなあ

  • @fridericusgauss
    @fridericusgauss 6 месяцев назад +1

    deep learningをフルスクラッチで書くまでやってください

  • @muu0418
    @muu0418 6 месяцев назад

    「A=B」っていうプログラミング?のゲームが面白いのでやってみて欲しいです。堀本さんだとスラスラ解けるのかが知りたい…

  • @gamma9472
    @gamma9472 6 месяцев назад +5

    プログラミング以前の問題として、水野さんがカンマとピリオドという記号の名前をちゃんと覚えていないことが混乱に拍車をかけていると思う。
    ゆる言語学ラジオで「恣意性がある」と「ない」を間違い続けたときの混乱が思い出される

  • @KiyokazuOami
    @KiyokazuOami 6 месяцев назад +1

    水野さんへのアドバイスするなら記号には意味があるってことですね。
    カンマ(,)とピリオド(.) はそれぞれ別の意味があるので間違えると動かない。同様に角括弧と丸括弧も違う。
    動画の中ではヒントにあったシングルクオーテーション(')とダブルクオーテーション(")をずっと間違えていたのが気になりました。
    代入演算子はプログラミング言語によって違うのでpythonは分かりにくかったかも。PASCALでは代入が(:=)で比較が(=)なので、こちらの方が理解しやすい気がします。
    ただ比較よりも代入の方が沢山使うのでCでは代入が(=)で比較が(==)になったみたいですね。
    BASICのように比較も代入も(=)を使ったりする言語もあります。
    LET A=10
    のように書いて代入文であること明示していたのですが、LETは省略可能だったので
    A=10
    と書けました。
    代入か比較かわかりにくい場面もあります。
    A=B=C
    と書くとBとCを比較した結果をAに代入するみたいな意味になります。
    それであればCやpythonのように
    A=B==C
    と書いた方が意味は分かりやすいでしょう。

  • @user-xq8zy2ic8c
    @user-xq8zy2ic8c 6 месяцев назад

    プログラム言語習得に苦労した昔の自分と重ね合わせて、あ〜これ分かる〜って共感できるから見てて楽しい

  • @lazuline
    @lazuline 6 месяцев назад +1

    水野さんの挙動を理解している堀元さんなら水野さんが一発で全てを理解するメタファーを用いた説明ができるはずなのに、ちゃんと泳がせてニコニコしているのが偉い

  • @Gadona143
    @Gadona143 6 месяцев назад +2

    1:50:20 keisan = data + "3" なら53になったのかな?(Pythonはこの動画で学んでます)
    strはstringだよって教えれば水野さんなら一発で理解しそう

  • @valery6968
    @valery6968 5 месяцев назад

    水野さんの躓きは私も経験してるし教えたことある人も躓いてた。進むのが得意な人は失敗を気にしない傾向があるから失敗を記憶できていない可能性が高い。
    水野さんが勘違いした全ての認知はプログラミングで躓く人がほとんど躓く普通のことだと思います。

  • @SpringUlala
    @SpringUlala 3 месяца назад

    苦手な分野を水野さん本人の腕力でねじ伏せてるの凄すぎる...

  • @gyakubarikid
    @gyakubarikid 6 месяцев назад +3

    水野さん、大学物理なら、厳密に積み上げていくから理解できると思う

    • @user-jp4ej8mp6u
      @user-jp4ej8mp6u 6 месяцев назад +6

      中高の教え方より大学の方がわかりやすいタイプ一定数いそうですよね。中高の様にどこから来たか不明な公式を羅列されるより、大学の様に、観測結果から作られる数理モデルはこれです。この数理モデルから他の観測事実も説明できます。みたいな感じで進むの好き。

  • @vot-6800
    @vot-6800 6 месяцев назад +379

    ソースコードに書かれるものをオマジナイでごまかすのが大嫌いなので、例えば C言語のincludeの説明であれば、初手からプリプロセッサの動きやコンパイラが内部的に行っているコンパイル手順などの説明から入ります。私はこのメソッドで百人単位の後輩に嫌われています。

    • @jimscheurtz8224
      @jimscheurtz8224 6 месяцев назад +16

      恐縮ですが「プリ」プロセッサですか?私もよくプリプロセッサをプロプロセッサと間違えて書きます😂

    • @vot-6800
      @vot-6800 6 месяцев назад

      @@jimscheurtz8224 typoです。すみません、なおしちゃいます

    • @立風tachikaz
      @立風tachikaz 6 месяцев назад +45

      その説明を聞きたいタイプの人間です。人によりきりなのでアレなんですが、個人的には「おまじないだからつべこべ言わずとりあえず覚えとけ!!」みたいのが許せない人間なのでC言語を学ぶときに説明欲しかったです。

    • @user-ed3rx7qn6h
      @user-ed3rx7qn6h 6 месяцев назад +27

      やっぱり、苦Cしか勝たん

    • @junji9782
      @junji9782 6 месяцев назад +47

      何も説明せずに「とりあえず書け」は私も好きではないと言うか悪手な気がしますね。
      せめて「この1行目が走ると有る関数の辞書を取り出して来ます」程度の説明が有ると多くの人が幸せになりそう。

  • @h.n.7422
    @h.n.7422 6 месяцев назад +6

    昔の仕事で業務効率化を目的に作ってたExcelマクロの変数名に「unchi」「だの「geri」だの「ramenjirou」だの適当な命名しまくって遊んでたの思い出した
    そのものはちゃんと動いていました

  • @maxi4939
    @maxi4939 6 месяцев назад +1

    ifの条件式に代入が使えるの、代入にも返り値があるせいですね
    (初めは意味が分からなかった)