- ベストアンサー
覚え方について
プログラミングしていて、皆様はどのように覚えていくものなのでしょうか?また覚えるためにどんな点を意識してプログラミングしているのでしょうか? 頻繁に出てくる単語は自然に覚えれしまうと思いますが、そうでない場合は ありますよね?経験者に質問した所、構文は丸暗記だけど基本的には「仕組み」(概要)を覚えれば良いという人や頭の中で「図」にして覚えるという人がいました? 教えて下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「覚える」とは、一体何を指しているんでしょうか 1. 言語仕様。あるいはそれに準ずるもの。 2. アルゴリズム。 以下は1、2についての私自身の意見です。 1. 言語仕様は覚えようとは思っていません。よく使うものはそのうち覚えますし、基本的にはcopy & pasteと修正で十分です。よく使わない表現、分かりにくい表現はプログラムを見にくくするだけです。 # 例外はあります。最適化優先の場合などはこの限りではありません。 2. アルゴリズムに関しては、色々な手法を知っている方がプログラムを書きやすくなると考えているため、なるべく覚えるように努力しています。 ですが、詳細に覚えるのではなく、どんな手法があったかだけを覚えておけば十分と考えています。アルゴリズムの辞書みたいなものがあれば、それを参照すればいいだけの話です。辞書を作るのは手間なので、通常は以前作ったプログラムを参照します。 私見ですが、プログラムの構造を考える処理の方がcodingより遙かに重要である気がします。 ちなみに私は図を使って構造を考えます。決して「頭の中」だけで終わらせず、文書として残します。アルゴリズムを図で覚えようとは思っていませんが、結果的にはそうなっているかもしれません。
その他の回答 (4)
- don_go
- ベストアンサー率31% (336/1059)
プログラムは基本的に 1)代入、計算 2)条件判断 3)分岐 4)入力 5)出力 を組合せる事で作ることができます。 上記の組合せを使って処理内容を作ってしまえば あとは各言語の文法・関数等に置き換える処理を 行えばプログラムができます。 アルゴリズムを構成する為の基本的な構文自体は 言語が違っても極端な差異は少なく、個別の共通 関数にしても同様な機能を持つ事が多いので問題 になるのは、関数の置き換え処理に必要な時間を 短縮する事のみです。 あとプログラムを作成していく際の手順としては 最初に必要とされると思われる処理項目を順不同 で良いので列挙していき出揃ったらそれらを分類 ・並べ替えを行います。 この時点で共通化できるもの、同じではないが同様 なパターンで作れるもの、及び既存の知識で作れる ものと新規に調べる必要のあるものとの洗い出しを 行います。 それらをさらに整理・最適化した処理項目を1つずつ 作っていき全ての項目リストが潰れたら一応完成。 最初に作らなければいけない処理項目リストを作る 事で進捗や残作業の管理も容易になります。 同様な手順で何本もプログラムを作っていけば共通 処理やモジュールパターンの数も増えていき「この パターンでモジュールを作って下さい」といった形 で他の人に仕事を依頼する事ができる様になります。 この形でなら相手が経験の浅い人であっても容易に 作成する事ができ、自分も単なる力仕事から開放 されます。 モジュールパターン自体は言語が変わっても流用が 可能な部分もあるので0から作り直すよりはるかに 効率的なプログラム開発が行える様になります。 能力の高いプログラマーであっても、他人には仕事 をまかせるのは心配だといって、全てを自分で取り 込もうとする人は良くいますが、結局は残業三昧の 生活に陥った上に自分の手が及ばなかった個所では 問題山積となり、その対策の為にさらに時間がかかる といった悪循環に落ちる事も良くある事です。 上記の事は、今すぐにできる様になるものでは有り ませんが、何の目的も方向性も持たずに右往左往 するよりは、目的意識や方向性を持つ事でより効果 的に学ぶ助けになれば良いと希望します。
お礼
回答ありがとうございます、失礼ながらこのお礼を全ての回答者様の お礼とさせていただきます。 総括しますと、言語仕様については、無理に覚える必要は無く アルゴリズムを勉強するほうが良いという意見が全ての回答者様で 一致していました。アルゴリズムを勉強したいと思います。
- uechan_002
- ベストアンサー率38% (5/13)
通りがかりです。 1:アルゴリズムの勉強する。 2:ヘルプがあるならヘルプを使いこなせるようになる。 3:開発アプリケーションの操作方法を覚える。(デバッグがはやくなるから) コレかと思います。言語は変われどアルゴリズムは変わりませんので、アルゴリズムの勉強をする事は有用と思います。構文やらは後から付いてきまし、不明な点はヘルプを見るなり、本を読むなりで見よう見まねで知らなくても調べれば何とかなります。アルゴリズムはプログラムの根幹に関わるところで、人間が思考するところです。ココがお粗末だと、幾ら綺麗に書けてもどうにもなりません。
- debukuro
- ベストアンサー率19% (3634/18947)
重要なことは物事を順序立てて考えることが出来るようになることです これでアルゴリズムが身に付きます アルゴリズムをフローチャートにする これをしておかないと自分が書いたソースを見ても何のことか分からなくなります 言語セットなどは無理に憶える必要はありません 木を切ったり釘を打つことができても家は立たないのと同じことです
お礼
回答ありがとうございます。 言語セットは無理に覚える必要は無いのですね。 参考にします。
- Cmi
- ベストアンサー率36% (132/364)
特に意識して覚えようとする必要は無いのではないでしょうか? よく使用する部分に関しては、仰るとおり自然に覚えますし、あまり使わない物は全て覚えるのは不可能だと思いますので、どこかにメモなり残しておいて、すぐ見られるようにしておくのが良いと思います。
お礼
回答ありがとうございます。 メモですね。参考にします。
お礼
回答ありがとうございます。 自分でもうまく説明できずに漠然とした質問だと思いましたが、 意図を汲み取っていただきありがとうございます。 プログラムの構造を考える処理を図で考えるのですね。参考にします。