- ベストアンサー
プログラミングのコツを教えてください
閲覧ありがとうございます。 私は今未経験でプログラミングの研修をしているのですが、わからない所だらけで調べて(大体解決しません...)人に質問してばかりです。 しかし、私と同じように未経験なのに進捗がすごく進んでいる方もいます(私よりも後に入ったのに...( ;´Д`))。 そこで質問です。プログラミングのできる方は、作業の際にどのような事をしているのでしょうか?私のような素人にプログラミングのコツを教えていただきたいです。回答よろしくお願いします。
- みんなの回答 (18)
- 専門家の回答
質問者が選んだベストアンサー
おそろしく、個人差があるので、隣の人と自分を比較しない方が良いですよ。 良く、数学的な素養とかいう表現がありますが、論理的に手順を分解できるかどうか言う訓練がちゃんと出来ているかどうかで全然違ってきますから。 プログラミングのコツなんて、即効薬はなかなかないもので、地道に思考能力を鍛えていくしか無いです。 さて、研修の内容をそのまま家に帰ってまでやっても面白くないでしょう。人は、面白いと思えないと、のめり込めませんから、 折角、書店でいろんな本を眺めているなら、研修の内容なんかお構いなしで、自分が面白いと感じる本を買って読んでみるのも一つの手です。出来れば、ちゃんとコンピュータに実際に入れて実行して見ること。さらに、その後で、少しでも良いから、「ここをこうしたらどうなるだろう?」という所を見つけて実際にやってみることです。 後は、そうですね。もし、書店にSBクリエイティブ刊行の数学ガール(結城 浩著)が見つけられるようなら、のんびりと読んでみると、頭の体操になります。このシリーズの内容の幹の部分の考え方は、まさに、今あなたが必要としてることだと思います。
その他の回答 (17)
- 1208_sasaki
- ベストアンサー率0% (0/1)
プログラミングはできるようになってしまうと 「できなかった頃」の悩みを忘れてしまいます! 講師や周りの人のトゲのある言葉は 無視した方があなたにメリットがあります! 自分もプログラミング未経験 で入社しました プログラミングの研修では 講師の話は早くて 何を言っているかわからないまま進むし 周りの同期の研修生たちは どんどんコードが書けてるし・・・ 毎回テストが出されるんですけど 自分は隣の人に教えてもらいながら 回答していました・・・ 最初の2週間くらいは 隣の人によく質問してたんですけど だんだん気まずくなってきますよね 「こいつ、クソ頭悪いんじゃ・・・?」 って思われるのが嫌で 質問もしないようにしていました 家に帰ってから インターネットや参考書を 調べ漁ってましたね、あの頃は 寝る前とか 「なんで自分だけこんなできないんだろう」 「やっぱ頭の出来が悪いのかな・・・」 なんて悩んでました 日に日にストレスも溜まっていって 朝、会社に行く前に吐いたこともあります 表現するなら、本当に「地獄」でした 最初は会社を辞めたら 再就職に苦労するだろうし・・・ なんて思って頑張ってたんですけど もう耐えきれなくて 「本気で会社を辞めよう」 と決心して、先輩に相談したんです 「プログラミングの勉強をいくらしても 研修に全くついていける気がしないんです。 このままだと、仕事で絶対に足手まといに なりますし、向いてないんだと思います」 こんな感じなことを言った気がします (昔の話なのでうろ覚えです) そしたら、私に個人指導という形で ある先輩を紹介してくれたんですね 今までは、周りの同期とか 講師にしか聞いてなかったんですけど 個人的に質問に答えてくれる先輩で ずっとその人に聞いてました 少しずつ研修もわかるようになってきて コードも書けるようになってきたんですよ 会ってから 2ヶ月くらい経った頃には ほぼ同期の人と並ぶレベルになってて (もしかすると少し上だったのかも) その先輩の意見を参考にしつつ 自分でサーバーを借りて Webで何か作ってみたんですね その時のサービスは お試しって感じだったんですけど それから、いろんな言語を吸収していって Web上でいろんなものを作って・・・ 今では、会社を辞めちゃいました ちょっと非道徳ですけどね 自分のスキル一つで 暮らしていけるようになったので いわゆる在宅ワーク状態です 何より、未経験で入社してしまって 会社を辞めにくい以上 誰か頼りにできる人を探してください 研修についていけなくて 誰から見ても落ちこぼれになって 周りの人のヒソヒソ声が気になるようになったり この先、仕事をしている時に先輩から 「お前、ほんと使えねえな」 と言われる こんな状態になってからでは モチベーションの修復が難しいです 私自身そうだったので プログラミング未経験で入社した人向けに 勉強法を紹介しています 勉強用の教材も作成し 無料でプレゼントしています 私でよければ サポートするのでご連絡ください
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
セキュリティーの問題で(Webでの) Java アプレットは敷居が高くなりすぎてしまいました(それならアンドロイド Java の方が敷居が低いくらいです)。 もし、将来的にホーム・ページとかの作成を考えているのなら、Java ではなくJavaScript が必要になると思います。 下記は僕が作った JavaScript のサンプルです。 CheckQuestion031 http://ashtarte.hotcom-web.com/utf8/smt.cgi?r+sara/&bid+00000020&tsn+00000039&bts+2016/05/01%2012%3A11%3A41& TabSelector005 http://ashtarte.hotcom-web.com/utf8/smt.cgi?r+sara/&bid+0000001C&tsn+0000001C&bts+2016/05/01%2000%3A20%3A15& MyPicture http://ashtarte.hotcom-web.com/museum/mypicture/
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
> 意味分からんでもコツコツ書け 僕としては意味を理解しながらコツコツ書けです(フレーム・ワークなどを使う場合は(フレーム・ワーク自体の)意味は分からんでも おkです) 重要なので2度書きます(笑) 大工になりたい人が本ばかり読んでいても技術が上達しないのと同様に、プログラマーはプログラムを組まなければ上達しません。 プログラミングの研修以外に、自分の作りたいプログラムを作って見ましょう(これこそ正にプログラミングの勉強です)、ただし自分の作りたいプログラムに熱中しすぎると学校の成績が下がるかもしれません。 > プログラムをイメージする (1).大まかなフローをイメージしましょう(このレベルではフローチャートは必要ありません)。 (2).それより少し細かい、肝となる処理のフローをイメージしましょう。 イメージできない場合はフローチャートを書きましょう(イメージできるならフローチャートは必要ありません)。 書き直しで1枚の紙に収まらなくなったら、ハサミとテープで切り貼りしましょう、フローで他のページに飛ぶ場合はページ番号とフローの番号を書いときましょう(2ページ目に飛ぶ場合は「P2:X」みたいな感じで)、ページ番号は連番である必要はありません(2ページ目に1枚追加したらページ番号を「P2.2」みたいにするとか、既に「P2.2」、「P2.3」が存在して、その間に追加したいなら「P2.2.2」みたいにするとか。 授業でフローチャートを提出する場合はチャント清書しましょう。 (3).最後にソースの打ち込み。
お礼
回答ありがとうございます!
- Wap58
- ベストアンサー率33% (29/87)
JAVAカテゴリーなのでオブジェクト指向に例えます 目的は「プログラミングのコツを教える」です ルートクラスは暗黙な、言語入出力があります 継承したサブクラスには抽象化された質問者さんの思考 質問者さんのサブクラスは将来拡張されるでしょう 答えを得るにはまずプロパティで言語などを指定します 提供されたメゾット(考え方)を憶測して演算を送ります 実際、質問される内容からしか送る内容も判断できません 関数部分だけで通用するか、ルートクラスまでさかのぼるか 今、送れるメゾットは「意味分からんでもコツコツ書け」そんで ハチャメチャなソースで分からん、動かんで頭グチャグチャなら 具体的にネットに提示すれば、おそらく最速でサブクラスから return(解答)が得られて閃きや気づきで自身も拡張できます これがオブジェクト指向の趣旨に合ってるのか知らない
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
> プログラムの見通しも良くなりました。 プログラムの見通しが良いと言うのは、新しい機能を追加する場合など割と重要な要素です。
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
>> また、ご自身の犯したミスを修正したことに自信をもっているようですが、全て設計ミスです。これは、上流工程のミスでM/UTレベルでこんなミスを犯したらただではすみません。 > 構造化できなかったと言う事であり、正常に動かなかったと言う事ではありません。 > (構造化できなかったので)当然、自由度に制限はありましたが、実質的には その部分は固定的な処理なので その自由度は特に必要ないモノでした。 後で簡単に構造化できました、それによってプログラムの見通しも良くなりました。
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
> なぜ、私が非難されるのかわからないのですが、"人を馬鹿にする"といったところに反応したのでしょうか? 別に非難ではありません、どうしても問題があるのなら、それは言ったほうが良い場合もあると言う事です。 > 他人のコードを読むのが苦手と言っておりますが、これはSE、PGとして仕事をする上で致命的な欠陥です。 それは自覚してます。 > また、ご自身の犯したミスを修正したことに自信をもっているようですが、全て設計ミスです。これは、上流工程のミスでM/UTレベルでこんなミスを犯したらただではすみません。 構造化できなかったと言う事であり、正常に動かなかったと言う事ではありません。 (構造化できなかったので)当然、自由度に制限はありましたが、実質的には その部分は固定的な処理なので その自由度は特に必要ないモノでした。
お礼
回答ありがとうございます!
>amanojaku1 様 なぜ、私が非難されるのかわからないのですが、"人を馬鹿にする"といったところに反応したのでしょうか? 大変失礼ですが、あなたの回答には全く興味が湧かなかったため、ほとんど読んでおりませんでした。 また、私の回答は"仕事"で悩んでいる質問者さんへ向けたもので、個人の趣味でプログラムをしている人にむけたものではありませんことをご理解下さい。 個人の趣味でといった理由を書きます。まず、他人のコードを読むのが苦手と言っておりますが、これはSE、PGとして仕事をする上で致命的な欠陥です。また、ご自身の犯したミスを修正したことに自信をもっているようですが、全て設計ミスです。これは、上流工程のミスでM/UTレベルでこんなミスを犯したらただではすみません。このようなことを平気で言ってしまうあたりから判断させて頂きました。 違っていたらすいません。一応、謝っておきます。 >質問者様 想定外でしたが、これがいわゆる"人を馬鹿にする"人の意見の良い例です。 どれだけ視野が狭いかご理解頂けたら幸いです。 また、荒らすつもりは全く無かったのですが、結果的に荒らしてしまい申し訳ございません。 私のことは運営に報告していただいて構いません。 大変ご迷惑をおかけ致しました。
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
> 3.ロジックに正解は無い。他人の力量、ロジックを批判したり、馬鹿にする人間が言うことは一番参考にしてはいけない。 言いたいことは なんとなく分かりますが。 まず、構造化してないと(いわゆるスパゲッティーだと)、(天才は別として)作った本人でさえデバッグが困難になる。 クラスを使えばオブジェクト指向になると勘違いしている人がいるが、クラスを使ってもオブジェクト指向になっていなければ、それはオブジェクト指向とは呼べない(なぜならオブジェクト指向のメリットを享受できないから)。 > 構造化してないと(いわゆるスパゲッティーだと)、(天才は別として)作った本人でさえデバッグが困難になる。 僕のスキルではチャント構造化できなかった事はありますが、それでも後から構造化しやすいように作って対処しました。 作ってからなら構造化のイメージはしやすいので、(後から構造化しやすいように作ってあったので)簡単な修正で構造化できました。 教訓:どうしても構造化がイメージできない場合は、後から構造化しやすいように作っておきましょう(作ってからなら構造化のイメージはしやすい)。
お礼
回答ありがとうございます!
- amanojaku1
- ベストアンサー率54% (265/488)
> 3.ロジックに正解は無い。他人の力量、ロジックを批判したり、馬鹿にする人間が言うことは一番参考にしてはいけない。 言いたいことは なんとなく分かりますが。 まず、構造化してないと(いわゆるスパゲッティーだと)、(天才は別として)作った本人でさえデバッグが困難になる。 クラスを使えばオブジェクト指向になると勘違いしている人がいるが、クラスを使ってもオブジェクト指向になっていなければ、それはオブジェクト指向とは呼べない(なぜならオブジェクト指向のメリットを享受できないから)。
お礼
回答ありがとうございます!
- 1
- 2
お礼
回答ありがとうございます! 本を買ってコンピュータに入れて実験してみますね(`・ω・´)数学ガールも読んでみます 回答ありがとうございます!