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

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

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

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Q&A

10回答

12717閲覧

WebエンジニアにC言語は必要でしょうか?

退会済みユーザー

退会済みユーザー

総合スコア0

C

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

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

1グッド

2クリップ

投稿2015/09/27 08:04

Webエンジニア志望の学生です。
Webアプリケーションなどを作っていきたいと考えているのですが、これからC言語のプログラミングは必要になってくるのでしょうか?

学習コストが結構大きいような気がするので避けたいのですが。
Web開発する上で必要になることってありますか?インフラエンジニアとかでしょうか?

ソケットでサーバとの通信を行ったりすることなどです。自らCでサーバを作成したり

nnahito👍を押しています

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

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

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

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

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

guest

回答10

0

「学習コスト」なんていうつまらないものを気にするのは人生の残り時間との戦いに入っているおれたちオッサンだけで十分です。
学生であるなら「学ぶべきか?」と思った時にはすでにAmazonで3〜4冊お買い上げ済みでありたい… いや実際それやって本当にやり切れる爆発力のあるのが学生の武器です。

さて周りを見渡しますに、C/C++ができないことで「結局のところソフトウェアの根本的な動作原理がわかってない…」というコンプレックスを持っている方は見かけます。
コンプレックス持つくらいなら今からでも勉強すればいいわけですが、まあそういう、実務案件の有無にかかわらない「必要性」もあるということで。

あと、実務案件という点ではObjectiveCが拡張C言語ですが、iOSアプリ開発にも一生関わらないと断言できますかって話も。

投稿2015/09/27 23:25

yuba

総合スコア5568

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

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

退会済みユーザー

退会済みユーザー

2015/09/28 07:46

なるほど。回答ありがとうございます。非常に参考になりました。 確かに、まだ触り程度しか分かっていないのに、このような質問をするのは軽率でした。 徐々に学んでいこうと思います。
yuba

2015/09/28 09:03

お説教みたいな回答ですみません。お聞き入れいただき恐縮です。
guest

0

Webアプリ自体の作成には、特に必要ないと思います。
ただし、フレームワーク等の開発に携わりたいのであれば、ある程度知っていた方が良いかもしれません。

いずれにしても、Webアプリの開発には非常に多岐に渡る知識が必要であり、一朝一夕には身につけられないものなので、C言語でプログラミング(=実装)出来ることよりも、Webアプリの仕組みをしっかり理解することの方が遥かに重要ですし、仕組みを理解出来ていれば必要に迫られた時にC言語の勉強をしても間に合うと思います。

言い換えると、C言語が完全に不要とは言い切れないかもしれませんが優先度はずっと低いので、現時点ではあまり気にしなくても良いと考えます。

投稿2015/09/27 08:25

pi-chan

総合スコア5936

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

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

0

サーバのサービスプログラムを作るなら必要だと思いますが、通常WebエンジニアってWebサービス上のスクリプト言語でプログラムを組むと思うので、直接触るケースは少ないんじゃないでしょうか?
もちろん知っているに越したことは無いです。
うまい例えが思いつきませんが、「プログラムするならアセンブラは解ったほうがいいでしょうか?」とか「情報処理技術者試験の取得は必要でしょうか?」みたいな?
知っているほうが、深い部分の理解が進みますし、トラブル時も何が原因か想像のつく範囲が広がりますし、本末転倒な処理を書くケースも減ると思いますし、滅多に無いでしょうが誰かが作ったサービスを修正する羽目になる事が無いとも言えません。
が、必須かといえばそうでも無いと思います。理解を深めるためにおいおい手を出す感じで良いのではないかと思います。
SE系なら知ってたほうがよいかも。

投稿2015/09/27 08:23

編集2015/09/27 08:29
hirohiro

総合スコア2068

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

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

0

... Webアプリケーションなどを作っていきたい...

作りたいものを実現するために必要な事柄を調査したり専門家に聞いたいりしながら、その都度 学習していく能力こそが、これからは必要とされると思います。

数年前に, 将来の為にと flash の学習に時間やお金をつかった方もいるとおもいます。
でも現在は Flash は過去のものとなりました。
数年後にはどんな言語が現れ、何が過去のものとなってしまうかは予想できません。
でも 過去のものとなった事でもそこで学んだ知識は無駄になるわけではありません。
新しい技術・分野のなかで、それらの過去の知識・技術が生きるシーンが多々あるのです。

いつでも 現時点で自分にとって一番必要な事柄を全力で学び、環境に変化に適応していくことが大事と思います。

そういった観点で考えると、

C言語のプログラミングは必要になってくるのでしょうか?

については、今、やろうとしていることが何なのか? によると思います。
どんなWebアプリケーションをつくりたいのでしょう?

さらに言うと、自分が技術について知っていなくても良いこともあります。
専門家をチームとして集めれば済むのです。

追記; 2015-09-28
参考

...
最後に今回の対談をまとめると、決められた枠組みのなかできちんとタスクをこなすという仕事は今後、つらくなりそうであり、第六感や洞察力を磨いたり、複数の視点や領域を理解して統合したりするような仕事の仕方が求められる。それができれば今後、ビジネス環境が激しく変化しても心配することはないでしょう、といことになりますね。
...

投稿2015/09/27 12:03

編集2015/09/28 11:15
katoy

総合スコア22324

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

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

0

Webアプリケーションで使用するソフトウェアの中にはC言語で書かれたソフトウェアもそれなりにあると思いますので、 セキュリティーとかパフォーマンスの問題 を掘り下げる必要があれば、C言語で書かれたソフトウェアを読むことも求められるかも知れません。

ですが、そういうことよりもやはりWebアプリケーションを構築する能力の方が強く求められると思いますので、付加的な能力と考えて良いでしょう。

投稿2015/09/27 08:53

argius

総合スコア9388

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

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

0

簡潔に私が思ったことを。
C言語の知識はあって損はない」とおもいます。

以下、その理由。興味がなければここまでで。

その昔、2ち●んねるという掲示板が設立されました。
それはそれは膨大なデータ通信が行われるサービスです。
今この時代は、ネット回線、マシンの性能、HDDからSSDへ進化など、様々な発達がありますが、
それでもサーバが落ちるなんてことはあります。

昔2ち●んねるはperl言語で構成されていました。
perlはスパゲティーコードになりやすいですが、処理が早いです。

しかし、それでも処理が追いつかないことを知った開発軍は、
「C言語ってめっちゃ処理速度早くね?」
と、2ち●んねるのコードをすべてC言語で書き直したそうな。
現在もC言語で動作しているそうです。

他にも、PHPは動作を早くするため、C言語で書きなおされたとかなんとか……

投稿2015/09/28 14:58

nnahito

総合スコア2004

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

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

yuba

2015/10/05 08:48

掲示板のようなディスクI/OとネットワークI/Oに強く依存したソフトウェアの場合、PerlをCに変えたから劇的に速くなるというのはあまり想定しにくいんですよね。メモリ上で大して負荷のある処理をもともとしていないので。 その2chのエピソード、有名ではあるのですが、本当の話だとしても高速化の根本的な理由は不適切な処理の見直しであって言語処理系の違いは微々たるものではと。
guest

0

昔少しC言語で組み込みをやっていて現在はGolangやPythonでWebアプリの企画・開発を行っている者です。

結論から言えばC言語は不要です。

WebエンジニアはWebアプリケーションが作れてナンボですが、C言語が使えなくても立派なWebアプリは作れます。
教養や基礎技能としてCが使えて無駄になることは恐らく無いと思いますが、優先順位は限りなく低いでしょう。
別の方も書いておりますがWebアプリ屋にとって基本情報などと同じく「あった方が理解が進むけど無くても困らない」というレベルです。

C言語を直接使う分野は組み込みやLinuxカーネルの開発、プログラミング言語自体の開発、GPUプログラミングあたりでしょうか。
他にもたくさんあると思いますが少なくともWebエンジニアからはあまり縁の無い世界なので、Webエンジニアを目指すならまずは最近の言語(RubyでもPythonでも何でもお好みで)で真っ当にWebアプリケーションを作れるようになるのが最優先だと思います。

投稿2017/06/12 17:30

Ryo_Yamaoka

総合スコア45

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

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

0

私はC言語がメイン言語の開発者です
しかしC言語が全てとはいいません。アセンブリ言語を一つ理解できればC言語は理解したも同然ですから。
C言語はもともとアセンブリ言語のマクロ的な位置づけで始まったものです。
つまり根幹はコンピュータのアーキテクチャー知っていなければ全てを理解することは困難な言語です。

Webプログラマーはそういったアーキテクチャーに依存しない世界なので、C言語を理解することは必須ではないかも知れませんね。

C言語を極めることはアーキテクチャーを理解すること。

Webプログラマーが「性能」を意識しないくらいにテクノロジーが進化した段階では、C言語なんていらない気がします。

もしC言語を捨てるなら、テクノロジーの進化による高速化(量子コンピュータの世界)が1日も早くくることを願うしかないですね。
C言語の世界に生きている私も、スクリプト言語達の性能が文句ないものになれば、こんな煩わしい作業をしなくていいんだろうなと思っていますよ。

頑張ってください。

投稿2016/01/28 09:13

DeepDiveIntoSea

総合スコア33

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

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

0

C言語は本来Web系とは間逆の業界で活躍してる言語です。

いえいえサーバーで主流のUNIXを作るための言語としてPDP-11上で
生まれたことぐらい知ってますよ!

↑という分野の言語ということです。

投稿2016/01/12 19:57

mike

総合スコア118

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

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

0

Webアプリケーションは、Perl, Python, PHP, Rubyといった動的言語で開発されることが多いです
覚えておいたほうがいい言語はPHP,Ruby,Java,C言語です。
金融システムなどではJavaが使われることも多い。(セキュリティに特化しているため)
高速化のためにC言語が使われるので C言語は必要です。
(遅い物など必要ありませんなので、facebookなどでは、C言語などに変換さています)

投稿2015/10/01 16:44

編集2015/10/01 16:46
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問