質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

8回答

481閲覧

プログラミング学習に詰った時の対処法

youyaku

総合スコア2

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

3グッド

7クリップ

投稿2020/06/05 08:28

プログラミング学習で詰まった際の対処法について意見をください。

・悩み始めたきっかけ
→ 2つの記事をよく見かけます。
① 調べてもどうしていいか分からない時にすぐに聞いてしまうと問題解決能力がつかないと言う記事。
②分からないことがあったら直ぐに聞き解決するべきという記事。

・1番悩んでいること
①、②は正反対の考えなのでどちらにすれば良いかわからないです。ただ、たしかに直ぐにてきとうな質問をしてしまうのはどうかとは思うのですが、いつまで経っても分からず時間を浪費してしまうのもどうかと思います。

そこで、自分なりに解決手順を考えました。下記のとうりです。⬇️

・考えた対処法の手順
①そもそもどこが問題点なのかを考え書き出す。
②場所を特定しその対処法を考える。
③一定時間は検索しながら調べる。
④思いつかない場合は相手に伝わりやすいように整理した質問文でteratailに聞く。

このように考えたのですが、プログラミング経験者の意見を聞かせていただきたいです。文章が長くなりすみません_(..)

snogot, langhtorn, DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/06/05 10:48

「JavaScript」は本件とどのように関係するのでしょうか。 直接関係ないのでしたら別のタグ探してください
youyaku

2020/06/07 05:18

すみません。プログラミング初心者などのタグがなく、タグが必須であったため、現在勉強しているjavascriptをタグにつけました。タグの追加を申請したいと思います。
guest

回答8

0

①は成長効率の話で、②は作業効率の話ですから、矛盾はしません。
たとえば、筋トレをすると疲れますし筋肉痛になることもありますから、②その後の身体活動は非効率的になりますが、①筋肉は成長しますよね?


↓この「質問のアティテュード」はためになると思います。
質問は恥ではないし役に立つ - Qiita

投稿2020/06/05 08:47

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/07 06:23

質問に関しての記事、とても参考になりました。ありがとうございます。 回答者さんはプログラミング学習初期の時、どの様に学習を進めましたか?? ・分からなかったら基礎を学び直しもう一度考える。 ・一定時間考えても分からない場合は早急に質問をし学習効率を高める。 など、お聞きしたいです。
Lhankor_Mhy

2020/06/08 01:33

アマグラマで独学でしたし、インターネットのない時代でしたので、自分でやるしかなかったです。 ただ、JavaScriptを学習していたころにはインターネットがありましたので、はてな人力検索で質問をしていました(そのころは、技術系のQAサイトと言えばはてなだったのです)。 疑問は疑問として寝かせておきながら、他の学習を進め、数日たっても解決しない時には質問をしてたと思います。
youyaku

2020/06/09 04:40

ありがとうございます。 詰まったら、一度その部分を学習し直しもう一度考えても分からない場合は質問することにします。
Lhankor_Mhy

2020/06/09 05:01

それでよろしいのではないでしょうか。 ただ、このご質問で検討されているのは主に質問者の利得であって、回答者の利得については考慮されていない、ということもお含みおきください。 Q&Aサイトにおいては、質問者と回答者ともに利得がある状態が理想かと思います。
guest

0

どれぐらいまで学習が進んでいるかによります。

基本的な文法構造が身についていない段階で質問しても、おそらく回答を理解できないことになるかと思います。

投稿2020/06/05 08:38

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/07 06:19

ドットインストールなどの教材を用いて基礎は学びました。 分からなくなったらもう一度基礎を学習し直す、と言う事でしょうか?? それとも、質問し、その質問内容が理解できない、もしくはその文法自体を知らなかった場合は、その部分だけを学ぶ(もしくは学びなおす)と言う事であってますか??
maisumakun

2020/06/08 01:36

> ドットインストールなどの教材を用いて基礎は学びました。 質問にその旨が書かれていなかったので、どのレベルかわからない状況での回答でした。
maisumakun

2020/06/08 01:38

あと、フレームワークに取り組む場合も、フレームワークの考え方を先にマスターしないと同様の事態になります(そもそもやりたいことがフレームワークの思想と相反するものだった、など)。
youyaku

2020/06/09 04:41

ありがとうございます。 言語の使い方、考え方を理解し使えるよう学習を進めたいと思います。
guest

0

ベストアンサー

学習

① 調べてもどうしていいか分からない時にすぐに聞いてしまうと問題解決能力がつかないと言う記事。

これは学習する時の話です。
他人に聞くよりも、自分で解決までの道のりを経験する方が記憶に残ります。

また、他人から「答え」を得ると「自分で解決する方法」を覚えるのが困難でもあります。

<悪い例>
Aさん「~で~になってしまうのですが、どうすれば~になりますか」
Bさん「~をやってみて」
Aさん「できました!~をやれば良かったんですね!」

<良い例>
Aさん「~で~になってしまうのですが、どうすれば~になりますか」
Bさん「~をやってみて」
Aさん「ありがとうございます。解決できましたので、解決済コードを質問文に追記しました。差し支えなければ、どうやってその方法に行き着いたのか、教えて頂けますでしょうか」
Bさん「http://example.com/ のページに載ってたよ」
Aさん「ありがとうございます。~の検索ワードでぐぐってそのページがHITしなかったのですが、どうやってそのURLに辿りついたのでしょうか」
Bさん「http://example.com/ のサイトはブックマークに入っていて、JavaScriptで調べる時には大抵見てる」
Aさん「ありがとうございます。信頼性の高いサイトなのですね。私もブックマークに入れて、必ず見るようにしてみます。」

良い例は私がよくやるルーチンです。
一番、大事なのは「自分がどうすれば、その解決策に行き着くことが出来たのか」という発想です。
魚で満足せず、釣り方を覚えれば、問題解決能力が向上します。

注意が必要なのは「教えてもらった方法を自分が実践できるのか」という視点。

Bさん「http://example.com/ のページに載ってたよ」

で満足してしまいがちですが、

「まてよ。自分は本当に http://example.com/ を開くという手段をその時、思いつけるだろうか。
自分が実践しうる検索ワードでそのサイトはHITするだろうか。」

というような自分自身の実現性にも目を向けなければ、今後に生かせません。
大抵は

  • 自分のルーチンを変える
  • 自分のルーチンで見つかる場所に置いておく

の2択で、@yambejp さんが回答で提案しているのが後者です。

仕事

②分からないことがあったら直ぐに聞き解決するべきという記事。

これは仕事をする時の話です。
仕事は時間単位でお金がかかるので、学習に費やせる時間は限られています。
自分で調べて時間を費やすよりも、他人に聞いたほうが早く仕事が進むならローコストで済みます。
短時間で最大限の利益を追求するのが仕事です。

ただし、「初めは自分で調べて、時間がかかるようなら先輩に聞く」を求める職場もあります。
これは社風というよりは「教える人の性格」に依るので、指示者の方針をしっかり確認することが大切です。
(私が上司の立場なら、「すぐに他人に聞く癖がつくと、成長できない」ので、初めは自分で調べる事を期待します)

考えた対処法の手順

・考えた対処法の手順
①そもそもどこが問題点なのかを考え書き出す。
②場所を特定しその対処法を考える。
③一定時間は検索しながら調べる。
④思いつかない場合は相手に伝わりやすいように整理した質問文でteratailに聞く。

概ね方針は正しいですが、いくつか不足事項があります。
まず、初めにすべきことは自分の心の内を見つめなおす事です。

  • 自分は何を知っているのか(自分の知識の中で絶対確実はものは何か、それは検証して確証が得られているものか)
  • 自分は何を知らないのか、理解できていないのか(理解不可能な最小要素は何か)

...以下略...

未完成

完成度を上げてから投稿しようと思いましたが、無言でBAをつけて終わる人だったので、諦めました。
きちんと考え方に向き合う人なら、回答を解釈する際に齟齬が発生しないように、自分の解釈を確認して貰ったり、他人と自分の考えの差を確認する過程があると思います。
それがないのは、回答文の読解と考察に時間をかけない人か、一読しただけで100%理解できる天才です。

過去ログで書いた内容と趣旨は同じなので、以降は↓を参照下さい。

Re: youyaku さん

投稿2020/06/06 12:22

think49

総合スコア18189

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/07 01:12

丁寧なご回答ありがとうございます。 回答を読むだけでもう一度考えを深めない事は努力不足だと感じました。もう少し考えてから改めて自分の考えを述べさせていただきます。その際にご返信頂ければ幸いですm(_ _)m
youyaku

2020/06/07 06:52

think49さんの過去ログなどや記事などを見させていただきました。 think49さんの説明、他の回答者さんの説明を踏まえ、自分なりに最適な学習法を考え、簡潔にまとめました。下記のととうりです。 ????問題解決法 ①何故問題が起こっているのか、分割統治法を用いて問題点を最小単位まで分割する。 ②その中で分からないものはググる。(知識不足と感じた文法などはもう一度ど教材などで学習する。) ③30分ほど調べても分からない、解決できない場合は、適切な質問法を用いて質問をする。 ④回答を理解出来る場合 → その回答を理解出来る場合は、どのようにその問題を解決するに至ったか回答者の方に再度質問をする。 ④'回答が理解できない場合(もしくは初めてその文法を見た場合) → その文法(または記述法)を学び直す(初見の場合はその文 法や記述法を学習する) この様な考えにまとまりました。
think49

2020/06/07 08:38

回答の理解にも「分割統治法」を私は使います。 そこで分からない内容が多岐に渡る場合は基礎から学びなおす事とし、学習方針を決めてクローズします。 学習方針が定まらなくてもクローズしますが、新規に学習の方針を質問します。 ただし、学習系は問題はふわふわしていてよろしくないので、「自分で考えて決まっている方針」は除くとして「なぜ定まらないのか」「未確定ながらの自論」など、自分が考えている内容、調べた内容を体系的に分かりやすく書く努力は行うと思います。 分からない内容が数少なければ、自分が理解できるまで各個撃破します。 調査方針が全く定まらないと判断したら、回答者に質問をします。 「30分調べて分からなければ質問」は作業時間が限られた仕事ならありえますが、学習目的なら時間制限は設けないですね。 自分が今調べている内容が30分調べても分からなくて、5時間以上かかりそうだとして、回答者に質問したら「自分が今調べている内容」を回答されるかもしれません。 その回答に「今ちょうどそれを調べていて、理解するのに5時間かかりそうです」と返答したとして、私が回答者なら怒ります。 「質問前に調べるべきことは全て調べて下さい」と。 調べる方針すら決まらなくて、いろいろな方針を正しいのか分からない状態で延々と調査しているようなら、「方針を聞く」のは有りだと思います。 ただ、「方針を聞いて、調査を始めて、最後の問題解決まで面倒見てください」な態度をとられたら、teratailの領分を越えていると思います。 teratailはサポートセンターではありませんので。 https://teratail.com/help/question-tips#questionTips1-1 調査方針の回答を得たら、質問への回答が得られたので、BAを選んでクローズしてください。 方針通りに調査してそれでも分からない事ができたら、問題を最小化して具体的に質問して下さい。 それがteratailが掲げる「思考するエンジニア」だと思います。
youyaku

2020/06/09 04:48

問題解決、回答の理解、全ての事象を分割統治法で分解し、分からない箇所を一つずつ学習し進めていこうと思います。 とにかく問題を分解し一つずつ潰していきます。 どこが問題かが分からず何をして良いかわからなくなった際はどの様な方針で進めれば良いか質問してみたいと思います。 基本となる考え方を教えていただきありがとうございます。 今回はいろいろな方にアドバイスをいただきましたが、think49さんにベストアンサーをつけさせて頂きます。 ありがとうございました。
guest

0

  • まずは備忘録をチェック
  • とりあえずググる
  • 30分くらい考える
  • 人に聞く=答えがわかる
  • 備忘録に経緯や技術情報をコピペしておく

投稿2020/06/05 08:36

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/06/05 08:37

とにかく備忘録をつくることです あとは考えるだけ無駄なケースが多いので見切るのは 早めがいいと思います。
youyaku

2020/06/07 06:17

30分ほど考えても分からない場合は質問をし、解決と問題内容、経緯をセットでメモに残しておく。 と言う解釈であってますか??
guest

0

プログラミング学習で詰まった際

コンピュータに実行させたい派手な内容ばかりに気を取られ、身につけておくべきことを身につけていないのが原因かもしれませんよ。

私はプログラミング「言語」はコンピュータと会話(主に命令)する手段だと思っています。とはいえ、コンピュータも無茶振りは無視してくるので、できること/できないことは理解してあげる必要がある。

冒頭でも示したとおり、実現したい派手な内容があるものですが、プログラミング言語が備えているのは無数の地味な命令ばかりです。なので、地味な命令をできるだけ多く知り、命令を組み立てて、派手な内容として実装するしかないのです。実装方法は、ただの誤魔化しの時もあります。

そんなわけで、時間があるなら、リファレンスを一読するくらいの作業は必要でしょう。
リファレンスを読むだけでは苦痛ですから、示されるサンプルコードを真似てみたり、書き換えて動作確認する。「動いた」という結果と説明内容は、確信をもたらしてくれるので、次に使いたいときには直ぐに思い出せます。

自分の引き出しに入れておくべきものは何か。
これに気づかないと、質問して得られる回答も、その場しのぎで終わるかもしれませんね。

対処法

一つの動作にこだわらないのが、継続できるコツかもしれません。覚え方は一つじゃないです。

  1. 解説を読む(文章)
  2. サンプルコードを試す(実験)
  3. 各種チャートにまとめる(お絵かき)

イメージから多様な事を思い出しやすい

投稿2020/06/05 10:14

AkitoshiManabe

総合スコア5434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/07 06:28

分からない場合は、解説などの基礎を再度学習し、それでも解決できない場合は質問をすると言う事ですか??
AkitoshiManabe

2020/06/07 06:43

解説などの基礎はとても重要ですね。解決できない(応用方法が思いつかない)場合は、2つの方法を選ぶことになります。1)自分と同じ目的のコード例を探す。2)質問する(think49さんの回答どおり、人によって「使える時間」が違うのでそれもご自身の選択です)。 1)、2) いずれの場合も、結局は「他人の書いたコードを読み、どのように応用しているのかを確認・理解する」と思いますので、そのために基礎知識が求められます。 慣れている人もリファレンスを読み返して、仕様の変化が無いかを確認しているものですよ。 この確認作業も「引き出しを開ける」ようなものですね。
youyaku

2020/06/07 06:59

ありがとうございます。すごく参考になります。 回答の内容で、知らなかった知識や回答が理解できない場合はその部分の文法や記述法をレファレンスや動画教材を用いて重点的に学習する、と言う事であってますか??
AkitoshiManabe

2020/06/07 07:16

方法論は「自分にとって理解の早いものを選択し続ける」ことですので、媒体は何でもOKだと思います。 その方法があっているかどうかは過ぎてみないとわかりません(例えば、動画も10分とか観終わるまでの時間を要しますが、既知の内容なら無駄な時間消費です)。 とにかく「分からないことが分かる」というのが真意でしょう。 その先に、応用することで実現できるものはないか考えることになると思います。
youyaku

2020/06/07 07:53

ありがとうございます。 分からない内容が出てき次第、その部分を重点的に学習することを繰り返そうと思います。
guest

0

プログラミング経験者の意見を聞かせていただきたいです

ということなので,個人的なことで良いんですよね?

答え:内容次第.

  • 自身のコードのロジックのバグで「動きません><」みたいなのは他人に訊くという選択肢はまず限りなく無い.
  • 自身の実装なりロジックはまぁまともに動作するのだが「もっと(何らかの意味で)良い実装だとかアルゴリズムだとかがないものか?」みたいな話であれば,相応に探したり考えたりしても出て来ない場合には他人に尋ねてみるのは有り.(質問文の番号で言えば①側に近いか)
  • なんか変な現象に遭遇したとか,そういう場合には,同じ現象に遭遇したような話を検索で見つけられないかを試すが,ある程度見つからなければ,質問(②側に近いか)

(ダメ元で質問を投げておいて,自分での調査も続行,という並列状態にして手数を増やす感じ,というか.)

投稿2020/06/05 09:05

fana

総合スコア11996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/07 06:27

基本学習の際は一切質問せず、もう一度学び直し再度考える、と言う事ですか?? fanaさんはプログラミング学習初期の際は基本的に質問はせず自身のロジックで動かなければ動くまで自力で学習を続ける、といった方法で学習を進めましたか?
fana

2020/06/07 08:00 編集

「プログラミング学習」と呼ばれるような初期の段階において, 「本当に何をどうしたらよいか見当も付かない」という問題に取り組むような状態に陥った記憶がありません. というか,そのような段階において,どうでもいい練習問題の類をわざわざ解いたりはしませんでした. 自発的にプログラミングに手を出したので,もっと直接的にやりたいことをやっていました.
fana

2020/06/07 08:05

個人的な感覚をあえて乱暴な言葉で書くならば,正直,どこぞの本だとかサイトにあるような「課せられた」問題をちまちま解いている人の気が知れない,とさえ思います.(何が楽しいのかわからない)
youyaku

2020/06/07 08:55

回答ありがとうございます。fanaさんは初期の段階から自分の作りたい物を作っていたんですね。
guest

0

プログラミング学習に詰った時の対処法

質問主旨からは少しずれると思いますが、過去にした質問の回答が非常に面白いので紹介します。

プログラミングにおける精神的ブレイクスルーポイント

投稿2020/06/09 04:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

youyaku

2020/06/09 05:09

ありがとうございます。 読ませて頂きます。
guest

0

いいとおもいますよ〜〜。

投稿2020/06/12 05:45

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問