• 締切済み

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% (1620/5655)
回答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

  • WordとExcel

    IT系の仕事をされている方に質問です。 IT系の仕事(プログラマー、システムエンジニア、インフラエンジニアなど)をされている方は、ExcelやWordも業務で使いますか?

  • ITエンジニアの今後のキャリア

    インフラエンジニアをしているものです。 業務は主にWindowsServer(たまにLinux)の構築やスクリプト、マクロ作成等です。 3年程勤めていて転職を考え始めているのですがこのままのキャリアだけで大丈夫だろうかと不安になります。 最近ネットで見たニュースでは「2030年代は先端IT人材(AIやIOT)は30万人不足になるが従来型IT人材は10万人余剰になる」と言う話を読みました。どこまで正しい情報か分かりませんが。 私のようなインフラエンジニアはどのようなキャリアを歩めばお金に困らないのでしょうか? 仮にAIエンジニアになるとして仕事の片手間で勉強して転職できる程度のものなのでしょうか? このままインフラエンジニアとして生きていく場合どのようなスキルを習得すれば余剰の10万人にならなくて済むと思われますか? やはりクラウドやセキュリティ等でしょうか? 治験のある方教えてください。お願い致します。

  • IT業界の転職について

    IT業界について、 只今就職活動中で現場の方、もしくは、現場に詳しい方の意見を参考にさせていただきたいため質問させていただきます。 IT業界という業界的にかなり変化が大きく不安定な職に就く際、やはり転職という考え方も必要になってくると思います。(ベンチャーなどではなく、大手子会社やインフラ系子会社ならば安定するかもしれませんが・・)私個人転職に強いエンジニアを目的に就職活動をしており、転職する際にはできれば同じ業界のITに転職したいと思っております。 そこで質問です。 やはり転職する際の武器となるのは、こういったことができるや、具体的にこう言ったことを経験したなどが言えることが強いと思います。それらの経験多いと、好印象をもたれると思います。(もしくは、一つに特化したほうがいいのか?転職の際はプロジェクトマネージャ等の役職?を求めているのか?そこら辺はいまいちわかりません・・・) よって、職種の中で一番色々な経験ができるのは、どれになるでしょうか? (私的にはIT業界であれば、何にでも楽しくやっていける自信がございますので、やってて楽しいことなどはすべてに当てはまります。) ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・ITコンサルタント・システムコンサルタント ITコンサルタント(アプリ)、ITコンサルタント(インフラ) ・プリセールス プリセールス ・アプリケーションエンジニア/システム開発 業務系アプリケーション開発(Web)、業務系アプリケーション開発(汎用)、Webサービスアプリケーション開発(BtoC)、業務系アプリケーション開発(オープン系)、パッケージ・ミドルウェア開発 ・通信インフラエンジニア サーバーエンジニア(設計/構築/運用/監視)、ネットワークエンジニア(設計/構築/運用/監視)、データベースエンジニア、セキュリティエンジニア ・サポート・ヘルプデスク テクニカルサポート、ヘルプデスク ・社内情報システム(社内SE) 業務系インフラ系業務系・インフラ系 ・研究開発・R&D 研究開発・R&D ・品質管理 品質管理デバッグ・テスト・その他 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ※DODA参考 できれば根拠ともに、意見を頂ければ幸いです。 よろしくお願いします

  • 社内SEでもインフラエンジニアでもない呼称は?

    私は、自社内のITインフラ(ネットワーク、サーバ、業務アプリ)全般の構築から運用まで行うエンジニアです。 一言でいうと、私の職務はなんでしょうか? 一種の社内SEだとは思うのですが、開発系の業務が本業ではないので社内SEと呼ぶには抵抗があります。 以前はネットワークOSを扱うだけで、ネットワークエンジニアと呼ばれる時代もありました。 少し前まではITインフラエンジニアと自称していましたが、昨今ではインフラエンジニアと言えばWeb系のLinuxエンジニアを指すのが一般的になっています。 アウトソースやクラウド化が進み、社内でITインフラを運用するのが一般的でなくなってきています。 一方SIerは構築から運用サービスまで領域を広げてきています。 じゃぁ、社内SIerでも良いかと思い始めているのですが、一般的ではなさそうです。 何か分かりやすい呼称はないでしょうか。

  • インフラエンジニア 未経験

    お世話になります。 今年24歳になる女です。 今、いろいろ訳あって転職を考えており、 その中でもインフラエンジニアの求人が目に留まり、面接日が決まりました。 理由は、 ・「未経験でも可」と記載が有るから ・事務や接客業ばかりでなく、専門知識を身に着け、「手に職」をつけたいと思っていたから ですが、私はエンジニア関係は全くの未経験。 関係する資格も持っていません。 インフラエンジニアについてはいろいろネットで調べてみたんですが、 全く想像できない、未知の世界です。 そこで質問ですが、 ・インフラエンジニア未経験・無資格からスタートというのは、無謀すぎでしょうか。 ・ネットで「エンジニア関係は、生涯勉強が必要」と書いてあったサイトが有りました。 技術が進化していく分野なので当たり前だと思いますが、 生涯家でも仕事に追われて、自分の時間がなくなってしまい、365日仕事漬けになるのではないかと少々不安になっています。(将来結婚、出産を夢みているので・・・) やはり、そのくらいの覚悟は必要でしょうか。 因みに、下記が仕事内容(求人内容です) ・初級インフラエンジニア募集/未経験可 ・仕事内容⇒ルータ機器運用・保守業務/顧客やベンダーなど、パートナー業者との折衝業務/障害対応、トラフィック調査対応、維持管理 他 勿論、面接で落とされる可能性が大きいかもしれませんが、 面接前に有る程度の心構え(?)をしておきたいです。。 よろしく願します。 ※面接日が近く、不安に駆られている状態ですので、少々ナイーブになっています。 喧嘩口調や、刺さるような言葉による回答はお控え頂けると幸いです。

  • 高卒でインフラエンジニアになったら昇格できますか?

    高卒でインフラエンジニアになるのは厳しいですか? またインフラエンジニアは簡単な作業から難しい作業まで幅広くあるようですが、高卒だと難しい仕事は中々させてもらえないでしょうか? 着実に昇格していきたいと考えていますが難しいでしょうか? やはり大卒でないと上流?の行程はやらせてもらえないのでしょうか? いずれは月50万くらい稼げればいいなあと思っていますが、大卒でなければやはり難しいですかね? インフラエンジニアは学歴社会でしょうか? 大卒と高卒の人間ではできる仕事が違いますか? 高卒でインフラエンジニアになって5年目と、大学で4年勉強し卒業してインフラエンジニア1年目では、やはり大学で勉強してきたほうができることは多いでしょうか?

  • エンジニアについて

    インフラエンジニアはセキュリティ対策を考えながら業務を行っていくのでしょうか? また、サーバーエンジニアとネットワークエンジニアでは、どちらのほうがセキュリティ対策が必要ですか?

  • 技術革新の影響に伴い変化するITで生き残る処方箋

    これまでネットワークエンジニアを中心にインフラ業界で活動してきて、今30歳代後半です。 これまでIT業界での職種の違いは、まずソフト開発かインフラ(サーバSEとネットワークSE)に大別され、 インフラSEの中でも、それぞれ専門性を区分けしてきただけに、サーバのみ、ネットワークのみという専門家としてのワークスタイルが通用してきたのですが、 ESXiをもとにした仮想スイッチなども登場しているため、サーバSEがネットワーク業務を兼ねるケースが増えています。 これまではスキル的に対応が可能でも業務として行うことは、そこまで多くなかったと思いますが、 仮想が一気にその隔たりをなくしているように感じます。 Linuxが元々できるネットワークエンジニアはLinux業務も兼ねるケースがあるかと思います。 ソフト開発者もインフラSE業務を行うケースも当然出てきており、クラウド化のIT業界に対する影響は、私の予想を超えています。 前置きが長くなってしまいましたが、IBMがワトソン君を開発などもしているし、AIロボット×クラウドによるIT業界への影響を予想しています。 クラウド化が進み、仮想技術がもてはやされていますが、上記の背景を踏まえると、 ワークスタイルの隔たり自体が無くなっていくのでは?と考えており、 まわりに流されて仮想技術の仕事だけをしていくことに不安を感じています。 私の場合はLinuxコマンドもプログラミングも未取得です。 今後のキャリア、この業界でめしを食っていくことを考えると、 サーバOS・Linuxコマンドも覚えて、インフラを包括的に学ぶか、 このままネットワークエンジニアとしてプログラミングを覚えて、業務効率化・自動化という点を突き詰めるか、 はたまは、プログラミングもサーバコマンドも覚えて、"ネットワークが分かる"サーバSEとして業務を開拓していくか 来る何か?の影響によるIT業界の変化を、皆さんはどのように乗り切ろうとしていますか? ご意見・アドバイスをお願い致します。

  • IT系の資格

    経験が浅いITエンジニアの場合、業務に関係のある資格を取得したほうがいいでしょうか?インフラやネットワーク系なので、LPICやCCNAの取得を考えています。

  • CCNAを取得するには

    現在IT系の会社に就職していまして、運用サポート業務を2年と少ししています。 ネットワークエンジニアに転職を考えていまして、とりあえずCCNAを取得しようと思っています。 知識のレベルとしてはかなり低いです。 運用サポートをしていましたが、ルータやスイッチを触ったことがありません。ネットワークに関する知識も基本情報技術者試験レベルのものしかわかりません。 (1)取得にはどれぐらいの期間が必要でしょうか? (人それぞれだと思いますが、参考程度に仕事をしながらの学習ということを前提に教えてください。) (2)おすすめの勉強方法 (3)おすすめのサイト (4)個人差はあると思いますが、難しい試験でしょうか?

専門家に質問してみよう