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

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

ただいまの
回答率

90.54%

  • PHP

    20276questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16337questions

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

  • HTML

    8924questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • Python

    7891questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • C

    3658questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

プログラム言語の勉強法

解決済

回答 11

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 885

enigumann

score 5

ゲーム製作をしたいなと思いC言語の勉強を始めたのですが、
やりたいことができず、挫折してしまいました。

そこで、皆さんはどのようにしてプログラムの言語を勉強したのか、 自分が思う挫折しない方法などあれば教えていただきたいです。


追記
作りたかったゲームは空から落ちてくるのをキャラクターを操作して避けていくゲームを作ろうとしました。
挫折したところはキャラクターをボタンを作って左右に動かすことができなかったです。

今はweb製作をしようと思いHTMLとCSSを勉強しています。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • yohhoy

    2018/06/27 01:01

    可能な範囲で「どのようなゲームを作りたいのか」などを挙げられた方が良いかと思います。(具体例を挙げての例えでも良いと思います)

    キャンセル

  • enigumann

    2018/06/27 01:29

    ご返信ありがとうございます。追記させていただきました。

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2018/06/27 02:28

    Cで始めちゃったのが頓挫した理由っぽいなぁ。10年前ならFlashで始めて今でも楽しくプログラミングしてたパティーンっぽい。

    キャンセル

  • fuzzball

    2018/06/27 10:02

    勉強を始めて挫折するまでの期間は?

    キャンセル

回答 11

checkベストアンサー

+19

ある程度書けるようになるまでに、何回も挫折しました。

12歳くらいのときにHPを作ろうと思ってHTMLを覚えようとして、けっきょくモノにならなかったり、
14歳くらいのときにゲームを作ろうと思って入門サイトとか読んだけど、けっきょく訳がわからなかったり、
16歳くらいのときに日本語で会話できるbotを作ろうと思ったけど、よくわからなくて諦めたり、
...(まだまだあるけど省略)

一応プログラミングの基礎はわかるようになった、と言えるレベルに達したのは、卒研をやるためにpythonを覚えてからです。


どのようにしてプログラムの言語を勉強したのか

ググる。参考書を読む。書いてみる。人に聞く。教えてくれる人がいれば教えてもらう。
他にはあまり思いつきません。


自分が思う挫折しない方法

これは色々思うことがあります。あくまでも私の意見として読んでほしいのですが、

 必要に迫られたときにやる

必要に迫られていないのに、新たなことを習得しようと思っても困難です。人間はそういう生き物なので。

強制的に必要に迫られるような環境に自分から飛び込んでいくのがベストでしょう。大学の工学部の情報系の学科に入るのがおすすめです(年齢と環境によっては困難かもしれませんが)。

それが難しいのなら、とにかく負担にならない程度の作業量で毎日少しずつやっていくしかありません。きつくて必要に迫られていないことは、すぐ放棄するのが人間です。

 時間をかけて基本的なことからしっかりやる

すぐには身につきませんし、基礎を理解しないといつまで経っても成長できません。急がば回れ。

 「○○を作りたい!」というモチベーションは捨てる

プログラミング初心者が思う「作りたいもの」は、たいてい作るのが大変です。

ユーザとして使っているときは簡単そうに見えても、背後では高度な技術が走っていたりするものです。だいたい、我々が普段使っているソフトウェアは、商業として成立する程度に水準の高いものです。

ということは、あなたが「作りたい!」と思うようなソフトは、あなたの(=「一般的なプログラミング初心者の」。質問者様個人をけなす意図はあまりありません。あしからず)レベルにはまず合っていないので、作ってはいけないのです。

  • そもそもできなくて挫折する
  • なんとか動くようにはなっても、自分の作ったしょぼい「成果物」と「理想」との乖離に打ちのめされて絶望

こういう結果を招くだけなので、高い目標はさっさと放棄しましょう。その方が身のためです。

・・・ここまで読んで「そしたら、やる意味ないじゃん」と思ったのなら、実際のところやる意味はないのでやめましょう。あなた(=そう思ってしまった自称「プログラミングを勉強したい人」)には向いていないのです。

どういう人に向いているかというと、C言語の入門書に載っているような、「printf・scanf」とか「ループでかけ算九九を計算する」とか「再帰呼び出し」とか「バブルソート」とか、そういうのをやって、

「おお、こんなプログラムを書いてコンソールに文字を出したり読み込んだりすることができるんだ! 今まで使ってきた(CLIの)プログラムもみんなこれ使ってるのかぁ」

「へぇ、ループはこうやって回していくんだ! これで色々できそうだなぁ」

「再帰呼び出しカッコいい!」

「ソートのアルゴリズムによって速度が全然違うの面白い!」

こういう風に面白がれる人に向いています。

はっきり言って変態ですが、そういう変態さんなら、入門書からやっていって少しずつレベルを上げていけば、数年後には簡単なゲームくらいは手間さえかければ思い通りに作れるようになります(たぶん)。そこから成長していくのは、それほど難しくはありません。

参考になりましたでしょうか。

 追記

とはいえprintfが面白い変態はさすがにそんなにいないと思う(でもこの回答読んでる人の中にはたぶんいる。変態さんこわい)。

ゲームを作るなら、「自機が動いた」とか「弾が出た」とか。それくらいで感動できれば見込みがあります。Webなら、「思い通りのレイアウトが作れた」「javascriptで動的なWebページを書いてみた」あたりでしょうか。

これくらいのものを自分で書いてみて「面白い!」と思えないなら、申し訳ないですが私の基準ではアウト。よくいる結果だけ欲しいワガママさん。心を入れ替えるか、やめちまえ、としかアドバイスできません。

質問者様がそっち側じゃないことを願います。


初心者はつまらなくなるとすぐモチベーションがなくなってやめちゃうので、できるだけ最短で目的にたどり着ける道をたどるのは一つの正しい選択肢です。

ゲームなら、RPGツクールでもHSPでもなんでも使って(どちらもプロのゲームプログラマの方はまず選ばない選択肢だと思いますが、初心者には適していると思います)さっさと成果物を作れば良いんだと思います。Webだったら、既存のブログサービスのカスタマイズとかから始めた方がたぶん良いんだと思う。

限界を感じるまでは簡単な方法でやって、感じたら次のステップに行けば良いのです。

ただし、それと併行でプログラミングの基礎的・一般的なスキルを上げていかないと、どこかで「やって得られる快感」と「やるのに要する手間・コスト、やることの面倒臭さ」が逆転して、行き詰まります。

退屈な入門書すら面白いと思って読む変態さんは、これがないので強いのです。どこまででも行ける(ただし細部フェチになって上の方に行かない人もたくさんいる。プログラミングに関してはそれはそれで価値のある技術なので、構わないんですが)。

普通の人は、面白いことは面白いことでやりつつ、多少退屈でも基礎も併行で積み上げ続けていくことで、逆転を防ぎながら続けていくことができます。

基礎と応用は車輪の両輪なので、頑張って両方回してください。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/30 16:28

    ご回答ありがとうございます!
    みなさんも結構挫折を経験しているんですね
    自分もへこたれずに頑張っていきたいと思います!
    私はすぐにこんなものが作りたいとなるタイプなので、それはいとまずおいとくことにします。(おいとけるかな?。。。)
    Cを勉強したときにループおもしろいな〜とか思ったりしていたときもあったので
    もしかしたら、変態さんなのかもしれないです。。。。

    キャンセル

  • 2018/06/30 16:33

    まあ、やりたいことがあるならやるのは良いことだと思うのですが、
    プログラミング能力の制約で詰まりまくるとしんどいので、「プログラミングをマスターしたい」のなら素直に基礎から積み上げて行けば良いんじゃない? ということですね
    そして「やりたいこと」があるなら、そのために本当にプログラミングが必要なのかもよく考えましょう。コードを書かなくても色々作れる時代ですから

    キャンセル

+11

まず、初めからすごい作品を作ろうなどと欲張らないこと。英語だってThis is a pen.から始めるわけで、最初はうんとくだらないプログラムから始めましょう。

大事なのは、下らなくてもとにかく「完成させる」ことです。そのうえで改めて機能拡張を考えてみるといいのです。

それから、C言語は決して初心者に優しい言語とは思えません。こんなことを言うとその道のプロの方には「けっ」と言われるかもしれませんが、ポインタを使った文字列処理なんておよそ堅気の人間が手を出すべき作業ではない気がしますよ。基礎力をつけるにはCがいいんだという考え方もあるでしょうし、目的によってはC一択ということもあるでしょうが、それでも最初はもう少し敷居が低くて結果がすぐに見えるスクリプト言語から始めるといいんじゃないでしょうか。javascriptとか。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/27 01:35

    ご回答ありがとうございます。
    確かにそうですね!
    今web製作の勉強をしていて、HTMLやCSSをやっているのでそこからjavescriptなどで動きを付けれる
    よう頑張っていきます!

    キャンセル

  • 2018/06/27 02:51

    sometimes , i frustrated when i'm writing something interesting. but problem struck somewhere i try few things , make some thing different, search problem where i struck . First approach , is better because my close always point when i follow second approach , and try to tease me :) really cool idea

    キャンセル

+9

普通のゲームはゲームエンジンの上で走っていて、多層に抽象化されています。
なので、一人で作るにはハードルが高いのが一般的です。

問題はゲームを作りたいのか、ゲームをきっかけにプログラミングができるようになりたいのか、です。


前者ならhayataka2094さんがおっしゃるようにRPGツクールのような簡易的なゲームエンジンでゲームを作るとよいと思います。


後者でプログラミングをやるのなら五目並べなどから始めるとよいです。

まずは、制御文からなれていく必要があります。
それから、画面表示と、操作へ移っていきます。

画面は最初は派手な表示が必要のないものにすべきです。
いちいち表示のグラフィックにこだわっていたら先に進みません。

操作はターン性がよいでしょう。
リアルタイム性が必要となると、割り込み処理とかマルチプロセス化が必要になってくるので。

ゲームAIもそれなりに大変です。
ミニマックス法など探索アルゴリズムにある程度なれなければなりません。

ある程度複雑になってくると、少し頭を使わないと処理が詰まって重たくなってきます。
入力出力でブロックしてバグも増えてきます。


どのようなことが実現できる必要があるのかを意識して、できることを増やしていくとよいかと思われます。
ゲームは動くので、完成した際の喜びは大きいかもしれませんが、初心者にできるようなものは、この程度のことをやるのにめっちゃ大変だったなあ、という感想の方が多いかもしれません。

できることからやっていくのが大事です。
プログラミングができる知り合いに、やろうとすることの難易度についてアドバイスを貰うとよいかもしれません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+6

鉄則1 簡単なことから始める。
鉄則2 手を動かす。
鉄則3 浮気しない。
鉄則4 石の上にも三年。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

挫折しない方法などあれば

ありません。
 
スキー、スケート こけて上手くなります。
野球 空振りして上手くなります。
サッカー、バスケ シュートを外して上手くなります。
プログラミング 不具合を起こして対応して技術力が身につきます。

いずれも失敗することで成長への糧となるものです。
 
挫折を挫折と思わないこと、チャンスと思うことが大事です。
 
考え方をかえてみてください。
あなたがやろうとしていることは、この広い世界中で誰もやったこともない画期的なことをやろうとしているのでしょうか?

つまり、「どうにかすればできる」のが分かっているはずです。
「誰かが必ずできてるんだから、自分にもできる」と思えたら、
挫折が挫折でなくなります。
 
厳しいこと言うと、それくらいで挫折と思ってたら何も成せません。
 
挫折を怖がっているあなた自身の心をかえるべきです。

「絶対に失敗しない方法」は存在しませんよ。(「絶対に成功する方法」もありません)

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

世の中には46歳の方がC言語の勉強がてら、ダライアス(知ってる?)を勝手にメガドライブに移植した人もいます。
https://ameblo.jp/arcade-cabinet/entry-12381068306.html

上記は余談ですが、素のC言語でグラフィックを使った動きのあるゲームを作るのは厳しいかもしれません。
C言語から始めるにしてもまずは敷居を一番低いところに設定してからはじめたほうが良いでしょう。
定番のHello World!から始めて、徐々にステップアップしていくことをお勧めします。
余談に挙げたメガドライブなんかはおそらくメガドライブ用のSDKを使用していると思うので、グラフィック周りの扱いは楽になっていると思われますが、そのSDKを使うには基礎知識が必要です。
C言語に限らず基礎が大事です。
あせらずじっくりやりましょう。
それでも上達しない場合、適正もあります。
特にゲームは向いている人とそうでない人がいると思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

そこで、皆さんはどのようにしてプログラムの言語を勉強したのか、 自分が思う挫折しない方法などあれば教えていただきたいです。

興味があるのに分からないのを覚えるのは大変ですよね。

自分の場合は覚えたのは写経なので参考にはならないかもですが・・・。PC買ったけどゲームが無いのでゲームのプログラムをひたすら打ち込んでいたら覚えた口で、必要性があったからなんでしょうね。

そのうち自分でも何か作ってみたいなという欲が沸き、小さなゲームにもなってないけど動くものが出来上がり友達に見せたってのがはじめでしょうか。とてもオレスゲー!って喜んだのを覚えています。

単に写経するだけではなくて、写経中や終わった後はこれどういう意味なんだろうと調べたり、こう変更してみたいんだけど?って試行錯誤したりしたのはありますが、、、

今は効率よく覚えるために勉強しますが、小さな部分では今でも写経がベースですね。サンプルプログラムがあったら、

1.(分からないまでも)読み、実行結果を想像する
2.写経(必ず手で打ちコピペはしない)
3.実行し結果を確認
4.サンプルを興味本位でいじってみる → 3の繰り返し

上記は小さなイディオムなどを覚えるときに使っている方法です。自分にとっては写経が一番合うなと感じているのですが、写経を選んでいる理由は、写経によりイディオムを手が覚えてしまいます。アウトプットの速さは思考をする時間につながりますし、なにより早くうまく書けるという事は楽しいですよね。速くうまく書けるので次も書いてみたいとなります。

挫折しない方法については、人それぞれなのですが、初めは自分にご褒美を与えるぐらいですかね。これやったらビール飲むとか・・・サンプル出来たら俺スゲェ!って心の中で思うなども意外といいですよ。でもそれだとすぐに飽きるので、一番のインセンティブは自分が誇れると思う状況を作るでしょうか。

HTMLとCSSを勉強されていると書かれていますが、自分だったら好きな興味のページを作って公開するとかですかね。出来た事をブログなりキータなりにまとめてみるとか、友達に見せるとか何かしらの反応はあり、それがインセンティブになり次を考える契機になります。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

+4

挫折しない方法は楽しく遊ぶ事です。

自分がどうやっても楽しいと思えない事柄については苦行でしかないので、あとは挫折しようがどうしようが修行あるのみです。

一方でやりようによって楽しく遊べる事柄については、遊んでれば自然と継続できるので比較的に楽な修行になります。

「できないことができるようになる」プロセスは楽器でも学問でも言語でもゲームでも何でも一緒だと思います。「好きこそ物の上手なれ」とも言いますし、私の経験からも全ての物事は基本的にこの法則に沿う気がします。

なんか啓発系の本みたいな事を書いてますが、これはまぁ真理です。いろんな分野の上手な人に質問して見て下さい、「それで遊んでますか?それは好きですか?」と。答えはほぼ2通りで「もちろん」or「いいえ、ですが仕事(苦行)ですから」のいずれかです。

私にとってプログラミングは前者、英語は後者その後前者、楽器は過去形で前者、スプラトゥーンは進行形で前者です。が、覚悟の低いスプラトゥーンは上手止まりで頭一つ抜けることはありません。楽器もそうでした。上手の中にもレベルがあってただ遊んでるだけでは到達できない領域が存在するんですが、それはまた別の話なので以下省略。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/06/30 01:57

    ちなみに私のプログラミングに関する遊び構想の一例は、リアルタイム動画認識と音声合成を組み合わせて、スプラトゥーン特化の音声アシスタントを作成することです。この遊びは構想するだけで楽しく学びも多いです。が、覚悟が足りないので構想止まりです。

    キャンセル

  • 2018/06/30 06:06 編集

    あと全く分からない事に飛び込む取っ掛かりとして私がよくやるのは、本屋に行って雑誌を1冊買ってそれを流し読んだり隅から隅まで読んだりする事です。雑誌は包括的ですしサイドトピックも多く読んでて面白いように作られてあるので意外と取っ掛かりには下手な入門書よりも効果的です。

    キャンセル

+2

みなさんがとても良い回答をしているので、少しゲテモノな意見をば…

やっぱり、やりたいと思う見栄えの良い事はやるべきことが思った以上に多岐にわたるものだと思います

まずできるだけシンプルに、華美な部分を削ぎ落して…という前段階が必要です
そこができてから肉づけをしていけば、少しずつ理想に近づいていけます
まずプロトタイプ、そしてバージョンアップ最終的には構造を見直して量産体制に

挫折については少し脱線してこんなお話を
最初から高機能なソフトを使う事から入った方々は「PCってすごい」って思うでしょうが
コンピュータってバカです。
言われたことを言われた通りにしかできません。指示が間違っていれば必ず間違えます
(間違いが複合的に絡まって奇跡的にうまく行くときはうれしいではなく気持ち悪くなります)
ソコを気づかずにプログラミングに手を付けると
「何で思った通りに動かない!」「こんなはずじゃなかった」
とぼやきたくなります
物わかりの悪い人に頼みごとをする以上に説明(プログラミング)が必要になるので、説明不足なのかな…言い方悪いのかな…やって欲しい事に無理有るのかな…と考えればトライ&エラーになり前に進めるんだと思います
あーもういいわ、お前話通じないから頼まないわ!
と言い切ってしまうのが挫折ですかね

諦めなければナレッジとして経験が積み重なると思いましょう

そして、そんなおバカなPCにこちらの「やって欲しい事をさせる事が出来た」に快感、征服感を覚えたら

あなたも立派な変態プログラマになっていると思います

追記

そういいつつ、私も最近挫折した事あります。
ググりながら独学して、フレームワークに手を染めようとしたんですけども…
情報が雑多(正誤よりも新旧が混在し過ぎていた)で、生PHPで出来ている事をリファクタリングしたいのにいつまでたっても基礎的な構造設計レベルから抜け出せず、質問しても「使うにはまだ早いおじさん」が湧いてきてコストが成果に見合わない状態に陥りました

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

まず何をできるようになるか目標を明確に決めて、そのために何が必要かを定めるのが大事な気がします。
目標より先に手段がくると効率が悪い。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

自分は高校時代にゲームを作りたかったのでプログラミングはじめました。最初はVBでしたが、あまりにもバージョンアップが激しく、互換性関係のトラブルに悩まされてC/C++に移行していました。

一方、高校上級生になるにつれてゲームを卒業してきたのでUIに拘りがなくなりました。この辺りでjavaにも興味が出てきました。大学時はとにかくC/C++、javaをやりこみました。特に題材はなかったので、大学の適当な課題を対象に、拘ったプログラミングし始めました。

大学上級生になってスマホが出回ると、このプログラミングにも興味を持ちました。が、システムの相違のためにプログラムの互換性にまたも悩まされました。このため、VM上で動作するjavaやブラウザ上で動作するスクリプトを再度勉強し始めました。

就職してからは事務処理の簡略化マクロ(Excelとか)ばかりです。物足りなさを感じはしますが、それなりに楽しいです。

挫折というとVB関係とかMVCですかね。バージョンアップばかりで互換性も優れず、そこまで勉強する気になれなかったです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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

  • PHP

    20276questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16337questions

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

  • HTML

    8924questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • Python

    7891questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • C

    3658questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。