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

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ก.ค. 2020
  • ゆかりさんがプログラミング、そして、C言語について解説するようです。
    世の中には、いろいろなプログラム言語があります。
    その理由は、用途が違ったり・・・
    ・C言語/C++:アプリケーション、ゲーム、電子機器、etc…
    ・PHP/Javascript:Web
    ・Python:機械学習、ツールの拡張
    動かし方が違ったり・・・
    ・コンパイラ言語(その物が動く、exeとなる)
    ・スクリプト言語(主に、コンパイラ言語で作成された物によって動く)
    そして、その中からC言語にたどり着くことは、結構あると思います!
    C言語は難しい…と言われる隣で、簡単とも言われています。
    そのあたりを色々お話していく様です!
    マシュマロ→ / 1238460999256031239
    よろしければ、チャンネル登録と高評価よろしくお願いします(`・∀・´)
    Twitter→ / bitrate1280

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

  • @HTsujiya
    @HTsujiya 2 ปีที่แล้ว +9

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

    • @bitrate1280
      @bitrate1280  2 ปีที่แล้ว

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

  • @MikuHatsune-np4dj
    @MikuHatsune-np4dj 3 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว +1

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

  • @dm_99
    @dm_99 2 ปีที่แล้ว +3

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

  • @usar-xx1uk4pp9h
    @usar-xx1uk4pp9h 4 ปีที่แล้ว +11

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว +4

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

  • @paseri9697
    @paseri9697 ปีที่แล้ว

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

  • @user-pq7wp9wy4z
    @user-pq7wp9wy4z 3 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว

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

  • @Kroa960
    @Kroa960 4 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว +1

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

    • @Kroa960
      @Kroa960 4 ปีที่แล้ว

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว +2

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

  • @user-uk1lp2me7g
    @user-uk1lp2me7g 3 ปีที่แล้ว +6

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว +1

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

    • @user-uk1lp2me7g
      @user-uk1lp2me7g 3 ปีที่แล้ว

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว

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

  • @jagabutter6488
    @jagabutter6488 4 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว

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

  • @user-ll2rk5lk1l
    @user-ll2rk5lk1l 2 ปีที่แล้ว

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

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

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

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

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

  • @user-fb8ey4de5u
    @user-fb8ey4de5u 4 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว

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

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

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

  • @user-up1tm3hq1x
    @user-up1tm3hq1x 3 ปีที่แล้ว +2

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว +1

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

  • @user-vy9md3zp4s
    @user-vy9md3zp4s 3 ปีที่แล้ว

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

    • @user-rj7vv4mr2u
      @user-rj7vv4mr2u 3 ปีที่แล้ว

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

    • @user-vy9md3zp4s
      @user-vy9md3zp4s 3 ปีที่แล้ว +1

      @@user-rj7vv4mr2u ありがとうございます!

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว +2

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

  • @user-fz1on3sq1s
    @user-fz1on3sq1s 2 ปีที่แล้ว

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

    • @bitrate1280
      @bitrate1280  2 ปีที่แล้ว

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

  • @NYNY-wc2hq
    @NYNY-wc2hq 3 ปีที่แล้ว +5

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

  • @user-ye8kj5kg1o
    @user-ye8kj5kg1o 2 ปีที่แล้ว

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

    • @bitrate1280
      @bitrate1280  2 ปีที่แล้ว

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

  • @alucrux
    @alucrux 3 ปีที่แล้ว +3

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว +1

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

    • @NYNY-wc2hq
      @NYNY-wc2hq 3 ปีที่แล้ว

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

  • @kirigami0186
    @kirigami0186 4 ปีที่แล้ว

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว +2

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

  • @user-oh4tg8hi3b
    @user-oh4tg8hi3b 4 ปีที่แล้ว +2

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

    • @bitrate1280
      @bitrate1280  4 ปีที่แล้ว

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

  • @piyashirikozo
    @piyashirikozo 3 ปีที่แล้ว +1

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

    • @bitrate1280
      @bitrate1280  3 ปีที่แล้ว

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

    • @long-live-linux
      @long-live-linux 9 หลายเดือนก่อน

      あと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

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