C言語をプログラミング初心者が学んでも良い話【結月ゆかり解説】

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 72

  • @HTsujiya
    @HTsujiya 2 роки тому +12

    5:42
    個人的には、
    C:トウモロコシだけ渡される(クルトンは食パンを買って作ってください)
    C++:トウモロコシに、実をほぐす道具とかがオプションでついてくる
    Java:コーンの缶詰に、かやく的なクルトンや味付けの粉末を渡される
    スクリプト言語:レトルトスープを沸かすだけ
    アセンブラ:トウモロコシの種が入っている(自分で育ててください)
    ってイメージですね^ ^;

    • @bitrate1280
      @bitrate1280  2 роки тому

      そんなイメージですね!
      ものすごく手間暇かけたオリジナルのコーンスープを作って売るか
      レトルトのコーンスープを売れば十分なのか
      自分のお店の環境や状況などを考えつつ、最適なものを選ぶのです!

    • @馬鹿は伝染病で移る
      @馬鹿は伝染病で移る 3 години тому

      アセンブラ「土地を貸し出します。耕作機械はこの一種類です。余所の土地に行ったら違う耕作機械となります。操作方法は大まかには同じの場合もありますが違う場合もあります。土地土地のルールを覚えてください。守らない場合、どのようになろうとも私らは知りません(一応、日本語で話してるかどうかのチェックはしてやるよ!内容があってるかは知らんがw 自己責任だろ!あばよ!!)」
      てな具合に映るw

  • @usar-xx1uk4pp9h
    @usar-xx1uk4pp9h 4 роки тому +14

    Cはポインタが使えるかどうかが鍵だと思う…

    • @bitrate1280
      @bitrate1280  4 роки тому +7

      ですね!
      ポインタが書かれた本を読んで、すんなり呑み込めたとしても、
      ポインタやメモリをガツガツいじる物を作るまでは、感覚がフワフワしてると思います…

  • @ruysig3193
    @ruysig3193 7 місяців тому +1

    ものを学ぶときの一番のリスクは途中でやめてしまうことなのだから、学習コストの低さとモチベーションを維持できるかが一番の選定基準になると思うし、「作りたいものによる」というよく言われる答えが一番の正解なんだろうなって。
    そんでもって初心者の学習コストやモチベーションの維持においてCが最適になるケースってほぼない気がするんですよねえ……。

    • @bitrate1280
      @bitrate1280  7 місяців тому +1

      「自分が将来どのようになりたいか」によって選択が大きく変わると思います。
      私の場合はゲームプログラマだった事が大きな理由の一つですね!
      それと、PCゲームをよくプレイしていたので、作るなら.exe形式でしょうと思いがある事と、また、プログラミング初心者の頃は検索すると様々な情報が出てきて迷いますが、「プログラミングといえば」という観点から、C言語(C++の入門として)はまず目に入る選択肢の一つかと思います。
      私が初めてプログラミングに触れた時は、まずは1週間かけてC言語の参考書を読み、その後2日間で初めて書籍には載っていないプログラムを作りました。初心者がゼロから何かを考えて作り、それがコンパイルされて期待通りに動く経験は、感動も大きく、長期にわたるモチベーションに繋がると思います。
      簡単なプログラミング言語を選んでも、目的から離れてしまったり、自作感がなく達成感が得られないと、感動も薄れがちです。
      また、初心者がC言語を深く学ぼうとすると大変かもしれませんが、「まずは簡単なものを完成させる」という目標に焦点を当てれば、学ぶ範囲も限られるため、他の言語と比べてそれほど厳しくないと感じる人も多いのではないでしょうか。

  • @dm_99
    @dm_99 3 роки тому +4

    オブジェクト指向をホッチキスで例えるの一番わかりやすいかもしれないw

  • @ゆっくりまいくさん
    @ゆっくりまいくさん 3 роки тому +3

    特に目的もなければ、C#かJSから入るのも良いと思います
    これらは、なんでも作れるからです
    ゲーム,組み込み,Web,機械学習,モバイルなんでもできます!

    • @bitrate1280
      @bitrate1280  3 роки тому

      ネットの情報も多いですし、良いと思います!
      最近ですと、完全な初心者の入りとしては「つくってわかるはじめてゲームプログラミング」も感覚を先に掴めると思うので、良さそうですね!

  • @さまやま-w4s
    @さまやま-w4s 3 роки тому +7

    プログラミング初心者です。苦しんで覚えるC言語という本をとりあえず一通り読み終わり、何となくですが理解することができました。どのくらいのタイミングでC + +に移るべきでしょうか

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      本を読んだのが1周でしたら、もう一周、軽く読み返してみて、
      その後に1~2個なにか作って(コマンドプロンプト画面で標準出力使った簡単なゲームなど)、
      それから、C++へ移ると着実かと思います@
      実際に作っていくのが大切ですね!

    • @さまやま-w4s
      @さまやま-w4s 3 роки тому

      @@bitrate1280 返信ありがとうございます!将来は様々な言語を使えるように頑張りたいと思います!

    • @bitrate1280
      @bitrate1280  3 роки тому

      @@さまやま-w4s 頑張ってください!!
      C++をある程度習得すれば、
      他の言語習得はだいぶ簡単になっています!

  • @paseri9697
    @paseri9697 2 роки тому +1

    アセンブラ読む練習とプログラムの動作原理を先に学んでたのでCのポインタとかはすっと入ってきました。学ぶ動機が既存プログラムの解析だったので...

  • @mundane1345
    @mundane1345 Місяць тому

    待って、なんでこの動画もっと伸びてないんだ?
    マジな話、この動画で私の人生が変わったかもしれないんだが
    仕事でプログラミング言語を使う機会が増えそうで、めっちゃ調べてたらPythonが簿記みたいな仕事用言語だということに気が付いて、結局何もやってないなら趣味として始める勉強はC言語一択だと気づいて、その間にもいろんな動画を見ていたんだけどもその全ての答え合わせのような動画
    私は外国語が多数使える語学マニアだから言葉の捉え方に慣れてるんだけども、そういう他と違う人しかこの動画の良さに気付けないのか?
    あり得ないだろ、この動画が伸びてないの
    どうなってんだよいろいろおかしいだろ、この動画の良さに気付けない日本人たち

    • @bitrate1280
      @bitrate1280  Місяць тому

      ありがとうございます!!
      この動画を作った甲斐があります!
      C言語はプログラミングの基礎を固めるのにとても重要な言語ですし、触れておくことで得られるメリットは大きいですね!
      この動画がもっと多くの方に役立ってくれたら嬉しいです!!

  • @たあ-c4s
    @たあ-c4s 2 роки тому +2

    パソコン触ったことないのにC++学校で始めさせられて1年経ちましたが全くついて行けませんモチベもない

    • @bitrate1280
      @bitrate1280  2 роки тому

      パソコン触ったことない状態からは、なかなか捗らなさそうですね、、
      PCゲーなどで、パソコンへの慣れがある程度無いと辛いと思います@@

  • @あのにも
    @あのにも 27 днів тому

    16:41 まさかあの黒魔術書(と勝手に仲間内で読んでる)『モダンC言語プログラミング』をご存知かのような台詞..thisポインタ代わりのvoidポインタキャストを使ってクラスっぽくしたりdefineでコンストラクタっぽくしたりするあの..おみそれしましたm(_ _)m もはやそんな難しいことやるくらいならそれらをコンパイラがやってくれる、つまりは言語機能に含まれてるC++でいいのに~って感じですよねぇ

    • @bitrate1280
      @bitrate1280  24 дні тому

      その本は読んだことが無かったのですが、
      ガッツリC言語で、そういう設計のプロジェクトにしばらく参加していたので、そこで学べましたね@
      余程の理由がない限りは、(C or C++なら)やはりC++一択ですね!!

    • @あのにも
      @あのにも 24 дні тому

      ​@@bitrate1280 そうなんですか!?その本なしでたどり着くとかつよつよエンジニアじゃないですかよりすごいですよ...脱帽です
      12:49 最近のCだと配列の指示付き初期化 とか独自仕様を追加したせいでC++と完全な互換がなくて何してくれちゃってるんだって感じです..より一層C++選べるならC++がいいってなりますよね

  • @七夕かぐや
    @七夕かぐや 3 місяці тому +1

    変数、配列、型(オブジェクト)、インスタンス、関数、基本構文(if, for,while,try-catch)、ライブラリ、フレームワーク、静的・動的、非同期...etc。たぶんプログラミング初心者が見てもナンノコッチャな呪文の数々。更にこれら概念を知識だけでなく実践を通して感覚的に理解できるレベルになる必要あり。C/C++はこれに加えてポインタを学ばなければならないので結構しんどい気がする(^_^;)

    • @bitrate1280
      @bitrate1280  3 місяці тому

      どのプログラミング言語でも、初心者が最初から多くのことを学ぼうとすると、果てしないですよね!
      例えば比較的簡単なPHPを学ぶ場合でも、インフラやセキュリティーの知識に加え、HTML5やJavaScript、ついでにWebGLもよく一緒に使われるので、それらを全て必須知識にしてしまうと、かなり大変なことになります。
      C言語で学ぶ内容を基礎的なデータ構造と制御構文のみに絞っても、コンソール出力による簡単なゲームは作れますし、
      そこからさらにステップアップして、C++とDirectX(9または11)を使えば、3Dゲームも作れるようになります!

    • @七夕かぐや
      @七夕かぐや 3 місяці тому

      @@bitrate1280 DirectXは使用したことがないので、いつかRustを使ってDirectXやVulkanで3Dゲーム作成に挑戦したいです。

  • @MikuHatsune-np4dj
    @MikuHatsune-np4dj 3 роки тому +1

    お花見のブルーシートの話すごく判りやすいです!

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      ありがとうございます!!
      良い例えが思いついてよかったです@@

  • @るなてゃん-q1r
    @るなてゃん-q1r 3 роки тому +3

    わいの大学の授業Haskellだった()

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      Haskellは触ったことないです……!

  • @otanoshimi4
    @otanoshimi4 Рік тому +1

    C、C++は、思考ゲームエンジンを作るのにいいですね。16000万ノードまで一気に吹き上がりますよ。やっぱり、速度のチューニングしている時が一番楽しいですね。最悪遅くても動くプログラムから始めるので、上手くいかなければ元の状態に戻せばいいだけですし。車のエンジンで言えば、ウエットサンプをドライサンプにするみたいな感じです。1ターン思考時間を100ms縮めるような、ちまちまとやるチューニングが好きな人にはお勧めですね。後、いかにもCPUを使いこなしている感があっていいですね。

  • @ぼっちゃん-z7x
    @ぼっちゃん-z7x 3 роки тому

    今から勉強を始めるのならCとC++ならどっちから始めるべきですか?

    • @なが-l3j
      @なが-l3j 3 роки тому

      c言語の方がいいと思いますよ

    • @ぼっちゃん-z7x
      @ぼっちゃん-z7x 3 роки тому +1

      @@なが-l3j ありがとうございます!

    • @bitrate1280
      @bitrate1280  3 роки тому +2

      ながさんのおっしゃる通り、C言語からの方が良いですね!
      C++へ進む為に、まずはC言語を勉強するのです!
      C++学習の最初の段階で、C言語の知識がそのまま必要になります@

  • @jagabutter6488
    @jagabutter6488 4 роки тому +2

    さて…この後の難しい部類を覚えるのが大変だぞ…

    • @bitrate1280
      @bitrate1280  4 роки тому

      学びたい事が必要になる何かを作りながら…必要に駆られながら…
      作って見るのがおすすめですかね!

  • @いい吉
    @いい吉 4 роки тому +3

    いつの日かの記事に
    「FF12のガンビットシステムはプログラミングと同じ」
    と言ったものを見かけました。
    僕はプログラミングを全くやった事が無いのですが
    FF12はかなりやり込んでいます!
    今からそのガンビットの感覚でプログラミングを始めたら、すんなりと入り込めるのでしょうか?
    もしFF12をプレイしていたら、プログラマーさんからの視点で解説して頂けたら嬉しいです。
    PS
    あなたへのオススメで、こちらへ辿り着き
    チャンネル登録しました!

    • @bitrate1280
      @bitrate1280  4 роки тому

      FF12やってましたよ!
      そうですね、考え方は続いていると思います。
      ただ、取れる選択肢の数がだいぶ変わってくるので…前進しているとは思いますが、すんなり入り込めるかは未知数ですね…。
      ガンビットシステムは、すごい簡単なビジュアルプログラミング言語と言った感じですかね。
      ビジュアルプログラミング言語は、文字をほとんど書かない、グラフィックががっつり用意されてるプログラミング言語ですね!
      ただ、グラフィックで用意してる事しか出来ないので、言語ごとの出来る事の差が激しいです。
      「Scratch」と言うのがブラウザで登録もなく遊べるので、触ってみると良いかもしれません。
      ガンビットシステムよりも、だいぶ色々な事が出来ますね!
      ちなみに、このチャンネルで作ってるゲームも、Blueprint(Unreal Engine4の機能)というビジュアルプログラミングで作っていますよ!
      これは、Scratchよりも遥かに色々な事が出来ます。
      そして…C/C++は更に色々な事が出来ますね…!
      チャンネル登録ありがとうございます!!

  • @NYNY-wc2hq
    @NYNY-wc2hq 3 роки тому +6

    Javaくらいから入ってみるのもオススメやな。
    その後にCやるとポインタとかの重要ポイントだけに集中できる。

    • @bitrate1280
      @bitrate1280  3 роки тому +6

      Cで挫折したけれど、Javaを学習した後に、Cに戻ったら出来たという話は見た事がありますね!

    • @NYNY-wc2hq
      @NYNY-wc2hq 3 роки тому +2

      @@bitrate1280 自分がまさにそれです!
      Javaから入るとオブジェクト指向も身につくのでC++にも入りやすくとてもオススメできると思います!

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      @@NYNY-wc2hq 何か一つ言語ができれば他も入りやすくなるので、おすすめ出来ると思います!
      C++もそのとおりですね!

    • @SonicKitten
      @SonicKitten 2 роки тому +2

      C++使うと混乱するところが結構あるからね

  • @はらだっち-i2n
    @はらだっち-i2n 3 роки тому

    プログラム好きだったはずなのに全然自分で勉強できてない。。。。
    C++のクラスとかもよーわからんし、、、誰かメンターとして付きっきりで教えておくれやす。。。

    • @bitrate1280
      @bitrate1280  3 роки тому

      クラスも、実際になにか作ってみると把握しやすいですかね!
      後は、公開されているプロジェクトのソースコードを読んでみたり…ですかね!(コチラは初心者ですとちょっと難易度高いかもですが…)
      就職すると…メンターが付いてきますね@@

  • @Kroa960
    @Kroa960 4 роки тому +1

    マインクラフトのMOD作りたいから勉強して見るか(多分やらないかも)

    • @bitrate1280
      @bitrate1280  4 роки тому +1

      高いモチベがあったり、必要に駆られたりしないと、なかなか勉強段階は進まないですよね…!

    • @Kroa960
      @Kroa960 4 роки тому

      @@bitrate1280 そうですね。
      でもここのチャンネル見てたら
      いつの間にか出来るようになるかも!

    • @bitrate1280
      @bitrate1280  4 роки тому +2

      きっと、そのはずですねッ!!
      出来るようになるのは…UE4かもですが…
      他の事にも、いくらか知識は生かせると思います!

  • @kirigami0186
    @kirigami0186 4 роки тому

    「ポインタはポインタなんだよ。」ってしかうちの高校の先生教えてくれない……

    • @bitrate1280
      @bitrate1280  4 роки тому +2

      プログラミングを知らない先生は、まだまだ多そうですね……
      ある程度知っていれば、
      公園(メモリ)にブルーシート(変数など)があって、その公園の中の場所(アドレス)を書いた紙がポインタだよ!
      とか、いろいろたとえ話が捗るんですけどね!

  • @暇人-f3t
    @暇人-f3t 4 роки тому +2

    バトルプログラマーとか言うパワーワードw俺もUE4初めてたら使おうかなw

    • @bitrate1280
      @bitrate1280  4 роки тому

      一部のプログラマには有名なアニメ?が元ネタだったりしますねッ!
      「BPS バトルプログラマーシラセ」

  • @alucrux
    @alucrux 3 роки тому +3

    c++覚えたら便利すぎてc使えなくなった()

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      Cで(大きいプロジェクトを)作っていくのはだいぶ大変ですね、、

    • @NYNY-wc2hq
      @NYNY-wc2hq 3 роки тому

      c++ええよな
      全部c++で作ろうとしてしまうw

  • @CustomController3647
    @CustomController3647 4 роки тому

    すいません、プロのゲームプログラマと聞いたので質問させて下さい。
    現在UE4でBPを使ってゲーム開発を行っている者です。
    本当はC++で書いた方が良いのは分かっているのでいずれかは書けるようになりたいです。
    そこで実際にC++の学習コストはどれ位高いのでしょうか?
    プログラミングは初めてでは無く
    以前はUnityでC#を使ってましたので変数から継承までは理解しているつもりです。
    C言語も少し触ってみてC#に似ていると感じました。

    • @bitrate1280
      @bitrate1280  4 роки тому +2

      そうですね、
      ポインタが特に問題なく使えれば、学習コストは結構下がっているとは思います!
      (基本的に)双方にある機能でもC++の方が出来る事の幅が増えるので、入門書などを読むところから始まると思いますが、おそらくさくさく進むのではないかと。
      (例えば、C++のtemplateで出来る事が、C#では全くできませんね)
      あと、UE4はUnrealC++と呼ばれる、defineが結構使われた独特な設計方針で作られ、
      それに乗っ取って作るので、そこに慣れる必要はあります。(C++が使える状態での、ここの学習量は少ないと思います)
      エンジンソースで、C++11以降の記述も出てくるのですが…、そこまで複雑な使い方はしていないですかね。
      ちなみにBPメインで書くとしても、C++が使えればノードの正確な仕様確認や、コード上でのデバッグが出来るので、メリット大きいですね!
      C++でしか出来ない事もちょっとありますし、エンジン改造ができる心の余裕も大きいです!

    • @CustomController3647
      @CustomController3647 4 роки тому

      @@bitrate1280
      コメントありがとうございます、C++に関しては学習に良さそうなWebページがあったのでそこをブックマークしましたが、入門書での学習も検討してみたいと思います。
      僕個人の話になってしまいますが物理ベースの移動をさせるのに独自の移動方程式を導き出して、それをBP で書いていますが数式が入ってくると工夫してノードを書かないとすぐにスパゲッティ状態になってしまうので
      そういう計算式の部分はC++で書いた方が良いのかなと僕は思いました。
      恐らく仮に就職を想定した際にはC++も入れていた方がアピールになるかな?(UE4使っている時点で門前払いという事でしたら諦めます)

    • @bitrate1280
      @bitrate1280  4 роки тому +2

      C++の勉強頑張ってください!!
      そうですね、
      スパゲッティ状態になるという事は、
      ブループリントで書いた場合の負荷もあると思うので、
      2重の意味でありですね!
      ゲーム会社の就職にUE4は…会社によりますかね…。
      C++使った方が、アピールになると思います。
      ただ、C++&DirectXで作るのが、面接側も評価しやすく、通りやすいとは思います!

    • @CustomController3647
      @CustomController3647 4 роки тому

      @@bitrate1280
      コメントありがとうございます。
      とりあえず頃合いをみてC++を頑張りたいと思います。
      ue4に関しては
      ・元々ゲームを作りたい
      ・今現在の個人的な気持ち
      ・他のプロの方からのアドバイス
      ・エンジンを使ってはダメと人から言われ、DirectXを強制させられても制作意欲が無くなってしまう
      これらの事を総合的に判断してかつ自分を信じた結果UE4で続けて行きます。
      と言いつつも何故か今自分は移動処理を極めたいという気持ちから
      UE4のcharacter movementを使わずにPawnクラスでAdd Forceを使い独自の物理移動を実装するという訳のわからない物を作っています。
      まあ、寄り道せずにゲーム作りに専念します。

    • @bitrate1280
      @bitrate1280  4 роки тому +1

      モチベーションが高い事がある時は、それを進めるのが良いですね!
      それに、完成させる事が大切なので、なおさらです。
      今まで作った物で、殆ど人に見せていないし、その知識を使う事があるのか不明な物も色々と作りましたが、それらの経験はなんだかんだで生かせていますよ!
      頑張ってください!!

  • @user-ll2rk5lk1l
    @user-ll2rk5lk1l 2 роки тому

    作りたいのとかないけど学んだ

  • @piyashirikozo
    @piyashirikozo 3 роки тому +1

    ハードを直接制御するならC。
    そうで無ければ別な言語の方が良いと思う。

    • @bitrate1280
      @bitrate1280  3 роки тому

      C++じゃなくCを使う状況は……その環境でCしか使えない(C++が使えない)場合ぐらいですかね…

    • @long-live-linux
      @long-live-linux Рік тому

      あとioctlみたいなシステムコールを直接扱う場合も

  • @fugaku1480
    @fugaku1480 3 роки тому

    作りたいモノが今ありません。なので言語習得も止まっています。これで実生活に支障はありません。
    むしろ激しく作りたいモノがると睡眠時間を削って、出費も考えずやってしまいそうです。
    動画やネットの情報は参考にはなって、ありがたいのですが、最後は自分で考えないと。

    • @bitrate1280
      @bitrate1280  3 роки тому +1

      自分に合ったやり方は人それぞれですので、
      常に考えるのは大切ですね!!
      何かを作るのは楽しく永久に出来てしまうので、要注意です@

    • @fugaku1480
      @fugaku1480 3 роки тому

      @@bitrate1280  返信ありがとうございます。