- ベストアンサー
プログラミングの打開策について
2年目のプログラマーです。 小さい会社にいて設計も兼ねています。質問なのですが、プログラミング で「ある事がしたい」のに文法がわからない時があります。自分はこの場合ネットや人に聞くのですが、答えが必ず自分では調べてもわからない事がほとんどです。もちろん人やネットに聞く前に自分で調べますが、わかりません。そして答えはもちろん本やヘルプには出ていません。そういう プログラムを動作してみて初めてわかる(推測の時もあります)答えは 経験でしか身につかないのでしょうか?。それともよく調べればどこかに書いてある(ヘルプや本)のでしょうか?。最近こんな事が頻繁に続き 自信が無くなりかけています。人だのみが多く答えがわかっても、正直 「自分では幾ら時間を掛けてもわからないな」と思ってしまいます。 これは普通の事なのでしょうか? (アルゴリズムや基本的な文法など時間をかければ出来るものと違います)
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
>「かゆい所」がかけないものばかりではないですか? だから4~5冊読むことになります。また、答えそのものが書いてある事はまれなので、「ヒントが貰えれば」ラッキー程度の期待で読んでいます。 >ご自分で購入されているのでしょうか? 自分で買います。月1万以上は投資として必要かも知れません。 >納期はどうですか、間にあいますか?。 「出来ない」物は受けないことです。開発する筋道が人に語れるならば受けますが、出来なければ「調査」として受けます。 (PS) 10年前に読んだ事を使う。。。ような場合が多々あります。知識の引き出しを多く持っておく事ですね。また、自分に合った知識獲得方法を持つのが重要だとも思います。何でも知らないことばかりなので新しい知識を獲得する自分なりの知識(メタ知識)を覚えましょう。
その他の回答 (7)
No.7です。 >おそらくsuzume00さんは優秀な人なのですね。 そんなことは、まったくありません(笑)。 ただ、私も入社2年目でプロジェクトリーダーを任され、半泣き状態で、時にストレスで体が食べ物を受け付けなくなったりしながら(24時間胃が痛かった・・・)、プログラミングしてたので、どうも他人事と思えなくて ^^;) まず、問題解決の時には、その問題をどう分割・類型化するかがポイントだと思います。 たとえば、「オーストラリア産の牛肉のステーキを食べる」という処理がわからない場合、「フォークとナイフの使い方」が、問題のポイントだな、ということです。 ここで、「オーストラリア産」や、「牛肉」といったことにこだわっていると、問題解決には近づけません。 次に、フォークの使い方だったら、「パスタを食べる」処理を、ナイフの使い方だったら「魚のさばき方」(ナイフじゃなくて包丁だけど、まぁ参考になるだろうという目論見で)、を探して調べるという感じです。 もしかしたら、そういう意味でプログラミングは、物理や数学の応用問題を解くのに似ているかもしれません。 公式を覚えただけでは、さっぱり解けないけれど、やっていくうちに、だんだん公式が身についてくる、使い方がわかるようになってくるという点がです。 そういえば、今まで知り合ったPGの中に2名ほど数学科卒業の人がいますが、彼らのアルゴリズム組み立ての能力は卓越していました。私は一生追いつけないと思いますが(本当に)、それを補うのは経験しかないと思っています。
お礼
回答ありがとうございます。 >問題解決の時には、その問題をどう分割・類型化するかがポイントだと思います。 参考します。
何回かご質問を読み直してみたのですが、いまいちどういうことなのか、ピンときません。 >そして答えはもちろん本やヘルプには出ていません >アルゴリズムや基本的な文法など時間をかければ出来るものと違います 具体的にはどんなこと(すでに解決済みのものでも)なんでしょうか? ちなみに私の場合、DELPHIは使ったこと有りませんが、VBはヘルプでほぼこと足りてましたが・・・。
お礼
回答ありがとうございます。 おそらくsuzume00さんは優秀な人なのですね。自分はヘルプ見て、本で調べて、ネットで調べて、人に聞いて、それでも時間の関係であきらめる事があります。 この質問自体、相対的なものがあると思いますので、人によっては簡単 だと思う事もあるでしょうし、要は実力は抜きにして、こういう経験をした事がある人についてアドバイスを貰いたいと思っています。
- amru05
- ベストアンサー率63% (33/52)
私の経験では。。大体、解決できない問題はありませんでした。。理由は。。。。 1)自分より賢い人は山ほどいる。 2)自分が問題としているような事は、既に多くの所・人で解決されている(自分の問題が、世界最先端の仕事で、タイムマシーンを作るような事でも無い限り。。) 3)よって、出来るはずだ。 4)やってみよう、調べてみよう で、どうにかなっています。 次に、調べる方法ですが、 5)一つは本ですね。ただし、1冊では中々たどり着けない場合が多いので、同じ分野の本を4~5冊は最低見ます(その結果、JAVA関係なら20冊以上たまってしまっていますが。。。その他も同じような。。。なかなか捨てられず困っています)。 6)次は、今はインターネットですね。。ただし、体系的な知識の吸収は難しいので、本に回帰しますが。。 7)最後は、ソースですね。。。同じような事をしているソースが結構世界にはあるはずです。多量のソースを見れば参考になる点が山ほどあります(多量に見るためにソースナビなどのTOOLを使用しますが)。 ==> 結果的には、「好き」か「嫌いか」になるかとも思います。。とにかく、「好き」なら覚えることも楽しいでしょうから、ドンドン知識も増えて実力も上がるでしょうから。。。。「業界」本やソースをいつも読んでいて楽しいならば大丈夫と思いますが。。。 (PS) >プログラムを動作してみて初めてわかる そうです。。。頭では分かりません(本に書いてある事も間違いが多々有ります。そのために4~5冊は読みます)。手を動かして、実際にやってみて初めて分かるものだと思います。。。手と体で感じをつかみ、その理論を再度、本で確認して初めて身に付くでしょう。
お礼
回答ありがとうございます。 1)~4)まで自分もそう思います。 5)ですが本で調べるという事。わかりますが、初心者向けの本が多く て「かゆい所」がかけないものばかりではないですか?、またあったとしても専門書なので高価じゃないですか。ご自分で購入されているのでしょうか? 6)もっとも期待しているのですが… 7)ソースですね。なるほどです。 結果的に非常に時間がかかる作業だと思ってしまいます。 こういう時間を含めて開発期間というのはわかりますが、納期はどうですか、間にあいますか?。 本当に自分も、「好き」か「嫌いか」になると思います。 納期があるのであせってしまうのですね。そういう事も含めて「好き」 にならないとこの業界やっていけないのでしょうね。
- PrintScree
- ベストアンサー率25% (538/2091)
#2です。 マニュアルは慣れるしかありません。その他にも、一般書籍を色々と読みました。 一番読みにくかったマニュアルは、Oracleですね^^; 一応会社で8iのマニュアルセットを買っていたので、全部読みましたが、慣れました^o^; で、常用しているのはオライリーのSQLハンドブック。
お礼
補足回答?して頂き恐縮です。 マニュアルは慣れるしかないのですね。確かにマニュアルが一番確かな 情報ではありますよね。参考にします。 ありがとうございました。
- masa5216
- ベストアンサー率0% (0/1)
こんにちわ、9年目の同業者です。 私も自分で解決できない問題はネットで質問してます。 新しい技術がどんどんでてくる今の状況では全てを吸収するのは不可能に近いです(私の場合ね)。 ただし、他の回答者さんが言ってるように自分のものにしないと意味がありませんよ。 自信をなくしてるようですが、何でもいいから得意分野を持つことです。 たとえば「SQLなら俺に聞け」って感じで。 何でも他人に頼ろうという姿勢ではこの業界で食っていけませんよ。 個人的な経験でいえばtomojyuuのように自分で調べる姿勢があれば大丈夫だと思いますが。 がんばってください。
お礼
回答ありがとうございます。 得意分野ですね...意識してみます。 ネットで質問しているとの事ですが、回答がなかなか貰えない時ありますよね?そんな時はその問題は保留にして先に進んでいるのでしょうか? (自分はそうしています。)
- PrintScree
- ベストアンサー率25% (538/2091)
私の場合、そういうときはマニュアルを読み倒します。 C言語の下地と、MFCのマニュアル及びWin32APIの本を全部目を通しているので、VisualBasicにしろ、VBA、Javaなど、スッと命令が思い浮かびます。 投げやりな言い方ですが、「本を読め!他人が書いたコードを理解しろ!」です。
お礼
回答ありがとうございます。 PrintScreeさんのような調べ方が王道のような気がします。 悲観的な事を言ってしまいますが、マニュアルは読みずらくないですか?
- dekopa-
- ベストアンサー率42% (161/378)
> 答えが必ず自分では… > 正直「自分では幾ら… なんというか、既に諦めてますよね。人の書いたコードを読んで「なるほど!」と感心するのではなく、「こんなの思いつかない」と考える姿勢が間違ってます。同じ問題が出てきたとき、自力で解決できますか? > 経験でしか 問題を解決した時、そのノウハウを吸収しようという姿勢がなければ経験は積めません。 > これは普通の事なのでしょうか? いいえ。 普通の人は失敗から学びます。人が書いたコードを自分の物にして、次に生かします。それができない人も、貴方のように後ろ向きには考えません。 正解が手に入って喜ぶなら兎も角、正解を手にして卑屈になってどうするんですか?
お礼
回答ありがとうございます。 >正解が手に入って喜ぶなら兎も角、正解を手にして卑屈になってどうするんですか? 卑屈になっているというより、感心してしまうのです。また、自分の物にしようとしますが、文法自体が独立していて、あまり関連性が無いのも事実だと思います(書きませんでしたが、高級言語?VBやDELPHIなどをやっています。)
お礼
補足回答ありがとうございます。 >何でも知らないことばかりなので新しい知識を獲得する自分なりの知識(メタ知識)を覚えましょう。 わかりました。参考にします。