C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: プログラマの思考


(過去ログ 82 を表示中)

[トピック内 53 記事 (1 - 20 表示)]  << 0 | 1 | 2 >>

■48284 / inTopicNo.1)  プログラマの思考
  
□投稿者/ じいさん (1回)-(2010/03/31(Wed) 19:44:43)

分類:[雑談] 

すごくお恥ずかしいことなのですが質問させていただきます。

皆さんはプログラミングをするときどのような思考で作業されていますか?

私はもうずっとほぼ独学でいろいろな種類のプログラミング言語を勉強しているのですが、どうにもロジック的な思考で考えることができません。
HTMLやCSSは問題ないのですが、C#やjava,VBなどの言語となるとまったく歯が立たなくなります。
仕事上使わなくてはならず、与えられたプログラミングを勉強してから作業にかかるのですが、全く何をどうしたらいいのかわからず結局いつも隣の人に聞いてやってもらう始末です。

家のPCでアプリを作ったりしたこともあるのですが、高校生向けの本を読んでも深いところまで理解できず苦しんでいます。
いつものパターンとしては
本、ネットで調べる→やってみる→できない→再チャレンジ→できない→アドバイスもらう→またできない→・・・のループです。

基本的な文法はわかるつもりですが、実際の仕事で使う何百とあるコードをみるとどこでifを使うとか、どうやって値を渡すなどで躓いてしまいすぐ思考停止になってしまいます。

会社でその悩みを打ち明けた際、2年もすればなれるよとか、紙に書いてみるといいよとアドバイス頂いたこともあるのですが、あと1年ですらすら書けるとは思えませんし紙に書いてみても理解できませんでした。

もうすぐプログラマ2年目なのですが全く進歩できず焦っています。でもプログラミングは好きです。好きだからこそ理解できないことが悔しいです。
それに苦労して転職して掴んだPG職なので、挫折したくないという気持ちが強いです。

長くなってしまいましたが、私は今いったい何を勉強するべきでしょうか?

アドバイスよろしくお願い致します。
引用返信 編集キー/
■48297 / inTopicNo.2)  Re[1]: プログラマの思考
□投稿者/ 悠紀 (1回)-(2010/03/31(Wed) 23:31:23)
No48284 (じいさん さん) に返信
> 長くなってしまいましたが、私は今いったい何を勉強するべきでしょうか?
単に答えを求めているだけの人に比べて、調べるってのは良い事だと思います。
アドバイス出来る様な事は(きっと)した事は無いですが…。
1.出来るだけメインルーチンを簡素化してコーディングする。
2.その内、サブルーチンが出来てくる。
3.共通するサブルーチンが出来て来るので、それらをまとめる。

また、他で利用出来そうなサブルーチン群をまとめて、ライブラリ作成するのも良いかも知れません。

頑張って下さい。
引用返信 編集キー/
■48302 / inTopicNo.3)  Re[2]: プログラマの思考
□投稿者/ Mr.T (335回)-(2010/04/01(Thu) 08:24:37)
まずは、自分の理解できる言葉(日本語でもなんでもいいですが)で、
考える必要があります。
ここができなければプログラムには落とせないでしょう。

が、そもそも変数や、条件、ループなど諸所のよくあるプログラム言語では
基本の知識が実はしっくりきてますか?

ここらへんの知識は、いわば「何回も練習して書いて覚える」程度の
知識です。
算数でいうところの九九も、何度も練習するからこそその後の
計算問題で無理なく使えるようになります。

変数というのが、大雑把にはどういうものか?がわかっていないと
それはプログラム自体を考えることすら難しいでしょう。

で、自分がどこまでできないの?を具体的に考えてみて、それを
どうすべきかを問題とすることがいいんじゃないかな、と。


引用返信 編集キー/
■48303 / inTopicNo.4)  Re[1]: プログラマの思考
□投稿者/ 裕猫 (95回)-(2010/04/01(Thu) 08:56:27)
No48284 (じいさん さん) に返信
> 私はもうずっとほぼ独学でいろいろな種類のプログラミング言語を勉強しているのですが、どうにもロジック的な思考で考えることができません。
> HTMLやCSSは問題ないのですが、C#やjava,VBなどの言語となるとまったく歯が立たなくなります。
> 仕事上使わなくてはならず、与えられたプログラミングを勉強してから作業にかかるのですが、全く何をどうしたらいいのかわからず結局いつも隣の人に聞いてやってもらう始末です。
>
ということは表示に関してはわかるということでしょうか。つぎにそのどこかに入力があったらどういうことをさせるかを考えてみてください。その入力が正しいならaの動作違ったらbの動作をすると考えます。ここで使うのがif文です。if (入力 == C) なら aをさせる。 else bをさせる。 というように使います。3つ以上の動作をさせるならswitch文があります。 これを何個も組み合わせて一つのプログラムになります。 このa やbを関数とかプロシージャとか呼びます。
値は その関数の中でしか使えないものやどこからでも使えるものの2通りがあります。この値はどこでも使えなければいけないのか、他で使うことはないのかで、宣言で決めて使います。

まずはどういう動作をさせるのかを考え、その動作をする関数を考える。その関数でさせる動作をプログラムする。という感じで考えればプログラムを作っていけると思いますよ。頑張ってください。
引用返信 編集キー/
■48306 / inTopicNo.5)  Re[1]: プログラマの思考
□投稿者/ エクシ (3回)-(2010/04/01(Thu) 10:08:02)
No48284 (じいさん さん) に返信
# できる人に聞いて参考になるのだろうか。。。
> HTMLやCSSは問題ないのですが
そんなに変わるもんなんだ?↑

> 皆さんはプログラミングをするときどのような思考で作業されていますか?
日常生活と同じ。
日本語に訳せば計画を立てるというだけの事だから、
「大掃除をする」でどこから?どうやって?って考えるのと同じ。

>実際の仕事で使う何百とあるコードをみると
>どこでifを使うとか、どうやって値を渡すなどで躓いてしまい
「冷蔵庫の調味料が賞味期限を半年過ぎてたらゴミ箱に捨てる。」
この判断がifだから、どこで?っていう答えは
「冷蔵庫の調味料を見たとき」以外に無いと思う。
調味料が数千種あったら、棚の右端からとか順番を付けて、1個1個
見ていく以外に考えられないので、躓く要素は無いです。

もちろん、個人の考え方の違いで大掃除に使う道具とか手順が違うように、
プログラムでもコードに個性が出ますし、考え方の違いでロジックが
変わります。他人の考え方を理解できない人が、他人のコードを
理解できないことはあるかも。
スパゲッティプログラムだと「棚の右端から」という法則に辿りつくまで
時間が掛かるということはあるけど。

>何を勉強するべきでしょうか?
天然系の「その答えはどう考えてもそうじゃないだろ」って答えを
出す人がプログラムできない(天才的なコードは書けても堅実なコードは書けない)
と思ってるのだけど、やっぱ「論理的な思考」ってやつでは?

どうしてプログラマに・・・プログラムが書けないのか?
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
論理的思考力テスト【解答つき】
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33022&forum=3
引用返信 編集キー/
■48311 / inTopicNo.6)  Re[2]: プログラマの思考
□投稿者/ やじゅ (1576回)-(2010/04/01(Thu) 13:47:30)
やじゅ さんの Web サイト
> ■No48284 (じいさん さん) に返信

ビジュアルプログラミング言語「VPL」というのがあります。

ループ・制御構造がブロックで表現されていて、それを組み合わせて
動作するものです。
教育用にロボットを動かすとかによく用いられています。

動作をイメージして、イメージしたものが実際に思い通りに動くと
いうのを繰り返していけば、自然と身に付くのでは?


Microsoft Robotics Studio
http://www.saturn.dti.ne.jp/~npaka/robotics/index.html
VPLによるロボット制御プログラミング 例 計算を行う
http://www.saturn.dti.ne.jp/~npaka/robotics/vpl2/index.html

プログラミング言語「Scratch」が開く未来
http://www.atmarkit.co.jp/news/200801/17/mit.html

レゴ社 MINDSTORM
http://www.legoeducation.jp/mindstorms/
引用返信 編集キー/
■48319 / inTopicNo.7)  Re[3]: プログラマの思考
□投稿者/ あぴす (7回)-(2010/04/01(Thu) 18:34:57)
まず、できない理由をが分からないとなんともアドバイスしにくいです。

プログラミングは人の好みや思想がでてきてしまうので(だからこそ面白い!)
人によっていろいろ違ってくるものだと思っています。

私はまず、書いて考えるタイプだと思っているのでその方面から回答すると
すべてのロジックを頭の中で考えようとはしないで、実現したい機能を自分なりに分解して
小さくなった機能をメソッドなりクラスなりにして作成し、それを組み合わせて大きな機能を作り上げるようにしています。
やっていくうちに、うまくいかないことも出てきますので、その場合は再構築し直す、ということを繰り返します。
そういうことを繰り返しやっていけば、勘所が分かるのではないかと思います。


それから投稿をみると、他人の書いたソースを解析したりして躓いているのでしょうか?
プログラムの基本はデータと処理に分けられると思っていて
見ている機能がどのようにデータを保持して、データにアクセスしているのかを考えれば理解しやすいと思います。
先に書いたように、プログラミングした人がどのような思想で書いているのかを考えると分かりやすいでしょう。
中には理解できない人もいますが^^;


個人的には、デザインパターンを勉強するのもためになりました。
後は、楽しむことですよね。


プログラミングは向上心を持って挑めばきっと結果が付いてくるものだと思っています。
がんばってください。
引用返信 編集キー/
■48321 / inTopicNo.8)  Re[1]: プログラマの思考
□投稿者/ 北 (63回)-(2010/04/01(Thu) 19:44:20)
2010/04/01(Thu) 19:45:13 編集(投稿者)
2010/04/01(Thu) 19:45:08 編集(投稿者)

No48284 (じいさん さん) に返信

引用返信 編集キー/
■48324 / inTopicNo.9)  Re[1]: プログラマの思考
□投稿者/ Jitta on the way (594回)-(2010/04/02(Fri) 07:05:31)
No48284 (じいさん さん) に返信
> もうすぐプログラマ2年目なのですが全く進歩できず焦っています。でもプログラミングは好きです。好きだからこそ理解できないことが悔しいです。
> それに苦労して転職して掴んだPG職なので、挫折したくないという気持ちが強いです。

よくわからないのですが、出来ないのに、何が楽しいのでしょう?出来ないものが楽しいとおっしゃる方は、はじめてのように思います。
また、苦労して転職されたということですが、何故転職しようと思われたのでしょう?「楽しい」と「仕事に出来る」は違います。あなたがお若いのかどうか、前職をどれくらい続けていらしたのかわかりませんが、「楽しい」だけで転職されたのなら、様々な人に迷惑をかけています。



> 私はもうずっとほぼ独学でいろいろな種類のプログラミング言語を勉強しているのですが、どうにもロジック的な思考で考えることができません。

何かをするのに、「どうしたら実現出来るか」を考えます。この「考え方」が出来なければ、つまりどんなことでも、行き当たりばったりで作業するなら、言語は関係ありません。



> HTMLやCSSは問題ないのですが、C#やjava,VBなどの言語となるとまったく歯が立たなくなります。

「表現」はできるが、「実行」はできない、ということですね。



> 家のPCでアプリを作ったりしたこともあるのですが、高校生向けの本を読んでも深いところまで理解できず苦しんでいます。

繰り返しになりますが、「理解できずに苦しんでいる」のに、なぜ、楽しいのでしょう?

引用返信 編集キー/
■48325 / inTopicNo.10)  Re[2]: プログラマの思考
□投稿者/ Yossi (3回)-(2010/04/02(Fri) 08:00:21)
No48324 (Jitta on the way さん) に返信
> ■No48284 (じいさん さん) に返信

> 繰り返しになりますが、「理解できずに苦しんでいる」のに、なぜ、楽しいのでしょう?

楽しいじゃなくって、好きですと
「・・プログラミングは好きです。好きだからこそ理解できないことが悔しいです。」と書いておられますね

好きこそものの上手なれって言いますが、辛くても好きなことなら諦めずにチャレンジを続けるので
目標に到達できると言うことですけど
好き→できる→楽しい→ますます好き のループができるといいですね

たくさんのアドバイスが概出ですのでご自分に合う方法を試されたら良いと思いますが
基本的には、小さな出来ることをたくさん積み上げて知識と経験を積み自信を付けるしか無いと思っています。
引用返信 編集キー/
■48326 / inTopicNo.11)  Re[1]: プログラマの思考
□投稿者/ ごう (87回)-(2010/04/02(Fri) 08:55:03)
「デバッグの仕方」はわかってますか?
それが分かれば、躓いたときでもデータの流れがどんな風になっているか、
ある程度自分で追って解決することができると思いますが。
引用返信 編集キー/
■48327 / inTopicNo.12)  Re[2]: プログラマの思考
□投稿者/ じいさん (2回)-(2010/04/02(Fri) 09:35:07)
皆様本当にありがとうございました。

アドバイスいただいたことを肝に銘じて、精進したいと思います。今週末は私の先輩の家に自分のノートPCを持っていき、鍛えてもらいます。

本当にありがとうございました。頑張ります。
解決済み
引用返信 編集キー/
■48332 / inTopicNo.13)  Re[3]: プログラマの思考
□投稿者/ スーパーファッカー (1回)-(2010/04/02(Fri) 12:39:59)
じいさんは

表現力>実行力

文系○ 理系△

営業○ 技術×

な雰囲気がプンプンします。

「今週末は私の先輩の家に自分のノートPCを持っていき、鍛えてもらいます。」

こういった発言は技術系の人間からは出てきません。

先輩の家に行くことよりも、自分で調べて解決しようとします。
鍛えてもらうという思考にも疑念を持ちます。
具体的にどう解決していくのか見えません。

職種転換をお勧めします。
技術系会社の営業とかいいのでは。
引用返信 編集キー/
■48333 / inTopicNo.14)  Re[4]: プログラマの思考
□投稿者/ みきぬ (847回)-(2010/04/02(Fri) 13:13:08)
No48332 (スーパーファッカー さん) に返信

最初の質問をよく読め。
引用返信 編集キー/
■48334 / inTopicNo.15)  Re[5]: プログラマの思考
□投稿者/ 中博俊 (1381回)-(2010/04/02(Fri) 16:58:16)
そもそもプログラミング能力は文系の能力で、業務プログラムくむのに数学の知識なんて無くていいです。
まぁゲームとか効率のいいプロトコルだとかそういった専門分野に行けば行くほどいろいろな知識がいりますけどね
解決済み
引用返信 編集キー/
■48459 / inTopicNo.16)  Re[6]: プログラマの思考
□投稿者/ インビジブル (2回)-(2010/04/07(Wed) 06:38:30)
No48334 (中博俊 さん) に返信
> そもそもプログラミング能力は文系の能力で、業務プログラムくむのに数学の知識なんて無くていいです。

どう考えても理系よりも「文系のほうが」向いているなんてことありえません
どちらも同じならわかりますが「文系のほうが」なんてありえません
ビルゲイツみたいなアスペルガーな文系ってありえますか?


中博俊はきっと完全なる「理系」だからそういう発想になるんではないだろうか
あなたにはスレ主の気持ちはわからんはず


向き不向きという点からスレ主はPG業界から足を洗うべきであろう


引用返信 編集キー/
■48460 / inTopicNo.17)  Re[5]: プログラマの思考
□投稿者/ インビジブル (3回)-(2010/04/07(Wed) 06:40:39)
No48333 (みきぬ さん) に返信
> ■No48332 (スーパーファッカー さん) に返信
>
> 最初の質問をよく読め。

どういうことかわからぬ
行間は読めません
これが理系、つまりプログラマーの文書理解能力ということです
引用して説明してもらうとマジありがたいんですが・・・・・(for 人生勉強)
引用返信 編集キー/
■48462 / inTopicNo.18)  Re[6]: プログラマの思考
□投稿者/ みきぬ (850回)-(2010/04/07(Wed) 07:55:54)
No48460 (インビジブル さん) に返信
> 行間は読めません

私は質問を読めと書いたの。行間を読めなんて書いてないの。
それを「行間は読めません」と、勝手に行間を読もうとしなくてもいいですよ。

No48284 より
> 私はもうずっとほぼ独学でいろいろな種類のプログラミング言語を勉強しているのですが、どうにもロジック的な思考で考えることができません。
> HTMLやCSSは問題ないのですが、C#やjava,VBなどの言語となるとまったく歯が立たなくなります。
> 仕事上使わなくてはならず、与えられたプログラミングを勉強してから作業にかかるのですが、全く何をどうしたらいいのかわからず結局いつも隣の人に聞いてやってもらう始末です。
>
> 家のPCでアプリを作ったりしたこともあるのですが、高校生向けの本を読んでも深いところまで理解できず苦しんでいます。
> いつものパターンとしては
> 本、ネットで調べる→やってみる→できない→再チャレンジ→できない→アドバイスもらう→またできない→・・・のループです。
>
> 基本的な文法はわかるつもりですが、実際の仕事で使う何百とあるコードをみるとどこでifを使うとか、どうやって値を渡すなどで躓いてしまいすぐ思考停止になってしまいます。
>
「ずっとほぼ独学でいろいろな種類のプログラミング言語を勉強している」と書いてあるね。
「結局」いつも隣の人に聞いてやってもらう、と書いてあるね。
「本、ネットで調べる→やってみる→できない→再チャレンジ→できない」とも書いてあるね。

この質問を読んで「自分で調べてやろうとしていない」という結論が出てくるわけがない。
質問をまともに読んでいないか、勝手に行間を読んでいるか、解釈が変なのか、その理由までは知りませんが。


ところでアンタ誰?
名前と発言内容からは、別の人の発言を勝手に引き継いでいるようでわけがわからないんですが。
行間を読んで「スーパーファッカーさんと同一人物ですか?」とか返せばいいですか?

もっと行間を読んで、変な電波を受信して「ご無沙汰してました」「もうアク禁は解けたんですか?」とか返せばいいですか?
引用返信 編集キー/
■48499 / inTopicNo.19)  Re[7]: プログラマの思考
□投稿者/ Jitta on the way (597回)-(2010/04/07(Wed) 19:16:38)
No48459 (インビジブル さん) に返信
> ■No48334 (中博俊 さん) に返信
>>そもそもプログラミング能力は文系の能力で、業務プログラムくむのに数学の知識なんて無くていいです。
>
> どう考えても理系よりも「文系のほうが」向いているなんてことありえません
> どちらも同じならわかりますが「文系のほうが」なんてありえません

そう?私も文系の方が向いていると思います。あるいは、「文系の勉強をしてきた人」でしょうか。

「関数型」とか「宣言型」言語が主流になったら、変わるかも。
引用返信 編集キー/
■48522 / inTopicNo.20)  Re[7]: プログラマの思考
 
□投稿者/ インビジブル (4回)-(2010/04/08(Thu) 12:31:01)
>みきぬ様

「最初の質問をよく読め。」

> 「ずっとほぼ独学でいろいろな種類のプログラミング言語を勉強している」と書いてあるね。
> 「結局」いつも隣の人に聞いてやってもらう、と書いてあるね。
> 「本、ネットで調べる→やってみる→できない→再チャレンジ→できない」とも書いてあるね。
> この質問を読んで「自分で調べてやろうとしていない」という結論が出てくるわけがない。
> 質問をまともに読んでいないか、勝手に行間を読んでいるか、解釈が変なのか、その理由までは知りませんが。


最初のたった一行にこれだけの意味が詰められているんですね、こういうのを行間を・・・(ry
いずれにせよ、スーパーもきついながらもまじめなレスに見えるし、それをあんな・・・(ry
たとえばVBならdobon.netみて、いろいろ試したら、たいていのことは解決しますよね、
それが出来ない以上、趣味でなく仕事ならやめたほうがいいってのも正論では?
少なくとも部下にはいらんでしょう?

>Jitta on the way様

実は相当尊敬してます

>あるいは、「文系の勉強をしてきた人」でしょうか。
○「文系」=文系の得意な人 ≠理系の不得意な人
ということですね
単に文系の勉強が得意な人はプログラマー向きならわかります
しかし、長いことプログラマやるなら、幾何学的な能力は不可欠と思いますが違いますかね?

引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 | 2 >>

管理者用

- Child Tree -