ここから本文です

プログラミングについて、

アバター

ID非公開さん

2019/9/1121:34:59

プログラミングについて、

悩みの相談になります。

私は現在プログラミングスクールに通っています。
言語はJavaです。

新人研修などで使われる課題を解いて
先生に見てもらうのですが、

先生はいつも自分より、効率の良いコードを書くことができます。

自分はいつもそれを見るたびに、そんな使い方があったなんて、と落ち込んでしまいます。

先生は業界歴も長いし、差があるのは仕方のないことだと思いますが、

無駄の少ないコードは、経験を積めば書けるようになるものでしょうか?


私が学習しているときに、この処理はfor文でまとめられるかも、などと感じる時もありますが、実際 コードを書くとなると、どうやって処理するかを考えて時間がかかってしまいます。

閲覧数:
57
回答数:
5
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

prwssさん

2019/9/1209:50:13

>無駄の少ないコードは、経験を積めば書けるようになる

はい

ある程度は暗記ですので、安心してください

経験=蓄積した記憶量、という意味合いですと、経験時間と暗記量は比例関係にありますので、経験すればするほど記憶の総量が増えて、書けるようになります

つまり、「考えて時間がかかってしまいます」とありますが、記憶したものを思い出しているだけなら、そこには「考える」という行為は有りませんので、(その瞬間では)時間が掛からないのです

つまり、「何故経験を積めば書けるようになるのか」という問いに対しましては、「経験を積めばそれだけ暗記してるから、あとはそれを思い出すだけになる」という答えになり、結局、頭脳労働界隈での『経験』とは、知識の暗記です

経験してあなたに何が残るかと言えば、知識という記憶が残りますので、その『残った物』の影響により、書けるようになります

なので、これは実質、暗記しているのと変わり無いです

***

思考と記憶がトレードオフだとしますと、時間の短縮が可能になります

というのも、その場で考えるか、それとも既に考えておいたものを思い出すか、という違いだからです

要するに、先生や経験者は無駄の少ないコードを大量に知っていて、それを適時思い出しているので、特に思考しているわけではないです

***

また、ある程度の量の例文を丸暗記しないと、言語性の学習は進まないです

プログラミングも実はその方面です

アバター

質問した人からのコメント

2019/9/13 23:55:38

皆様ありがとうございました。

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

pri********さん

2019/9/1207:39:49

> 自分はいつもそれを見るたびに、そんな使い方があったなんて

これの積み重ねで、先生のようになるんじゃないかな。

1つ学んだんだから、得をしているので、落ち込む理由にはならないと思いますよ。

そういう気付きを大事にしてください。

qo_********さん

2019/9/1202:41:25

扱いやすくしたデータを用意。
そのデータを【入力】し、
効率よく【処理】して
欲しい形で【出力】する。
プログラムはその繰り返し。

【入力】【出力】は同じ機能であれば、
誰が書いても一緒になるはず。

【処理】は、人によって書き方が違ってくるが、
実行速度や可読性が、ある程度担保できるならそれで良い。
ただし、沢山の処理を盛り込まない。

再利用を考えて、関数(クラス、メソッド)にする。
【処理】の中身を見なくても推測できる名前をつける。

信頼できるコードだけを使う事で、
プログラム全体の品質を向上させる。

・・・みたいな事を意識してコードを書かないと、
半信半疑地獄から抜け出せないと思う。

プロフィール画像

カテゴリマスター

kin********さん

2019/9/1200:31:03

その段階なら、まだ凹む必要はないと思います。そんなもんです。

プロフィール画像

カテゴリマスター

あみやさん

2019/9/1121:45:27

経験といかにたくさん考えたか、だと思います。
どうやって処理をするかを考えるのに時間を割くのは良い事です。
特に学習中であるなら。
そうやって考えながら色々試したりを繰り返す事で、経験が蓄積されてゆきます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる