質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

解決済

3回答

1026閲覧

プログラミング言語を極めたい

fdj

総合スコア4

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

3グッド

2クリップ

投稿2022/10/24 08:30

プログラミングを極めるには

極めるというのは人それぞれのレベルがあると思うのですが、みなさまはどのレベルまで到達できれば極めていると感じますか?
例えば、ゲームを一人で1から開発できるなど・・・

現在はC言語を参考書で勉強していて、文法などは理解できたのですが、自分でゲームを作るとなると何をしていいかわからない状況です。

C言語だけに限らず、プログラミングを上達するためには参考書での学習の次にどうすればよいですか?

yodel😄を押しています
ps_aux_grep, gandam👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2022/10/24 09:49 編集

> 極める なる話は全く意味不明ですが,後半に関しては > 文法などは理解できたのですが、自分でゲームを作るとなると何をしていいかわからない状況です と言うのであれば,文法ではない何らかの事柄 を学べばよいのではないでしょうか. (あなたに何が足りないがために何かを作ることができないのか? についてはあなた自身にしかわからないわけですが,とにかく何か原因があるのでしょうから.) 例えば世の中には「プログラミングのための線形代数」なんていうタイトルの本が存在するようですな. これはすなわち,作る物次第では「線形代数」なるものを相応に修める必要があるということではありませんかな? 大抵の場合,実際に何かをつくろうとする際には,作る対象たる何かが属する分野の知識等が「プログラミング言語」「プログラミング」とは別に必要なのでしょうな. 何かを作るために必要な知識では「プログラミング言語」や「プログラミング」というのはもっとも簡単な要素だったりするのかもしれませんな.(であれば,「C言語を参考書で勉強していて、文法などは理解できた」という段階は,あなたの本当の目的に対して必要な物をほとんど持っていない状況なのかもしれませんぞ)
Zuishin

2022/10/24 09:07

まず C 言語はグラフィックを多用した美麗なゲームには向いていません。 そのようなものが作りたいのであれば、他の言語を学んでください。 おすすめは C# と Unity あるいは JavaScript ですが、C++ で作ることもできます。
jimbe

2022/10/24 10:29 編集

プログラミングは手段であって目的では無いはずです。貴方は何をしたいのでしょうか。 極めるということは、日進月歩の世界でそんなモノがある訳はありません。何かを作ることを修めることに限界などありません。 そして teratail では人生相談のような質問は推奨されていません。
dodox86

2022/10/25 02:13

一部、既に回答をいただいていますが、例えばAOJやpaizaなどで数分~数十分で成否が分かる競技プログラミングの簡単な問題を解いてみるとよいです。文法を理解しただけでは恐らく自分で思っている以上にプログラムが書けないことに気づいて愕然とすると思います。
guest

回答3

0

自然言語に例えて全部同じと思われてしまうのもよくないかも知れませんが、

日本語(別に英語でも何語でもいいですけれど)を「極めた」として、それってなにかいいことでしょうか。いやもちろん、まともな日本語を使えなければ生活にも困るでしょう。逆にある水準以上使えれば日常生活には困らず、さらに使えれば小説やら論文やらを書くことで収入が得られたりするかも知れません。でも、高度に使う場合、問題になるのはもはや「日本語」そのものではなく、そこに何が表現されているのか、ということではないでしょうか。(日本語を駆使した芸術性のある文章というのもあるでしょうが、それはこの比喩の目的ではありませんからそっちには突っ込まないでください)

プログラム言語についてもある程度同じようなことは言えて、そこそこ使えればまず日常困らないプログラミングはできるのです。高度な仕事をする場合には、もちろんそれに応じて言語を高度に使用することは必要ですが、多分それよりも言語を使ってなにを記述するかのほうが比重が大きいでしょう。そういう意味で言語を「極める」ことは必ずしも重要ではない、と思います。(少なくとも、自分はプログラム言語を極めてなどいないし、極めようとも、極めるべきとも思っていません)

同じように、日本語の比喩で「文法がわかる」だけでは小説や論文は書けないのと同様、文法がわかっただけではプログラムは書けない、というのもイメージしていただけるのではないでしょうか。

日本語では小説を書いたり論文を書いたりするかも知れませんが、プログラム言語はプログラムつまりコンピュータへの命令・指令を書くことに用途が絞られています。コンピュータはプログラムに書いてある通りに動きます。ではあなたは何をプログラムに書けばよいのか...コンピュータがどう動けばあなたの期待したものになるのか、それを考える必要があるでしょう。プログラム言語が魔法のようになにかをしてくれるわけではありません。プログラム言語は、「あなたがコンピュータにやらせようと考え、設計して決めたことを記述するだけのもの」です。

自分でゲームを作るとなると何をしていいかわからない状況

それはもしかして、言語がわからないのではなく、コンピュータに何をやらせたいのか/やらせればよいのかがわかっていないのではないですか?
プログラム言語から離れて(というほど離れられないものですが)、まず自分がなにをしたいのか、コンピュータになにをさせたいのかちゃんと考えることから始めると、それをプログラムで記述することは比較的容易(というほどでもないかも...)になってくるのではないでしょうか。

余談ですが...
日本語がまともにできないが故に「コンピュータになにをさせるか」をきちんと考えることができず、結果としてプログラミングができない...のではないかと見ていて思う人って時々います。日本語も大事にしてくださいね。

投稿2022/10/24 13:44

thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

「極まる」は定義が難しいので「資格取得」というボーダーで,一人前かどうかの判定ができる.というのはどうでしょう.C言語にも資格はあるようですし,プログラミング言語に関わらず,アルゴリズムとデータ構造を駆使できるかどうかの実技検定など,具体的なモノサシで測るのが良さそうだと思いました.

文法を理解できたところでアルゴリズムとデータ構造を駆使できなくてはライブラリを駆使したゲーム開発は出来ないですし,順次ステップアップしていかれるのが良いと思います.

参考書での学習の次は,アウトプットすることです.具体的には,与えられた要件を満たすことのできるプログラムを自力で書けることだと思います.

LeetCodeAtCoderでは,さまざまな問題/要件が出題され,アルゴリズムとデータ構造を駆使して問題に答えることで(アルゴリズム力の)実力を測ることができるサービスです.事前にアルゴ式で勉強して挑むのも良いでしょう.入力で与えられた2変数の和を出力するという簡単なものから,高校数学を駆使した問題まで出題されます.

こういったアルゴリズムやデータ構造を学ばれた後に,これらを駆使したより高度なゲームなどの開発に至ると思います.オセロAIなどもアルゴリズムの世界を学ばれないことには理解できないと思います.

追記
コメントで dodox86 さんのおっしゃっていた内容について,AOJPaizaのリンクを付加しておきます.質問者はまさに

文法を理解しただけでは恐らく自分で思っている以上にプログラムが書けないことに気づいて愕然とする

という状態になるでしょう.先述のLeetCodeAtCoderと同様のサービスですし,これでいかに「文法を理解したか」を体感いただけると思います.そして文法の理解だけでは何の課題解決もできないことがわかると思います.

こんなに類似サービスがある.ということはプログラミングの世界で,アルゴリズムとデータ構造の重要さを表現しているものと考えてもらえるとありがたいですね.
ちなみにPaizaとAtCoderでは実力に応じて就活可能な会社が変動するような就活サービスも持っています.今後プログラマとして就職を視野に入れているのなら,避けて通れない道だと思います.避けても就職受かるやつは受かりますが

投稿2022/10/24 09:00

編集2022/10/25 07:55
PondVillege

総合スコア1579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

極めるというのは人それぞれのレベルがあると思うのですが、みなさまはどのレベルまで到達できれば極めていると感じますか?

「極める」という言葉に対して見合っている尺度かどうかは謎ですが…

例えば、ゲームを一人で1から開発できるなど・・・

という例と同じような話として何らかの尺度を考えるとしたら,「食い扶持にできる」とかどうですか?
他者からある一定以上の実力を認められるか否か,みたいな点でのわかりやすい指標ではあるのかな,と.


C言語だけに限らず、プログラミングを上達するためには参考書での学習の次にどうすればよいですか?

何を求めているのかわかりませんが,何か作るべき目標が存在するわけではなくて,なんとなく漠然と(?)しているのであれば,例えばここみたいな場所で回答側の行為でもやってみればどうでしょうか?

投稿2022/10/25 01:59

fana

総合スコア11658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問