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

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

ただいまの
回答率

90.50%

  • プログラミング言語

    689questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

プログラミングが分からない時

受付中

回答 17

投稿

  • 評価
  • クリップ 12
  • VIEW 2,848

fgfnabwym

score 66

プログラミング言語を学び始めたのですが、分からないままただ時間だけが過ぎることが多くあります。他の人に分からないところを聞くと、単純な事だったりします。
人に聞いてばかりで自分で考えないのもダメだと思うのですが、なかなか解決に近づかないのもつらいです。

皆さんは、どこまで自分で考えたら、人に聞きますか。
どうしたら英語ができるようになりますか的な答えに困る質問ですが、皆さんの中での目安みたいなものがあれば教えて下さい。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 17

+9

どこまで自分で考えたら、人に聞きますか。
「どこまで」の境界線は、量ではなく質で引きます。

すなわち、何分、何時間考えたら、というのではなく、
問題が自分の内側にあるのか、外側にあるのかで引きます。

その問題固有の仕様や環境、プラットフォームなど外部に起因するもの、
とくにハードに依存するものは、自分だけでいくら考えてもダメなので、
人に聞きます(実際はネットで検索することが多いですが)。

逆に実装に依存しない抽象的な設計やソフトの企画的な分野では、
あるテーマで何ヶ月も何年も考え続けたりします。
何年といっても1日あたりは数分だったりするのだけれど。

まとめると、自分でできる範囲は自分で考えます。
できなければ、検索するとかで外部に委譲します。

そして、その責務の範囲を認識することが重要です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+8

新人だった頃、かなり質問魔でした。ある時上司から「君は質問することが仕事だと思ってどんどん質問しなさい。答えを考えることが先輩たちの仕事になる」と言われたことがあります。
疑問を持つこと、質問すること、は大事なことです。受ける側にとってもよい刺激になることもあります。少なくとも辛くなる前に質問しましょうね。

質問するときに気をつけてほしいことを。
①質問する相手とタイミングを選ぶ
忙しい人なら「質問があるのでお手透きのときにお願いします」と言っておくとか
②解っていることと解らないことを整理しておく
「解っているつもりで間違っていた」ということもあるので、正しく理解できているか確認してもらうためにも

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

学び始めの頃は、何が分からないかすらわからないこともあるでしょう。ただ「こんな動きをつけたい」と思ったら、動きに関するキーワードを入れて検索すれば大抵のことは何とかなります。
あとはその言語の逆引き大全とかの参考本なんかもいい教材になります。

ただ人に聞くのは別に恥ずかしいことではないので、検索しても分からなかったらどんどん聞けばよいかと思います。そのうち「ああ、ここはこうすればいいんだな」というコツみたいなものが掴めてきますから。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

人に聞くまでの時間は自分で聞きたいなと思った時でいいと思います。

どちらかというと聞いた後こそ大事だと思っています。
つまり、聞くと単純なことと思っていることは説明自体は理解できているわけですよね。

でも理解することとできるようになることはまったくの別物です。
試しに分かったと思ったことを別の人(あるいは聞いた人にでもいいかも)にまったく同じことを自分の言葉で説明してみてください。

もしここで自分の言葉で説明ができないようであれば、それはまだ「相手の言葉を理解した」だけに過ぎません。
自分の言葉で話せるようになって初めて自分のものになるんです。

なので復習をするといいと思います。
特に個人的におすすめしているのはブログに書くことですね。
復習になりますし、備忘録にもなります。

最近であればQiitaに記事をアップすると、間違っている部分を指摘してくれたりとより確かな知識が身についたりもします。

なので「自分の言葉で説明できる」ことを目標にやってみてはいかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

知識をつける場合は基本的には聞いていないです
参考になる物を教えてもらっています
そのほうが同じレベルの知識が身につくため後のためになると

自分のレベルにあっていないエラーについては聞くしかないです

と言っても自分も初学者なので


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

(質問とはちょっとズレた話になります。すみません…)
個人的にプログラミング学習は、思考の仕方が文系か理数系かによって若干違ってくるように思います。

文系寄りだったら、書くこと話すことと同じように反復して、主に感覚的な捉え方の経験を積む。
理数系寄りだったら、問題を解くことと同じように反復して、主に論理的な捉え方の経験を積む。
※文系の論理。理数系の感覚。というのもあるとは思いますが…。

プログラミング学習の場合、最初になにかの言語でそこそこ書けるようになれば、ロジックを記述する基本的な考え方は身につきますが、なんにせよ学び始めの時期は反復学習が必要です。

その点では、C++よりもPythonなどのインタプリタ言語のほうがとっつき易いと思います。
特にC++は記述様式が難解ですし、コンパイルエラーを理解できるようになるにもそこそこ経験が必要です。たぶん、いろいろなところでにっちもさっちも行かなくて、時間を取られることが多々起こるのではないかと思います。

…そのぶんC++を最初に理解できれば、他の言語の理解はハードルが一気に下がるようにも思いますけど…

もし学習効率が気になるようでしたら、Pythonなどのインタプリタ言語をお勧めします。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

詰まった時点で聞きます。
どこまでどのように考えて、そこからどのようにしたいのか説明して聞く。
プログラムて聞くと難しく聞こえますが、やってることは日本語で説明して、あとは翻訳するだけです。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

LLmanさんの意見と少し重なるのですが
『わからない=理解ができない』なのか『わからない=起こっている事象(エラーなど)の原因が分からない』のかで違ってくると思います。

前者なら、わからないままでも進めていくことが多いです。
(もちろん言葉などはすぐに調べますが)
もう一段先のことを学習した時に分からなかったことが分かるようになることが多いからです。

後者ならまずはネットで調べます。
単語を区切る、言い方を変える、などやっていると大体それらしきものが出てきます。
それでも無理だったり、知っている人からしたら簡単なのはわかるけど、今回は時間がないので自分で調べている余裕がない!という時は人に聞きますね。
時間がなくて人に尋ねた場合は、時間ができたときに改めてそれについて調べるようにしています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

質問の質にもよると思いますが、自分で一定時間(普通は30分以内)考えてみて検索してみること。
大体同じ質問を持っていて解決した人がいると思います。
それで答えが見つからない場合、質問します。
その問題に対する考察が必要だと思います。
自分が質問自体を理解してないまま、質問をしても良い回答は得られません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

もちろん内容によるのですが、私は基本的にすぐに人にきくことをおすすめしています。
人に聞けば1分で解決することに対して30分浪費するのは無意味ではないでしょうか。

エラーが出た時に検索してすぐ答えが見つかれば直して、解決できなければすぐに聞くのが良いと思います。
その際に「どうすればその解決方法にたどり着きますか?」と聞くのがよいでしょう。


きかれる方の立場からすると、頼ってもらえるのは嬉しいことです。
また例えば「PHPの勉強をしようとして〜して〜して〜したんだけどわかりません」という質問をされるよりも
「PHPを勉強しようと思ったんですが、どう始めれば良いですか?」と質問されたほうがフォローもしやすいです。
初心者の質問に対して「もっと手前でスマートな解決方法があるのに、どうしてそうした!?」と感じることは多くあります。そういう時はお互いに時間がもったいないです。



投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

ご質問の方の疑問に対する解決方法は他の方が仰の通りですので、すこし斜めの回答をします。

解決に近づかずに辛いようであれば、そもそもプログラミング習得と問題解決のベクトルがあっているのかも見直してみてはどうでしょう。

「プログラミング習得」ができると「人力の作業をPCやWebであるていど済ますことができる」ようになるが、課題本質の解決に対する「手段」でしか成り得ないと思っています。(プログラマーはコード、ドキュメントが納品物となり、その対価で報酬を得られますので一部職種による例外はあります)

そもそもプログラミング習得で解決しようとしている問題は、本当にプログラミングという手段でないと解決できないのでしょうか?
  • 売り上げ管理であればノートとペンがあればPCに頼らなくても(エクセルは便利だけど)達成できます(どちらかというと記録を続けることが大事)。
  • サーバーを立てて情報発信したいということであればプログラミングなしで使えるブログサービスはたくさんあります。

プログラミング習得には根気と時間を要しますし、新しい技術によりすぐに廃れてしまいますので、習得したノウハウは短周期での再学習が必要です。
代替手段があるのならば、解決に近づかずに悶々とする時間を、別のことに費やすほうが賢いやり方ではないかとも思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

fgfnabwymさんが社会人で職業としてプログラムを書いているのか、学生で勉強しているのかによって
人に質問するタイミングは変わると思います。

仕事でプログラムを書いているならば、軽くネットで調べて、わからなければ直ぐに誰に聞いてしまうほうが良いかと思います。
簡単な内容であれば、長々と時間を掛けるのは業務上無駄なことです。
難しい内容であれば、周りの方と議論できるため、プロジェクトチームとしての技術向上や隠れていた問題の発見につながることも期待できます。

学生でプログラミングを学んでいるのであれば、一晩悩んで次の日も解決できなければ誰かに頼るというぐらいでいいと思います。
私の個人的な意見としては、時間に余裕があるなら悩めるだけ悩んで自分の力にしたほうが良いと思います。

始めたばかりのころは、知識がブツ切れなので、単純な問題であっても自分の知識と結びつかないことは良くあると思います。
経験をつめば自然に解決できるようになると思いますので、根気強く頑張ってください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

質問の内容にもよりますが、

「何が分からずとまっている」
「これが分かれば先に進む(or 進みそう)」

という点が分かったら聞くと良いと思います。
そこまで考えたのであれば、答えるほうも何を答えればいいか分かると思います。

NGは、考えないで質問すること、です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

私が学生だった頃、プログラミングの参考書で分からない部分や概念は後回しにして、後日理解しようとしていました。日を改めると以前分からなかった部分が嘘のように理解できることがよくあったんです。例えば、overrideの概念が理解できなかった日は、いくらプログラムを書いてもoverrideの概念は理解できないのです。

私は短期集中でプログラミングを学習できる方なんていないと思いますよ。(例外はある)
ただ、チュートリアルをこなすだけでは趣味グラマーの域を超えないと思いますので、今後仕事などで使っていくのでしたら、自発的にバリバリ作りたいものを作っていくと言語の仕様や本質を理解できると思います。

偉そうにすみません。がんばってくださいね。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

どこまで自分で考えたら、人に聞きますか。
そのプログラミングの問題によります。

その問題が経験即や知識による物で、ネットで調べてもすぐに分からないような場合は、同じようなトラブルシューティングをしていそうな人がいれば聞きます。

また他の人の視点を入れる事で、解決する問題もあります。そのような時も聞きます。

抽象的な問題や、ロジック、アルゴリズムが絡むような問題は自分で考えます。

経験が浅い内は分からなければすぐに人に聞くというスタンスでいいと思います。
経験を積む内に自分の中で人に聞くべき問題かどうかという線引きができてくると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

『問題点の切り分け』ができている時に他者に聞きます。
私が、逆に質問を受ける時に、どこまで分かっていて、どこで詰まっているのかを説明を求めます。
困っている人の既知な所からの説明ではまわりくどくなるので、
「何が分かっていて」何がわかっていないのかを整理しないと説明ができないからです。
『暗黙の了解』的な事柄が分かっていない時に時間をかけて説明をしても、それはお互いの資源の無駄遣いになるので、『問題点の切り分け』がポイントのなるかと思います。
今質問する側にいる人もいずれ、逆に質問される側になりますのでこれができるスキルや思考法が必要かと思われます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

設計書を作ってからプログラミングするといいですよ

実業務では設計書を作成し全ての環境を整えてからコーディング(プログラミング)作業に入ります。
余談ですが、実際には事前工程の未完了部分も多々ありますが...

初めての場合や経験が浅い場合に準備なしに作業を行っても成功しないと思います。
webサイトで調べるのもいいですが経験が低いと調べ方が分かり辛く理解に苦しむ場合もあるのかと
参考書など(HOW to的な本がいいです。)を利用してプログラミングの経験値を上げると良いかもしれません。

例えば
家を建てる時(日曜大工的な事でもいいです)、
プラモデルを組み立てる時、
料理を作る時などetc...

初心者が設計書や手順書等が無いと上手く完成しないと思いますよ

やりたい事をメモ書きレベルでもいいので書き起こし、
その、やりたい事をプログラム言語の記述に1つづつ置き換えて行きます。
その際、分らない事も書き起こしておくといいでしょう。
後で、調べてその部分を埋めていけば完成します。

経験値の高い人の場合は、頭の中で既に出来上がっていて、実際はタイピングしてるだけなので
ビギナーには考えながらコーディングするのは難しいと思います。

>皆さんは、どこまで自分で考えたら、人に聞きますか。
実業務では、レビューという作業工程があります。
プログラミング作業を実施する前に行い(プログラム)コードレビューと言います。
コードレビューを終えて指摘事項があれば修正し、レビューが完了するとプログラミング作業となります。
設計書を作り、プログラムコードを記述してレビューしてもらうと効率良く作業が進むと思います。

分らない事も記載して置いて、どう解決すれば良いのか伺うのがポイントです。
理解してる事と、理解出来ていない事を全て出し尽くしてからから質問するのがコツです。

上手く伝われば良いのですが、解決の1歩となればなりよりです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • プログラミング言語

    689questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。