プログラミングを学習するにあたって、つまずきやすいポイントがありますよね。
よく知られたものに、(主にC言語の)ポインターやオブジェクト指向、モナドなどがあります。
私は、プログラミング歴が浅かった頃に、雑誌のPerl講座やWebページなどで登場する
「汚染」という概念の理解に苦しみました。
「汚染」があると何が問題なのか、という解説を見つけることができなかったのです。
今思うと、手当たり次第に読んでいたのが問題で、ちゃんと体系的に学んでいればそのようなことは起こらなかったのではないかと思っています。
こんな感じで、プログラミングを学習する際に理解するのに苦労した概念というのがあったら、どの辺が苦労したのかを詳しく教えていただけるとうれしいです。
よろしくお願いします。
追記:あと2,3日受け付けています。回答お待ちしております。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答8件
0
最近ではJavaEEの「依存性注入」でしょうか。原文はCDI(Contexts and Dependency Injection)なので、そのまま訳した感じなのですが、和名だけ見ると敷居が高く感じてしまいます。
私としてはアプリケーションとは別体のサービスがbeanを生成・保持し、アプリケーションはそのbeanをアクセスする仕組みと解釈しています。実際には使いやすくWebプログラミング初めての方でも利用できるのではないかと思えるぐらいです。
2冊目に買った参考書でやっと理解できた(理解し始めた)感じです。本代は掛かってしまいましたが理解できて、使えそうと感じたときの喜びは大きかったですね。
投稿2015/09/27 23:36
総合スコア1339
0
苦労したのは「関数型プログラミング」かな。
「関数型プログラミング」がわからない、書けない、できないというわけではなくて、「『関数型プログラミング』とは○○である」という決まった定義がないから、いまだに人に説明するのに苦労します。Haskell等の「関数型プログラミング」でしか書けない言語で遊んで、ああ、こういうスタイルや考え方でコーディングするのが「関数型プログラミング」なんだ・・・って理解するしか無いような気がしました。モナド?ああ、あんこがはいったあれね、おいしいよね。
投稿2015/09/27 03:09
総合スコア21735
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「継続(continuation)」、「コルーチン(coroutine)」、「スレッド(thread)」は、最初のハードルを越えるのが難しかった記憶があります。色々な説明を読んで、やっと自分自身が納得できるモデルが脳内に出来上がったという感じです。
どれも古典的な手続型&構造化プログラミングから離れるものだからでしょうかねぇ。
投稿2015/10/01 03:57
総合スコア6191
0
ベストアンサー
もともとBASICやCからプログラミングを始めたもので、「プログラムのソースコード」と「プログラムで操作するデータ」というように、世界を二分するような考え方をしていました。
JavaScriptを始めた時に、foo.bar
というような「ソースコード上に書いた識別子」と、foo['ba' + 'r']
のような「プログラムで生成した結果」が同様に扱われる、ということをなかなか飲み込めなくて、しばらく戸惑った思い出があります。
もっとも、今となっては「プログラムコードも一種のデータ」という考え方に馴染んで、Rubyでループを回してメソッドを一気に生成する、なんてことも平然とするようになっています。
投稿2015/09/28 01:40
総合スコア145184
0
「遅延静的束縛」
説明を読むと分かりにくいのだけど、
実例を見るとどういう機能なのかはわかる
だがなんでそれがこういう名前なのかわからない
難しく感じるのは多分名前のせい
投稿2015/09/27 06:52
総合スコア7804
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 09:06
2015/09/29 07:34
0
C言語から入った方はCOBOLのMOVE命令がわからないといいますね。
投稿2015/09/27 05:42
総合スコア876
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 05:56
2015/09/27 06:04
2015/09/27 06:07
2015/09/27 06:20
2015/09/27 06:44
0
締め切られていますが、ただいま絶賛「モナド」に苦戦中でございます(笑)
そもそもモナドとは何なのか?概念的なところを調べてみても、サイトによって様々、多種多様で未だに概要が掴みきれていません汗
それ以外のところだと、オブジェクト指向を学び始めた時はポリモーフィズムに苦戦した記憶がありますね。
よくある「動物クラスと犬、猫クラスがあって・・・」のような解説をされたのでチンプンカンプンでした。
なんとかボンヤリと理解していましたが、後に、デザインパターンを独学している時に「これがポリモーフィズムの用法なのか」ってハッとなった経験があります。(アハ体験っていうんですかね?)
投稿2015/10/05 04:53
総合スコア1679
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/28 06:56
2015/09/28 07:44
2015/09/28 08:38