• 締切済み

C++を読めるようになりたい

あるIT系業務で、製品のサポートをする仕事をしないかと誘われています。 瑕疵対応なのですが、コードを読めるようにならなければなりません。 私はインフラエンジニアなので、シェルくらいしか読んだ事がありません。 一ヶ月程度の勉強で読めるようになるものでしょうか。 また、読めるようになるにはどのような勉強が必要でしょうか。

みんなの回答

回答No.6

IT関係の仕事で、プログラムが読めるかというような聞かれ方をすることはあり得ない。 たいていは、プログラミング経験が何年で、総計何ステップぐらいか、月に何ステップの コーディングをこなしたか、設計書はどのレベルまで書けるかなどです。 実際に、プログラムを読むだけの仕事というのはない。 非常に、希だけども、ドキュメントが散逸してしまって、ソースプログラムを読んで、 設計書を再生してくれないかという依頼もなくはないが、 プロのプログラマーは、原則的には、このような仕事は受けないもんだ。 ドキュメントの散逸したシステムは、地獄を見るのは、ほぼ間違いない。 プログラマー自分から地獄に飛び込んではいけない。 希に、地獄を作り出すプログラマーもいますが。 開発現場の地獄の修羅場ぐらい恐ろしいもんはないですぞ。

Libertarian2011
質問者

補足

いやサポート業務って言ってるんですが。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.5

No.1です。 ある職を得たいために、「○ヶ月で○○ができるようになりたいんです」という質問はここでも、よく見ます。 その職が、たとえば、プロジェクトマネジメントとか、基本設計書作成、もしくは法律関係の本で、仕事がキーボードに向かってプログラミングするようなものでないなら、抜群の記憶力、いわゆる写真記憶術で、関連する専門書を何冊かマスターすれば、それなりの格好がつくかもしれません。 でも、C++をはじめとするプログラミングは、暗記力は、あまり重要ではありません。そこで活用されている技術を「理解して消化」しないとダメなんですね。 そして、悲しいことに、人間って「理解して消化する」スピードは、そんなに早いものではありません。いくら急いでいても子供が1ヶ月で産まれないのと同じです。また、理解し消化するためには、「自分でコードを書いて実習」をしないとダメなようです。 例えば、記憶力が抜群な人で、速読できて、900ページもあるようなC++の分厚い専門書1冊を1日ですべて読んでしまうということが可能な人がいるかもしれません。場合によっては、内容を全て暗記できているかもしれません。でもそれは、本の文字や数字を単純に記憶しているだけで、本の内容を理解しているわけではありません。 読むだけで、全て理解できるなら、小学校や中学校の子供たちは、教科書1年分を1週間程度で終わってしまうような気もしますし、大学も1年分の課程を1ヶ月もかからず終わってしまうかもしれません。 こんなこと書いても質問者さんの役にたたないかな? まあ、現実的には、短期学習方法として、No.3さんの書かれたような勉強法がいいんじゃあないかと思います。

Libertarian2011
質問者

補足

ベンダーのL2業務をあまりよくご存じないような気がします。ここで回答しているのはほとんど開発系の人ばかりのようですね。

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.4

 学習としては、入門書を読んでみて、後は、自分でひたすらコードを書いてみるという正攻法しか無いと思いますが・・・・  純粋にC++の文法だけならたいして大きな物ではありません。問題は、この背景にある、多数の概念です。オブジェクト指向関係とか、テンプレートとか・・・あなたの知識のレベル次第ですが、モジュールの概念なども。  さらに、C++は、その言語本体だけ書かれているプログラムはありません。少なくとも、標準ライブラリーに依存し、普通は、専用のライブラリー群に支えられています。このライブラリー達を攻略しておかないと、人の書いたプログラムが読めません。この量は、どこまでの範囲を求めるかによりますが・・・極めて大きいと言っておきます。  コンソールに、hello worldと表示するだけなら、まぁ、30分もあれば終わるでしょうけど、例えば、windowsで簡単なメモ帳程度のアプリを自由に組むレベルなら、一月もあれば、よほど頑張れば、そこそこまでいけるかしら?ある程度、自分の思うアプリを組もうと思うと、年単位かかると思います。  ただし、あくまで、「プログラミング言語C++」が苦痛無く読める程度のコンピュータ言語に関する素養を前提としてです。この本は、コンピュータに関して真っ白な知識の人に勧められる本ではありませんが、読めるのであれば、ここから入ってもかまいません。多分、C++の文法と標準ライブラリーに関しては、この本一冊で全てがまかなえますし、リファレンスとしても長く重宝します。

Libertarian2011
質問者

補足

Javaはやったことがあります。 どうするかは考え中です。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

完全かそれに近い形でC++を理解することは一ヶ月程度ではまず不可能です。 あらゆるC++のソースコードを理解できるようにするのではなく、特定の分野や特定のプロジェクトに特化するのであれば可能性はあります。 ただし、一ヶ月間は血のにじむような苦労をすることになります。 おそらくは独学に加えてマンツーマンの指導を受ける方がよいでしょう。 一ヶ月間のすべての時間と数十万円以上の出費、そして最大限の努力を払う覚悟を決めてください。 そもそも一ヶ月間で本当に読めるようになる必要があるのかという疑はありますが、それはまた別の話です。

Libertarian2011
質問者

補足

仕事でつかえればそれでいいんですけどね。 まあ興味もないしやめようかなあ。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

文法的に読める程度なら1ヶ月でも大丈夫だと思いますが処理内容を理解できる程度まで読めるには1ヶ月では無理かと思います。 ただC++とはいいつつC言語としてしか使ってないケースもありますので、どの程度まで読めるようになりたいかでもかなり変わるかと。 壁となるのはおそらくポインタとオブジェクト指向あたりになるかと思います。 まずは入門書などを読んでみるとよいかと思います(私は入門書読んでないのでお勧めとかわからないですが・・・) またC++といわれてるのがC++/CLIの事でしたらC++というよりC++/CLIという言語として勉強された方がよいかと思います。

Libertarian2011
質問者

補足

まあそうでしょうね。あまり興味もないからやめようかな。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

C++のコードが読めるには、まずはC言語が読めないとダメです。 そしてC言語は、「高水準アセンブラ言語」と言われることがあるように、C言語をマスターするには、それなりのアセンブラの知識が必要です。 それを基礎にしてC++のマスターが始まります。 そして、C++は、C言語にちょっとプラスした言語という印象もあるのですけど、私が勉強した印象では、C言語よりも10倍くらいの難しさを感じました。 それは、C++には、オブジェクト指向のクラスが入ってきていますし、ジェネリックとか、テンプレートとか、STLとか、新しい概念が加わっているからです。 通常は、C言語のマスターだけで半年くらいかかると思います。C++となるとさらに半年から1年くらいかかるかもしれません。 ただ、これは私を基準に考えた場合で、適正のある方なら、もっと早く学べる可能性もあります。 それから、C言語やC++の書籍も、入門書、言語詳細、逆引き、ポケットリファレンスとか、いろいろな書籍が手元にあったほうが便利です。 また、書籍を読むだけでなく、実際に書籍のコードサンプルを打ち込みながらの勉強は必須でしょう。

Libertarian2011
質問者

補足

オブジェクト指向そのものはJavaがわかるんでそんな問題ないです。問題はポインタとかですね。

関連するQ&A