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

Поделиться
HTML-код
  • Опубликовано: 25 ноя 2024

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

  • @HTsujiya
    @HTsujiya 2 года назад +12

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

    • @bitrate1280
      @bitrate1280  2 года назад

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

  • @usar-xx1uk4pp9h
    @usar-xx1uk4pp9h 4 года назад +14

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

    • @bitrate1280
      @bitrate1280  4 года назад +7

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

  • @ruysig3193
    @ruysig3193 7 месяцев назад +1

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

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

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

  • @paseri9697
    @paseri9697 2 года назад +1

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

  • @dm_99
    @dm_99 3 года назад +4

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

  • @ゆっくりまいくさん
    @ゆっくりまいくさん 3 года назад +3

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

    • @bitrate1280
      @bitrate1280  3 года назад

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

  • @MikuHatsune-np4dj
    @MikuHatsune-np4dj 3 года назад +1

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

    • @bitrate1280
      @bitrate1280  3 года назад +1

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

  • @あのにも
    @あのにも 24 дня назад

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

    • @bitrate1280
      @bitrate1280  21 день назад

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

    • @あのにも
      @あのにも 21 день назад

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

  • @さまやま-w4s
    @さまやま-w4s 3 года назад +7

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

    • @bitrate1280
      @bitrate1280  3 года назад +1

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

    • @さまやま-w4s
      @さまやま-w4s 3 года назад

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

    • @bitrate1280
      @bitrate1280  3 года назад

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

  • @jagabutter6488
    @jagabutter6488 4 года назад +2

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

    • @bitrate1280
      @bitrate1280  4 года назад

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

  • @七夕かぐや
    @七夕かぐや 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ゲーム作成に挑戦したいです。

  • @るなてゃん-q1r
    @るなてゃん-q1r 3 года назад +3

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

    • @bitrate1280
      @bitrate1280  3 года назад +1

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

  • @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++使うと混乱するところが結構あるからね

  • @otanoshimi4
    @otanoshimi4 Год назад +1

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

  • @いい吉
    @いい吉 4 года назад +3

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

    • @bitrate1280
      @bitrate1280  4 года назад

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

  • @たあ-c4s
    @たあ-c4s 2 года назад +2

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

    • @bitrate1280
      @bitrate1280  2 года назад

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

  • @mundane1345
    @mundane1345 Месяц назад

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

    • @bitrate1280
      @bitrate1280  Месяц назад

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

  • @暇人-f3t
    @暇人-f3t 4 года назад +2

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

    • @bitrate1280
      @bitrate1280  4 года назад

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

  • @ぼっちゃん-z7x
    @ぼっちゃん-z7x 3 года назад

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

    • @なが-l3j
      @なが-l3j 3 года назад

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

    • @ぼっちゃん-z7x
      @ぼっちゃん-z7x 3 года назад +1

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

    • @bitrate1280
      @bitrate1280  3 года назад +2

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

  • @alucrux
    @alucrux 3 года назад +3

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

    • @bitrate1280
      @bitrate1280  3 года назад +1

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

    • @NYNY-wc2hq
      @NYNY-wc2hq 3 года назад

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

  • @user-ll2rk5lk1l
    @user-ll2rk5lk1l 2 года назад

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

  • @はらだっち-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

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

  • @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  返信ありがとうございます。

  • @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

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