- ベストアンサー
プログラミングC言語の勉強法
BASIC JavaScript HTMLなどの 簡易な言語とはC言語 Java言語は 異なります。 文法が複雑であったり概念が抽象的で 難しいです。 身近なものに例えたり 類似させるのがよいでしょうか。 いきなり英語で覚えるのが難しいので まず日本語での翻訳文要旨として 全体の文章を覚えてから 英語を思い出していく などの方法はどうでしょうか。 日本語で要旨を覚えたら それをC言語に翻訳していくという作業です。 ご意見アドバイスお願いします。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 プログラマーしてます。 まず、英語とは考えないほうがいいような気がするのですか・・・ 自分がプログラムを組んでて、英語を意識したことは無いですねぇ。 まずは、基本概念を学習してください。簡単にでいいです。 プログラムとは? C言語とは? 何ができる? 何に使われる? 次に、簡単なサンプルプログラムを本やネットで探して そのまま打ち込んでください。 で、1行ずつ意味を理解してください。 コメントを書いてもいいです。(質問者さんの言う翻訳) 流れを理解できたら、そのサンプルコードを書き換えてみてください。 出力を1個増やしてみたり、簡単な処理を追加してみたり。 最後に、簡単なオリジナルのコードを書いてみてください。 もちろん、本やNETを見ながらでいいです。 プロのプログラマーでも、調べながら書くこと多いので。 プログラムは言語を覚えることも大事ですが、 それ以上に流れ(処理フロー、ロジック)のパターンを覚えることが 大事です。 処理フローを意識して、コーディングできるようになればOKです。 コーディングしていれば、自然に覚えていきますけどね。 がんばってください。
その他の回答 (9)
- ebinamori
- ベストアンサー率21% (96/439)
「なでしこ」という日本語でプログラミングできる プログラミング言語を知っていますか? こういうことではない?
- 参考URL:
- http://nadesi.com/
お礼
ありがとうございました。 大変遅くなりすみませんでした。
- don_go
- ベストアンサー率31% (336/1059)
ただ本を読んだだけでは、単に理解した気になるだけです 「まなぶ(学ぶ)」にはまず「まねぶ(真似ぶ)」事から始める のが基本です。 あれこれ考える前にどんどん打ち込んでいきましょう。 打ち込んだプログラムをコンパイルしてみてエラーが出たり 動かしてみた結果がおかしかったりしたら、どこかに入力 ミスが無いか見直す事を繰り返していけば、自然に覚える 結果となります。 #任意のテキストファイルを使用できるタイピング練習 #プログラムを使って何度もタイプすればタイプ練習にも #なって一石二鳥です。
お礼
ありがとうございました。 流れを理解できるように 少しずつ練習してみます。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 習うより慣れろ、だと思います。 プログラミングは知識ではなく技術ですので。 BASICが簡単だと感じられるのであれば、まずは BASICを学習し、それを踏み台にCやJAVAに挑んでは いかがでしょうか。 プログラミング言語を何か1つでも言語をかじっ ていれば、別の言語の入門書に目を通した時の感覚 は大分違うと思います。 因みに私は BASIC -> Delphi -> C++ という順 で馴れました。
お礼
ありがとうございました。 暗記物としてとらえずに 概念や流れとして捉えられる ように気をつけてみます。
- jacta
- ベストアンサー率26% (845/3158)
推測ですが... > ビギナー編 入門編などを読むと > 一通り納得して理解出来ます。 > でも抽象的なためすぐに忘れてしまいます。 多分、書籍の選定を誤ったのだと思います。 一見して分かりやすそうな本というのは、分かった気にさせるだけで、本当の理解に至らない場合が多々あります。 > 変数の数のリンゴを容器の段ボールに入れる > などと考えた方が具体的で印象に残り > 忘れにくくなるのかなぁと思い投稿してみました。 それでは、かえって抽象的になっています。 本当に具体的な概念で理解しようと思うのであれば、アセンブリ言語で、メモリマップやアドレッシングモードや命令セットなどを理解するようにした方が得策です。 Intel系のアセンブリ言語をいきなり学ぶのは大変なので、8ビット~16ビット程度の比較的現物や情報が入手しやすいプロセッサのアセンブリ言語であれば、簡単に習得できるはずです(個人的にはH8がお勧めです)。 C言語は高級アセンブラといわれるように、プロセッサごとに文法が異なるアセンブリ言語を抽象化したようなものです。アセンブリ言語が理解できれば、C言語の変数や配列が、何を表現しようとしているのか手に取るようにわかります。 Javaに関しても、基本的な文法はC言語の延長です。プラスαとして、オブジェクト指向の概念をUMLなどを通じて学べば、Javaのクラス等の機能が何を表現しようとしているのか、これまた手に取るように分かるはずです。
お礼
ありがとうございました。 無知なため書店でただなんとなく 分かりやすそうだなと思い 深く考えることなく選択を間違えました。 地道にこつこつ勉強してみます。
- inaba12345
- ベストアンサー率25% (1/4)
英語を身に付けたいのであれば、英語を勉強するしかないと思います。 遠回りした所で、結局、皆が躓いている箇所では、自分も躓きます。 遠回りしたからと言って、それが回避出来る訳ではありません。 難しいと感じたのであれば、自分のレベルに合った参考書や 優しく解説してくれているページを探して、疑問を解消。 自分は、そうやって勉強しています。 こちらのOkWaveの質問と回答も、勉強する上で、かなりお世話になってます。
お礼
英語を身につけることではなくて プログラムを自分でくめるようになる事が 最終的な目標です。 ありがとうございました。 参考にさせていただきます。
- jacta
- ベストアンサー率26% (845/3158)
> 文法が複雑であったり概念が抽象的で > 難しいです。 Cの文法は非常に単純だと思いますが... どの辺りが複雑と感じたのでしょうか? 案外、その理由を突き止めれば、道が開けるような気がします。
補足
ありがとうございました。 ビギナー編 入門編などを読むと 一通り納得して理解出来ます。 でも抽象的なためすぐに忘れてしまいます。 例えば 変数の数のリンゴを容器の段ボールに入れる などと考えた方が具体的で印象に残り 忘れにくくなるのかなぁと思い投稿してみました。 よろしくお願いします。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 「身近なものに例えたり類似させる」のは、個人的には「避けたほうが賢明である」ように思われます。 よく議論や教育でそういったことをやっているシーンを見るのですが、正直、圧倒的に多くの弊害を見ているので(私はよく「抽象化の弊害」って呼称しますが)。 日本には「守破離」という学び方があります。 まずは、よくわからなくてもしっかりと1冊2冊、書籍にそって学ばれてみるというのはいかがでしょうか?
お礼
ありがとうございました。 大学受験などではよく具体的に数値を あてはめたり物に置き換えたりする手法が よく取り上げられているので考えてみました。 再度よく検討してみます。 参考になりました。
面白いアイデアです。 が、その場合、幾つかの注意事項が必要と思います。 まず、C言語の概念や文法の背景にある設計思想と設計そのものの十分な把握を先行させること。 その上で、日本語化の最適化を試行錯誤し洗練していく工程を重視すること。 この2点がクリアされていれば、日本語からC言語への逆翻訳もスムーズに行くと思います。 まあ、ダメ元でやってみることです。 ※私は、プログラマーではありませんので悪しからず!
お礼
ありがとうございました。 参考になりました。
- yotta
- ベストアンサー率32% (26/79)
言語とはいっても話したり書いたりするほどの文法ではありません むしろ日本語に置き換える方が難しいのでは? その言語(英語?)で覚えるのをお薦めします とりあえず始めて,いろいろといじってみることが良いと思います
お礼
ありがとうございました。 試行錯誤頑張ってみます。
お礼
ありがとうございました。 堅苦しく考えずに 流れとしてとらえらるように 練習してみます。