No.5ベストアンサー
- 回答日時:
私も独学です。
(wスクールに通ったりする必要は無いと思いますよと。
とりあえず、何事も始めるに当たっては、最初が肝心です。
しかしながら、コンパイラーとかの準備とかって、よく判らないと思いますです。
とりあえず、フリーのコンパイラー&デバッカ-として
ボーランド社の[Borland C++ Compiler 5.5・Turbo Debugger 5.5]
>http://www.borland.co.jp/cppbuilder/freecompiler/
そして、C/C++言語を親切丁寧に教えてくれると思われるサイトの一例のような所として
(自分の価値観に自信がもてないから~廻りくどい書き方をしてしまって申し訳ないですが…)
[ロベールの部屋]さんのHPを紹介しておきます。
>http://www1-1.kcn.ne.jp/~robe/
[猫でもわかるプログラミング]Yasutaka KumeiさんのHPもと、
>http://www.kumei.ne.jp/c_lang/
ここには、先に紹介したコンパイラーの設定方法とか書いてあります。
学ぶにあたっては、
「Windows系の関数とか調べても判らない場合は、判らない事にしておく。」
が、初めからC/C++言語の基本だと思います。
「ハンドル?デバイスコンテキストなにそれ」←OKですよ
とりあえず、
初めの関数として、printf関数系をまず何より覚える事。
(sprintf/wprintfとか種類がありますが、殆ど一緒です(ちょっち違うかもしれないけど…汗)
)
ウインドなり、コマンドラインに[Hello World]の文字が
表示できたら、そこからが大切です。
printf関数は、結果表示・デバック表示・メッセージ表示色々使えます。
実行結果、実行過程を知る上で最重要なのですすすっ。
先人からのアドバイスとして、
「学ぶに当たって、楽しくないと覚えない」
なので、楽しく学んで欲しいです。
それに、楽しくて理解がサクサク進むようになると、
時間とか忘れて熱中できますですよ。(一番最初の時は大変だけどね)
自分で書いたグラフィックとかが画面で、自分の意図したように動くと楽しくなりますよ。
テキストベースの超簡単なゲームとか住所管理ツールとか作って、改造・改良して弄くり倒したりすると覚えが早いとおもいますよ。
+アドバイス(これも個人的主観ですが…)
Q.勉強しててもさっぱりわからなくなった
A.「よくわからなくなったら、理解を諦める」
無理に理解しようとしない。
(変な半固定概念的理解が憑いちゃうから)
「別な事例に挑んでみる」
ソコから納得・理解が得られる事もある
「情熱が冷めたので休息期間をおいてみる」
ゲームとかで遊んでみる。
そして、そのゲームもC/C++とかで出来てる事を
考えながら楽しい方向&情熱を心に再燃料投下
------------------------------------------------
ここまで…
さて、仕事への情熱燃料になったかなぁ…と自分に言い聞かせてみるテスト。
No.7
- 回答日時:
No.1です。
何を勘違いしたのか、オブジェクト指向と構造化プログラミングを間違えてしまいました。
No.1の構造化プログラミングは、「オブジェクト指向」と読み替えてください。
それでは。
No.6
- 回答日時:
#1~#3の方の意見はどれも参考になりますね。
私もC++を学んでいる途中です。
「全くわからない」ということはないですが、やっぱり他の言語に比べて複雑で難しいと思います。
C++はメチャクチャ強力なプログラミング言語で、まあ何でもできる。(ただそれが問題に対して最も適切な選択かは別として。)それだけに言語体形が広大ですね。
私はBASIC, C, C++, (shell script), Perl,(最近RubyとJAVAもちょっとだけ) の順番で学んでおります。BASICをやっていたことはCの理解を助けましたし、もちろんCの知識はC++の理解の助けになりました。また、オブジェクト指向型のPerlモジュールを使うことによって、オブジェクト指向的な理解も少し深まりました。だから、#1の方が仰るように、オブジェクト指向型プログラミング言語であるJAVAを勉強し、実際既存のclassメソッドを使ったり、またそのclassを継承して自分で新しいclassを作って遊んでみるとC++のオブジェクト指向型プログラミングに関しても理解が深まると思います。
ただ、C++の言語体系は、(何ヶ月もかけて開発されるような)大規模で、処理速度が要求されるようなプログラムを、効率良く保守、拡張してゆくのに最適なように出来ているので、その様な経験をして初めて真に理解できるものだと思っております。
C++の能力を最大限に使いこなすのは私にはまだまだ先の話です。。。
No.3
- 回答日時:
独学は十分可能です。
かくいう私もいくつか言語を使えますが、学校で習ったことは一度もありません。
ただ、プログラミングは実際に実行してみないと実感がわかないので、机上の勉強だけではちょっと辛いです。
今は、どんなOSでもフリーのコンパイラが入手できると思いますので、とにかく動かしてみることをお勧めします。
No.2
- 回答日時:
私も最初から独学でC++でしたが別に問題なかったですよ。
独学で大事なのは最初に適切な入門書に出会えるかどうかです。
当たり前ですが、読者がCを知っていることを前提したC++の入門書は読んでも判りませんね。
あと、そもそもC++は他の言語に比べ仕様が膨大なので、気軽に勉強できそうな薄い入門書は全く役に立ちません。
最初からボリュームのあるきちんとした入門書を読むことが大事です。
私が勉強したのはダイテル本ですが、これは今となってはさすがに内容が古い。
最近評判の良さそうな入門書というと、この辺でしょうか?私自身は読んでません。すいません。
http://www.amazon.co.jp/exec/obidos/ASIN/4881357 …
http://www.amazon.co.jp/exec/obidos/ASIN/4774108 …
一応参考(笑
http://www.amazon.co.jp/exec/obidos/ASIN/4894711 …
http://www.amazon.co.jp/exec/obidos/ASIN/4894711 …
http://www.amazon.co.jp/exec/obidos/ASIN/4894710 …
あと、C++の基本概念であるオブジェクト指向の入門書として。これも今としては内容が古いんですが、C++をメインにしたオブジェクト指向の入門書としてはまだまだ読む価値があります。
http://www.amazon.co.jp/exec/obidos/ASIN/4881356 …
そして、一通り基本が身についたとあとで、これは必読。
http://www.amazon.co.jp/exec/obidos/ASIN/4756118 …
要は腰を据えてきっちり勉強したら独学でC++でも全然問題ないですよ。
ただ、今時C++か?って考えたら、特別 C++に固執する理由がない限りJAVAなどのトレンドな言語を勉強した方が良いのかもしれません。
私自身はC++お薦めしたいですけどね(苦笑
No.1
- 回答日時:
いえいえいえいえ。
独学でも問題ありません。自分も独学です。ただ、一つ言えることは、C++は、数あるコンピュータ言語の中で、最も文法が複雑で難しい言語であることです。いきなり、C++から勉強するというのは、かなりきついです。
自分は、
BASIC -> C -> C++ -> JAVA
というように、やってきました。
まずは、CかJAVAを勉強することを強くおすすめします。
Cの最も難しいところは、「ポインタと配列」の概念です。これは、C言語独特の概念というか、機械語に近い概念で、他の高級言語では、うまく隠されています。この機械語に近い概念を、むき出しにしてしまっているのが、Cなんです。
JAVAの他にも、他のコンピューター言語に最近どんどん取り入れられている、難しいものに、「構造化プログラミング」というのがあります。
これは、一言でいうと、クラスなどの概念を使って、プログラムの再利用をしやすくするものです。
クラス・カプセル化・継承・オブジェクトとインスタンス
などなどが、これに当たります。
C++は、Cを拡張した言語で、CプログラムをそのままC++のプログラムと見なせるように作ってある上、構造化プログラミングの上でも複雑な拡張をしています。
つまり、C言語の「ポインタと配列」という難しさに、
「構造化プログラミング」の難しさが加わった、二つの難しさがあるわけです。
今使われている言語の中では、最も複雑な言語といえるのです。
JAVAは、C++から、「ポインタと配列」の難しさをうまく取り除いた言語といえます。ポインタを完全に排除しています。
C言語は、構造化されていないので、「構造化プログラミング」の難しさはありません。クラス・継承・インスタンスとオブジェクト、などといったものとは無縁です。
従って、JAVAとCを別々に勉強した後、C++を勉強することをおすすめします。この二つをやると、ちょうどC++の二つの難しさを、一個ずつ別々に覚えられると思います。
また、両方とも現在もバリバリに使われている言語であるということも、推奨する理由です。
遠回りかもしれませんが、結局C++でも同じ概念が出てくるので、同じ事です。
いきなり、C++をやると、どの言語も覚えられないまま挫折する可能性が高いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 t検定を繰り返してはいけない理由について教えて下さい。 2 2022/05/15 12:37
- 大学院 社会人大学院へ行かれた方教えてください 3 2023/07/15 20:38
- その他(悩み相談・人生相談) これについて、やはりC氏は間違っていないと思いますが、皆さんは如何思われますか? 2 2023/04/18 03:36
- 会社・職場 友人C氏みたいな顔も頭も性格も良いスタッフが円満退職後、知らん顔されたり連絡先をブロックされた話。 4 2023/04/01 05:15
- その他(悩み相談・人生相談) 友人C氏はまさか、後から影で妬まれて毛嫌いされていたのでしょうか? 1 2023/04/02 15:08
- その他(社会・学校・職場) 友人C氏はまさか、後から影で妬まれて毛嫌いされていたのでしょうか? 1 2023/04/03 16:22
- 高校 是非自分のためにきつく言ってほしいです。 悩みがあります 僕は現在高校2年生です。 成績は悪かったも 3 2022/09/04 22:36
- 飲み会・パーティー 職場での仲の良さは下手すれば表面だけ? 友人C氏は間違ってはいないとは思うのですが。 1 2023/04/04 22:30
- 会社・職場 あの友人C氏は間違ってはいないとは思うのですが皆様は如何思われますか? 1 2023/04/29 13:37
- その他(悩み相談・人生相談) 私が人生虚しいとずっと思う理由が教養がないか金がないかこのどちらかだと発明しました!両方あれば狸に狐 4 2022/12/25 17:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
String^の^自体が何を意味して...
-
C言語で自動販売機のプログラ...
-
C#のクラスが理解出来ない
-
VB と VC++ と VC#の違いは?
-
python urlopen error について...
-
本格的なGUIを作るのにおすすめ...
-
Google ColaboでGUI作成
-
LIBCMT.LIBをリンクしてコンパ...
-
下記のアルゴリズムの問題がよ...
-
OpenCVで寸法測定
-
declaration of 'index' shadow...
-
Windows Media Playerを開くと...
-
stricmp
-
scipy っていうのをいれようと...
-
ライブラリ作成時のグローバル...
-
VC++2005から postgreSQLを操作...
-
iCloudフォトライブラリ内の画...
-
まったくのソフト開発初心者で...
-
gcc に mktemp 危険と怒られ...
-
公開鍵暗号のソースコード
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String^の^自体が何を意味して...
-
VB と VC++ と VC#の違いは?
-
なぜHTMLのソースコードが無料...
-
clock_gettimeでミリ秒の時間差...
-
HTMLってホームページ以外どん...
-
C言語で自動販売機のプログラ...
-
基幹システムからデータを抽出...
-
PCゲームのModの作り方
-
お勧めのC言語勉強用フリーソ...
-
WordPressのサイトをオリジナル...
-
c言語はどのくらい出来るように...
-
VC++とVC#の違いを教えて下さい
-
c言語の本を教えてください。分...
-
C++を読めるようになりたい
-
電脳せどり用自動売買ソフト開発
-
簡単なシューティングゲームの...
-
C#でできてC++でできないことは...
-
C言語を独学でマスターした人。。
-
初心者ですが お尋ねします。C...
-
SEになるためには。。。。
おすすめ情報