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

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

ただいまの
回答率

90.22%

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

受付中

回答 10

投稿

  • 評価
  • クリップ 2
  • VIEW 5,511
退会済みユーザー

退会済みユーザー

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

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

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

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 10

+10

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/09/28 16:46

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

    キャンセル

  • 2015/09/28 18:03

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

    キャンセル

+6

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

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+6

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+5

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

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

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

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

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

そういった観点で考えると、 
 C言語のプログラミングは必要になってくるのでしょうか?
については、今、やろうとしていることが何なのか? によると思います。
どんなWebアプリケーションをつくりたいのでしょう?

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


追記; 2015-09-28
参考
- 機械に仕事を奪われないために今からやるべきこと 10年後も生き残る管理職の条件http://diamond.jp/articles/-/77642
...
最後に今回の対談をまとめると、決められた枠組みのなかできちんとタスクをこなすという仕事は今後、つらくなりそうであり、第六感や洞察力を磨いたり、複数の視点や領域を理解して統合したりするような仕事の仕方が求められる。それができれば今後、ビジネス環境が激しく変化しても心配することはないでしょう、といことになりますね。
...

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

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

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

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

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2015/10/05 17:48

    掲示板のようなディスクI/OとネットワークI/Oに強く依存したソフトウェアの場合、PerlをCに変えたから劇的に速くなるというのはあまり想定しにくいんですよね。メモリ上で大して負荷のある処理をもともとしていないので。

    その2chのエピソード、有名ではあるのですが、本当の話だとしても高速化の根本的な理由は不適切な処理の見直しであって言語処理系の違いは微々たるものではと。

    キャンセル

0

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

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

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

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

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

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

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

頑張ってください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

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

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

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

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

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

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