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

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

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

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

Q&A

解決済

5回答

545閲覧

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

JohnTakahashi

総合スコア4

C

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

0グッド

1クリップ

投稿2020/05/10 09:05

前提・実現したいこと

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

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

エラーメッセージ

該当のソースコード

ソースコード

試したこと

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

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

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

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

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

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

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

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

pepperleaf

2020/05/10 09:09

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

回答5

0

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

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

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

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

投稿2020/05/10 09:10

maisumakun

総合スコア146018

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

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

JohnTakahashi

2020/05/10 09:41

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

2020/05/10 10:48

逆に聞きますが、「何のために」プログラムを身に付けたいのでしょうか。 作りたいものがあるなら、それを作るのに適した言語に移るのが適切です。
guest

0

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

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

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

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

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

まとめるとこんな感じ

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

投稿2020/05/10 11:03

HogeAnimalLover

総合スコア4830

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

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

0

ベストアンサー

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

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

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

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

投稿2020/05/10 10:45

otn

総合スコア85901

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

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

0

回答

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

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

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

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

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

あたりでしょうか。

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

投稿2020/05/10 09:38

tanat

総合スコア18727

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

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

0

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

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

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

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

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

投稿2020/05/10 09:26

angel_p_57

総合スコア1681

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

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

JohnTakahashi

2020/05/10 09:49

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問