21 Weird Ways to Say Hello, World! 1,000,000 Times [English Subtitles]

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ธ.ค. 2024

ความคิดเห็น • 121

  • @karikarikarisan
    @karikarikarisan 8 หลายเดือนก่อน +695

    言語に縛りがないなら「おばあちゃん」に「LINE」というエディタを用いて「日本語」という言語で「Hello Worldと100万回送信して」と命令すれば時間はかかるけど100万回出力してくれるよ。

    • @kuniko925
      @kuniko925 8 หลายเดือนก่อน

      pyautoguiでpythonのプログラムからできるお^^

    • @T-kun05
      @T-kun05 8 หลายเดือนก่อน +194

      送り終える前に旅立つて

    • @Jack-ci3je
      @Jack-ci3je 8 หลายเดือนก่อน +164

      コンピューターおばあちゃん(物理)

    • @眼-d6j
      @眼-d6j 8 หลายเดือนก่อน +68

      鬼畜外道

    • @richard-gj8fs
      @richard-gj8fs 8 หลายเดือนก่อน +26

      1秒1メッセージでも2週間弱かかるのか…(困惑)

  • @unknown00kuv
    @unknown00kuv 8 หลายเดือนก่อน +85

    最後の方法を見ると「やっぱりC言語って凄いなー」って思う(小並感

  • @lyz_2151
    @lyz_2151 7 หลายเดือนก่อน +59

    メモリ直接弄ってる辺りはC言語らしさ全開で笑った

  • @niconico25253
    @niconico25253 3 หลายเดือนก่อน +17

    覚えておくのはいいけど書くのは絶対に辞めてほしいコードが盛りだくさんで面白かった

  • @新野ユキ
    @新野ユキ 8 หลายเดือนก่อน +44

    当時参加してました!面白かったのです!

  • @seokgukim
    @seokgukim 8 หลายเดือนก่อน +27

    おもろいネタですね。Pythonの機能しか考えてませんでした。

  • @可愛いネギ
    @可愛いネギ 7 หลายเดือนก่อน +21

    最初にことごとく別解を潰してくの好き

  • @sabiaka_13
    @sabiaka_13 7 หลายเดือนก่อน +46

    Unity二キシンプルなのにかしこすぎて感動した

  • @tannnu_eva
    @tannnu_eva 8 หลายเดือนก่อน +43

    プログラミングよく知らないけど、たったこれだけでこんなに色んな解法が出てくるのおもろいな

  • @名字名前-s8t
    @名字名前-s8t 7 หลายเดือนก่อน +12

    毎回の「へへ、そんなの簡単だよ」がくせになってだんだん可愛く感じてきた

  • @ym-gd2mx
    @ym-gd2mx 4 หลายเดือนก่อน +10

    最後の方法末尾再帰感があって結構すき

  • @electro6290jp
    @electro6290jp 6 หลายเดือนก่อน +14

    コンストラクタ解法ほんとすき

  • @hbenpitsu73
    @hbenpitsu73 8 หลายเดือนก่อน +29

    再帰呼び出しは本当にスタックオーバーフローしそうw
    詳しくないから間違ってても怒らないで(予防線)

    • @evimalab
      @evimalab  8 หลายเดือนก่อน +15

      デフォルトのスタックサイズ (例えばLinuxでは8MB)で100万回再帰したらまず間違いなくスタックオーバーフローすると思いますが、スタックサイズを増やせば(ulimit -s unlimitedなど)問題なく動作するはずです。

    • @kettle9265
      @kettle9265 3 หลายเดือนก่อน +1

      世の中には末尾再帰ってものがあってだね…

  • @malc3497
    @malc3497 3 หลายเดือนก่อน +5

    メモリ無限だとして、1000バイト内で一番デカい数字出力するコード書いた人の優勝って大会開いて欲しい

  • @ニケ-f4t
    @ニケ-f4t 8 หลายเดือนก่อน +16

    こういうの好き

  • @ゆぬゆぬ
    @ゆぬゆぬ 8 หลายเดือนก่อน +21

    i love you でやってみようと思います。

  • @NasuWatamate
    @NasuWatamate 7 หลายเดือนก่อน +17

    関数の帰還アドレスをいじるやつ凄いな…
    送信元アドレスいじってパケット大量に送りつける系の攻撃に似てると感じた…

  • @Gajum4ru
    @Gajum4ru 8 หลายเดือนก่อน +8

    最後すご

  • @s009kawa
    @s009kawa 2 หลายเดือนก่อน +2

    cは黎明期の言語だから暗い部分まで触れてしまうんだろうなあ

  • @なんたら-q1x
    @なんたら-q1x 7 หลายเดือนก่อน +9

    TeXあの人かなと思ったらあの人だった☃

  • @NumAniCloud
    @NumAniCloud 5 หลายเดือนก่อน +4

    なんてエレガントな「チャンネル登録お願いします」なんだ……
    戻り先いじるのは衝撃的だったw 「忘れろ」も、そりゃそうだ

  • @エピネフリン-r8i
    @エピネフリン-r8i 8 หลายเดือนก่อน +13

    Pythonistaだから文字列掛け算かネスト関数か標準出力でどうこうするくらいしか思いつかなかったよ…
    マクロでごちゃごちゃする方法は面白かったし、Haskellは生まれて初めて見た。
    c/c++はコンピュータのヤバいところまで弄れて面白いなあ🤣

  • @pablo1gustavo
    @pablo1gustavo 8 หลายเดือนก่อน +31

    I like this type of video! Thanks! Waiting for more

    • @evimalab
      @evimalab  8 หลายเดือนก่อน +9

      You're welcome! I'll definitely try to make more videos about general programming. Well, this one is not really "general," though...

    • @roeniss
      @roeniss 4 หลายเดือนก่อน +2

      Same here. this type of videos are so unique and joyful. I want more!

  • @fuyuno3703
    @fuyuno3703 8 หลายเดือนก่อน +4

    Quine 利用かなと思ったらやっぱりそういう方法多いですね。あと、20番思いついた人すごい

  • @dasigaratarou
    @dasigaratarou 8 หลายเดือนก่อน +16

    brainfu*kでやりたくなるね…

  • @readme-exe
    @readme-exe 8 หลายเดือนก่อน +8

    黒魔術、、、

  • @NyanBuzz
    @NyanBuzz 6 หลายเดือนก่อน +3

    Cを投げ捨てて真っ先にyesとか言語作るとかだなあ(すでに繰り返してくれるものを利用する)と思ったけど
    そうだよね、思考実験だから計算リソース(ulimit)無限だよね

  • @あうら-g2j
    @あうら-g2j 7 หลายเดือนก่อน +11

    もしかして……(1..1000000).each(hello_world)的な、範囲オブジェクトの高階メソッドに処理を渡す系のプログラムは禁止されていない?

    • @evimalab
      @evimalab  7 หลายเดือนก่อน +5

      はい。(禁止事項に表面上触れなければ問題ありません。)

  • @ccxxii7816
    @ccxxii7816 3 หลายเดือนก่อน +2

    powershellでksみたいな方法でできちまったけど他の言語ならもっとスマートに行けそう
    @(1..1000000) -replace "\d+","Hello,World!"

  • @Justy-heart
    @Justy-heart 7 หลายเดือนก่อน +3

    最後のやつ、グローバル変数ってこう使うんやな……

  • @本田松本
    @本田松本 3 หลายเดือนก่อน +1

    Unityいじって遊んでる身なのにUpdateが浮かばなかったの悔しい

  • @kimuti_tsukai
    @kimuti_tsukai 8 หลายเดือนก่อน +5

    Rust には loop 文があるんだぜ

  • @YOMA8338
    @YOMA8338 8 หลายเดือนก่อน +4

    Javaで実践した人いないかな

  • @kCat-c9b
    @kCat-c9b 8 หลายเดือนก่อน +12

    Processingとかだとdraw関数内でprintlnすれば毎フレーム表示されるか

  • @JD-is8yg
    @JD-is8yg 8 หลายเดือนก่อน +4

    品評会会場はここですか

  • @khoitan4758
    @khoitan4758 8 หลายเดือนก่อน +7

    It has been a while since your last long-format video!

  • @Ryot4ro
    @Ryot4ro 8 หลายเดือนก่อน +3

    スパコンで100万並列しよう

    • @エピネフリン-r8i
      @エピネフリン-r8i 8 หลายเดือนก่อน +6

      いいアイデアだ!
      ところで…どうやってスレッドを100万個起動するんだい?

    • @ccxxii7816
      @ccxxii7816 4 หลายเดือนก่อน +2

      ラズパイなら100万個用意するのも比較的楽か?

  • @紅茶-v8x
    @紅茶-v8x 4 หลายเดือนก่อน

    どれもこれもが 美しいコードで脱帽

  • @pippi10r
    @pippi10r 7 หลายเดือนก่อน +1

    50万表示する関数と名前の違う50万表示する関数でできそうw

  • @小野凌太郎
    @小野凌太郎 8 หลายเดือนก่อน +61

    ワイ、なんとなくIT志望で就活してっけどこれ理解出来なきゃあかんやつか?

    • @fuha5681
      @fuha5681 8 หลายเดือนก่อน +87

      忘れろ

    • @user-gk5il9mc4v
      @user-gk5il9mc4v 8 หลายเดือนก่อน +24

      ​@@fuha5681
      一言「忘れろ」とだけ言い残していくの強者感あって好き

    • @woodburned8972
      @woodburned8972 8 หลายเดือนก่อน +22

      自然に理解していくもんやで(沼に引きずり込みたいオタク)

    • @luke0804
      @luke0804 8 หลายเดือนก่อน +31

      これが出来なくても全然問題ないけど、こういうのが楽しめると仕事に対する考え方が変わるかもね
      こんなに面白いことをお金をもらいながらできるとか最高か??って毎日思ってる

    • @haru-leit
      @haru-leit 8 หลายเดือนก่อน +6

      何となくのIT志望って正直続かないと思うんだが...

  • @Chouky-wo2gt
    @Chouky-wo2gt 8 หลายเดือนก่อน +7

    Наконец-то нашел нормальный гайд по Hello world

  • @ДмитрийСтрахаль
    @ДмитрийСтрахаль 8 หลายเดือนก่อน +13

    Solution like in Haskell is possible for any language that supports lambdas
    Like that:
    auto twice(auto f) {
    return [=](){f(); f();};
    }
    // Somewhere else
    twice(twice(twice([](){cout

    • @ramnie6999
      @ramnie6999 8 หลายเดือนก่อน +2

      The key trick of the Haskell solution is that you can pass one of your "repeater" functions to another (or the same) repeater function to get the effect of exponentiation. For example, (five five) is a function that repeats the given function 3125 times. For this to work, your repeater functions need to have the same return type as the argument type, which in turn requires the use of std::function or something similar when using a language that gives a different type to each lambda.

    • @ДмитрийСтрахаль
      @ДмитрийСтрахаль 8 หลายเดือนก่อน +2

      @@ramnie6999 Ok, i did a couple experiments, and: In dynamic languages it works easy, in Rust it refused to work until i moved functions into Box, in C++ it required std::function. Maybe Haskell being a static typed language allows such thing because of immutability

  • @kumamonslayer
    @kumamonslayer 7 หลายเดือนก่อน +1

    オチ好き

  • @warokihami
    @warokihami 7 หลายเดือนก่อน +3

    これバイナリは大差ないよな。。。

  • @d1Prczr6b29eM82Y
    @d1Prczr6b29eM82Y 8 หลายเดือนก่อน +9

    世の中には変態が多いんだなぁ 11:50 100万になるまで動画投稿するってのはどう?

    • @evimalab
      @evimalab  8 หลายเดือนก่อน +4

      頑張ります。

    • @クリスハロウィン
      @クリスハロウィン 4 หลายเดือนก่อน

      @@evimalab
      V = [/* 動画のネタを入力 */]
      for item in V:
      N = number of subscribers now
      if N >= 1000000:
      post ('100万人達成しました!爆弾解除!')
      else:
      post (item)

  • @sarutobide_nue_shite
    @sarutobide_nue_shite 8 หลายเดือนก่อน +2

    個人的には17が好き

  • @hurgel1400
    @hurgel1400 8 หลายเดือนก่อน +2

    インターバル実行出来れば…

  • @主体-x3m
    @主体-x3m 8 หลายเดือนก่อน +13

    TeXの読み方は「テフ」では?

    • @evimalab
      @evimalab  8 หลายเดือนก่อน +31

      th-cam.com/video/8HuwiBPLV3A/w-d-xo.html TeXの開発者本人の発音がこの動画の最初の1秒で聞けます。

    • @まくぽっち
      @まくぽっち 8 หลายเดือนก่อน +4

      古典ギリシア語だと「ㇰ」で、現代ギリシャ語だと「ㇷ」

    • @あると-m3r
      @あると-m3r 7 หลายเดือนก่อน +4

      調べた感じ、テフ読みは日本だけらしい。
      τεχνικήから来てるとのこと。

  • @RWING1971
    @RWING1971 7 หลายเดือนก่อน +2

    すごいなぁ、と思うけど、判読性が悪くて、デバッグやメンテナンスは大変

  • @L-worker-1
    @L-worker-1 21 วันที่ผ่านมา

    whileとforがダメ…
    せや!doをつかったろ
    とはならないか

  • @rejafdofs
    @rejafdofs 7 หลายเดือนก่อน +2

    Block[{$RecurasionLimit=1000000},(Print["helloworld"];#[#])&[(Print["helloworld"];#[#]])&]を思いついた

  • @treenuts
    @treenuts 15 วันที่ผ่านมา

    コンストラクタはなるほど!

  • @HarusameTech
    @HarusameTech 8 หลายเดือนก่อน +11

    個人的にこれが割とシンプルで好きだったんだけどレギュ的にどうなんだろ
    ```c
    #define A puts("Hello, world!
    );
    #define B A A A A A A A A A A // 10 回
    #define C B B B B B B B B B B // 100 回
    #define D C C C C C C C C C C // 1000 回
    #define E D D D D D D D D D D // 10000 回
    #define F E E E E E E E E E E // 100000 回
    #define G F F F F F F F F F F // 1000000 回
    int main(void) {
    G
    return 0;
    }
    ```

    • @evimalab
      @evimalab  8 หลายเดือนก่อน +7

      もちろん合法です。解法3(f(f(f(f(f(f(puts("Hello World!");)))))))とほぼ同じと考えてフィーチャーしませんでしたが、もったいなかったかもしれません。

  • @入佐凛
    @入佐凛 8 หลายเดือนก่อน +2

    おもろい

  • @Scr_MIYUKINNGU
    @Scr_MIYUKINNGU 8 หลายเดือนก่อน +3

    はえぇ〜
    なんかすごいなぁ
    覚えておこ

  • @中二ヤミナベ
    @中二ヤミナベ 7 หลายเดือนก่อน +3

    HQ9+「H」
    BrainCrash「」

    • @中二ヤミナベ
      @中二ヤミナベ 7 หลายเดือนก่อน

      ブレインクラッシュ間違ってるかもしれない

  • @ーっゝ々
    @ーっゝ々 24 วันที่ผ่านมา +1

    >>>>>++++++++++
    [-]<
    [-]<
    [-]<
    [-]<
    [-]
    >+++++++++[-]
    >+++[-]
    ++++++++[-]>++++[-]
    >++++[-]
    .

  • @Yurufuwa8192
    @Yurufuwa8192 6 หลายเดือนก่อน +1

    別のコードでtxtファイルに100万回「Hello World!」て入力したのを
    本題のコードで読み取ればいいんじゃない?

  • @Nunununununununununununununuu
    @Nunununununununununununununuu 3 หลายเดือนก่อน +1

    え?。。

  • @TCzvrAw3o7H
    @TCzvrAw3o7H 3 หลายเดือนก่อน +1

    標準入力リダイレクトして百万回打てばよくね?

  • @noff6451
    @noff6451 4 หลายเดือนก่อน +3

    最初に思い浮かべた方法が出てこなかった
    自身への関数ポインタを受け取って呼び出すことを普通は再帰と呼ばないから要件を満たしていると思う
    ```c
    #include
    struct S_F;
    typedef void (*p_hello)(struct S_F*, int);
    typedef struct S_F { p_hello f; } F;
    void hello(F *f, int c) {
    if (c >= 1000000) return;
    printf("Hello, World!
    ");
    f->f(f, c + 1);
    }
    int main(int argc, char **argv) {
    F f;
    f.f = hello;
    hello(&f, 0);
    }
    ```

  • @どみ-r4y
    @どみ-r4y 8 หลายเดือนก่อน +2

    seq 1000000 | xargs -I{} echo Hello,Word!
    これもいいのかな?

  • @lemorin
    @lemorin 28 วันที่ผ่านมา

    すみません、Perlしか知らないので💦
    say @{[map {"Hello, World!
    "} (1 .. 1000000)]};

    • @みのむし-i5u
      @みのむし-i5u 20 วันที่ผ่านมา +1

      多分mapは裏でfor使ってると思います…

  • @coreworld0721
    @coreworld0721 หลายเดือนก่อน

    おもろい