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

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

ただいまの
回答率

87.96%

c言語をするメリットについて

解決済

回答 5

投稿

  • 評価
  • クリップ 1
  • VIEW 625

前提・実現したいこと

c言語を始めてから数か月がたちました。初歩的なことは理解できるようにはなりました
皆様に質問なのですがc言語を続けるメリットはなんですか?
競プロはc++を習得しないとできないし、他の言語と比べライブラリも少ないのでよ数学パズル的な本を読んでいるとrubyを使ってcでは難しいようなコードを簡単にかけてしまうのを見るとこのまま続ける必要があるのかと思ってしまいます
いろいろな本やサイトでc言語のメリットは処理が速いと書かれていますがそれ以外に何かありますか?
c言語をやって良かったと思えることはありますか?
そして私はjavaやc++などに移ったほうがいいでしょうか?
アドバイスをお願い致します。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • pepperleaf

    2020/05/10 18:09

    > 私はjavaやc++などに移ったほうがいいでしょうか?
    私もそう思います。
    なんども過去に類似の質問があったと思いますが、C だけでなんとかなるところは少ないです。 ただ、教える方が、対応しきれてない?

    キャンセル

  • 退会済みユーザー

    2020/05/10 20:59

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 5

+4

いろいろな本やサイトでc言語のメリットは処理が速いと書かれていますがそれ以外に何かありますか?

現状でC言語で書く場面というのは、主に3つ考えられます。

  • すでにC言語で作成されているシステムの修正・拡張
  • 組み込み系など、使えるコンパイラがC言語しかない環境
  • 言語間を結ぶ共通インターフェースとしてC言語を使う

逆に、こういった事情がない場合、C言語を選ぶ理由はほぼありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/05/10 18:41

    より専門的な本で深いところまで学ばなくても他の言語に移っても心配ないですか?

    キャンセル

  • 2020/05/10 19:48

    逆に聞きますが、「何のために」プログラムを身に付けたいのでしょうか。

    作りたいものがあるなら、それを作るのに適した言語に移るのが適切です。

    キャンセル

checkベストアンサー

+1

数ヶ月勉強したという事なら、「そもそもプログラムとはどういう物か」とか「C言語として学ぶべき事(基本構文、演算子、アドレスやポインタの概念)」は学び終わったと思います。

であれば、それ以降に学べることはC特有のことではなくて、他のプログラミング言語でも同じなので、興味のある他のの言語について学んで、目にするプログラムの対象を広げるのが良いと思います。

何かやりたい事があってプログラムを書くときでも、ほとんどの場合はCは面倒です。

今後、Cを使って学ぶとしたら、OSの機能を学ぶときにシステムコールを呼んでみるくらいでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

Cの標準機能だけでは、今や実用的なプログラムの作成には力不足です。事実上、他の言語も使えないとプログラマとしては不利です。

CはWindows等のGUIデスクトップ環境が生まれるよりも前に作られたものです。従って、標準機能ではGUI機能すら有しません。この他、並列処理やネットワーク機能も貧弱であり、現在のアプリケーション作成は満足にできません。

今のお時勢のアプリケーション開発をするならば、非標準機能を併せて学習するかjavaやPythonのような後発の言語を学ばないといけません。

ただし、Cの知識は依然と役に立ちます。

まず一つは目は組み込み系の世界です。java等の環境がなくCのコンパイラのみが実在する開発環境がありえます。次はコンピュータ動作状況の整理です、これは欲を言えばアセンブラの知識が望まれます。バグやコンピュータウイルスの動作検証時に非常に重要な知識となります。この他、「代替言語は信頼できるのか?」という課題があります。新しい言語は歴史が短く、改正頻度も高いです。キリのない再学習が必要な言語を使用し続けることはナンセンスです。

まとめるとこんな感じ

1 アプリケーションプログラマを目指すならば後発言語の知識も必要
2 Cの知識だけで通用する世界も実在はする。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

いろいろな本やサイトでc言語のメリットは処理が速いと書かれていますがそれ以外に何かありますか?

結局のところは、「使われている場面がそれなりにあること」しかないように思います。

私は開発を業とはしてないので、どの言語も深くは習得してませんが、Linux使いなのでCは必修と認識してます。
※カーネルやライブラリ、各種サーバソフトは依然としてCで書かれていることが多いからで、動きを追う場合にCを読めないとどうしようもないからです。

そして私はjavaやc++などに移ったほうがいいでしょうか?

それはコメントできませんが、色々知っておいた方が良いだろうとは思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/05/10 18:49

    cだけやりすぎないほうがいいですよね

    キャンセル

0

回答

そして私はjavaやc++などに移ったほうがいいでしょうか?

作ってみたいものがあるのであれば、それを作れる言語を学ぶのがベストだと思いますよ。

初学者がC言語を学習するメリット

初学者がC言語を学習するメリットとしては

  1. 日本語での初学者向けの教科書が充実している(かつ、ある程度古くても使えるので安く手に入る)
  2. 基本的なアルゴリズムを学習する際の流れ、サンプルが確立されており学習しやすい環境がある(ので、基本情報処理等の資格取得やコンピュータサイエンスの基礎習得を学習ターゲットにする場合には有利なことがある)
  3. 他のC系言語に比べれば敷居が高いので、C言語を学習しておけば他の言語を学習する際の苦手意識が軽減されるかもしれない
  4. C言語もやったこと無い若者はこれだからみたいな老害先輩に出会った時に話を合わせられる

あたりでしょうか。

どれも短期的/即時的なメリットはあんまり無いですし、大学や専門学校で体系的なカリキュラムの一部として用意されている場合を除いては初学者が学習するメリットはあまり無いと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.96%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る