私は確かに受け入れられた答えの主な推力に同意し、Erlangを試して基本的に物事に飛び込んでいることを考えると、あなたはおそらくあなたが学ぶ方法をかなりよく理解していて、右に少しだけ必要なだけのように聞こえます方向なので、明らかにそれはあなたにとって良い答えでした...しかし、この答えは私にはまったく役に立たなかったと思うので、私は少し違った質問にアプローチすると思います。私はいつも学ぶためにコーディングしています!だから、ここに私の考えがあります...
(ところで、たとえば本の章にもっと適した詳細に進む傾向があり、本能をここで完全に抑えることはできないと確信していますが、私は別のタックを試してみるつもりです;ここで私の考えを要約し、誰かが何かについてもっと詳しく知りたい場合、またはこの形式で私が言うことが誤解を招くと思う場合は、応答リマインダーを忘れずに忘れないように最善を尽くします...)
自分が仕事を続けられるようにするために、OPで求められた推力の質問に対する私の理解をここに示します。説明のために必要に応じて副業を最小限に抑えます。
最初の簡単な答え:
私は同じような状況にありましたか?少なくとも似ていました。私は主導的な立場にありましたが、それでも関連する多くのさまざまなプロジェクトを行っていました...(CRM / Web / DB / Data Integration / etc。)
なぜ/どのように機能するようになったのですか?」 LINQの例をいくつか見ましたが、ある種の統合された静的に型付けされたクエリ言語(主に静的に型付けされた言語(主にC ++以降のC# )]私のキャリアを通して...しかし、それは私がいたかなり速い火の環境でした、そして、私はしばしば過去に何が来るかを見ることができましたが、私はそれを本当に考えなかったので、それを予見しませんでしたプレーンオールドオブジェクトの操作を許可する/許可する(笑!)私はそれを見たとき、私はそれを持たなければならないことを知っていました...だから、それが理由であり、方法の始まりです:私はLINQを理解することを学ぶことに集中しました。
四つの考え...えー、いや、そうではない...
Martijn Verburgの答えを読んだとき、ビジネス機能についての言及は、私が取り組んでいるものにコードを実装し始めることにすぐに心を惹きます...あなたの足の親指を浸して、仕事(または近々仕事になる)のために直接何かを持っているかどうかはわかりませんが、おそらくあなたが取り組む最初のいくつかの問題についてあなたが持つべき興奮/情熱を与えるでしょう...
私はほぼ完全に静的に型付けされた言語+ OOPのメタファーとパターン+何年にもわたって実際の問題を解決している間に偶然に脳を包み込んでしまったものに根ざしていました。おそらく、LINQ / FPでそれほど役に立たないものに専念する多くの頭脳を持っているでしょう。
あなたはOOPで使用して終了することを手続多くのものがありますが、それにも優先することなく、CからC ++に来る人たち:私はちょっと純粋な手続き対のオブジェクト指向プログラミングのようにそれを考える「取得」/ GROK /県 OO C ++が非常に苦手です。私は実際に、C ++を知っていると本当に思っていたが、せいぜい C ++のひどく基本的な/教科書を理解していた、多くの(15歳以上の)長年のファームウェアおよびデバイスドライバーの開発者にインタビューしました。OOPの経験-実際にOOPを実行したことはないため...静的メンバーと静的関数を使用して、構造体として使用される非静的/非単一クラスのシングルトン多目的クラスを作成しました。
そしてFPには、同様の心を曲げる(パラダイムで育てられていない人のための)概念やそれに付随する他の事柄があります(多くのテクニックのハイブリッド化が私にとって理想的であることがわかりましたが)時間がたつにつれて、本当の機能的能力をツールセットに取り入れる前に、私の思考がどれほど制限されたかが正確になりました。私は過去に多くのオブジェクト指向プログラマーよりも少し創造的だった方法で多くのことを実装することができましたが、概念を使用するとき、私の思考が以前はいかに難しかったか...解決できる問題の全クラスがありますかつてはC ++ / C#で多くのゆがみをしていました。
突然あなたは自分自身を見つける...
「長すぎる」投稿で
あなたは曲がりくねった「読まなかった」迷路の中にいます。
近い将来、電話会議が急速に近づいています。
>簡潔
うん。承知しました。さて、「簡潔」モードは「オン」です。
近い将来、電話会議が急速に近づいています。
>それはどういう意味ですか?
言ってるだけ'。今朝何かする必要はありませんでしたか?
近い将来、電話会議が急速に近づいています。
>ねえ、それはあなたの背後にあるグルーですか?
何!?どこ?![叫びながら逃げる]
>申し訳ありませんが、私はどこを理解していませんでしたか?
[走り続け、叫び続け、皮肉は気づかれない]
それで... PSEの皆さん、PSEの皆さん、何を学ぶべきでしょうか?
私は個人的にLINQでC#を始めました。一度にいくつかの概念を紹介することができました。FPとその概念、さらにLINQ、および2つの関係について常に読んでいるうちに、生産的な作業をしながら前進できました。私は一度にいくつかのことを追加しました。データクエリは、トンを理解する必要なく、すぐに便利なツールになりました。
さて、振り返ってみると、次のプロジェクト(約1年後に取り組む)を最初にできたらよかったと思います。私はF#にある程度慣れました(偶然、ML(メタ言語)と他の派生物(たとえばOCamlも)を学ぶ上で素晴らしいスタートを切ってくれました)
基本的に、「何」に対する適切な答えは、あなたが興味を持っているプログラミング問題の良い組み合わせを見つけることに依存すると思いますが、もちろんあなたが学びたいFPのビットとペアにする必要があります...リストから何かをノックした後、繰り返し/泡立てます...)そして、もちろん、あなたはいつもあなたがすることを目指した主なことよりもう少し多くを学ぶことになります。最初はいくつかの小さなステップを踏んでいましたが、それから大きなことをして、小さなものを所定の位置に収めるようにしました。
まず、あなたのボートは何に浮いていますか?特に最初は、(あなたにとって)楽しくてエキサイティングなものを用意することが最善であり、それはあなたにとって興味を持ち続け、あなたにとって価値があるものになります。ですから、IOWが取り組むべき問題と、それらの問題に対処するテクニック... LINQとインラインデータクエリを最初に私のために。再帰は、尾の再帰を含む私にとっては別のものでした。GodelEscherBach-nessを掘ります。そして、私はテール再帰について読んでいました。この頃、私が取り組んでいたものは保留にされ、長い時間を費やしてしまいましたので、私はそれを長い間維持することができました。中断が少ない方が簡単でしたが、楽しいと思ったものを選んだため、作業が中断されてもそれほど難しくはありませんでした。:)
そして、私はクールなものを思いつきませんでしたが、自己認識のカニプログラムのように話すことができますが、私はそれでかなりうまくいくことができました。
そして... PSE、PSE、何で、何を学べばいいの?
このために、とにかく興味を起こしたさまざまなアルゴリズムに加えて、F#でできるかどうか疑問に思ったさまざまなことを使用し、アイデアがなくなったら99本のビールやProject Euler問題 ...
FPに関連する興味のあるものをたくさん見つけることができると確信しています。拡張機能からOOPまでのすべてを提供します。これにより、以前よりも簡潔に表現できるようになります。前。
しかし...私のモデルに穴があります、親愛なるPSE穴...
そして、これが、特に最初は重要ですが、実際に学習している間(そして何かを学習しているときは常にそうではありませんか?) FPと専門家によって書かれたソースコードを読む時間、できれば同じまたは類似の問題を解決する。物事の説明だけでなく...
そしてその間、あなたはあなたの古い視点からではなく、FP自体から、それをすべて理解するためにあなたの脳に負担をかけなければなりません...私のためのある時点で、それはクリックし、...私がそれを最もよく関連付けることができることtoは多かれ少なかれオランダ語に堪能になっています。ある時点で、私は自分自身を十分にマインドセットに入れることができました(これは基本的にここで説明した没入感を使って行いました。
そして、最終的に私はしました。私はすべてを内部化して、FP / LINQをポップし始めるまで頭をひねりました。(はい、私はそれをしました;私はスカートを掛けるために何かを持っていなければなりませんでした。帽子。何でも。)
最終的な考え...
私、私の、あなたはあなたの署名の賢いことを考える能力を失っているようです
セクションのタイトル。残念だ。
電話会議はまだ急速に近づいています。今ではずっと大きく見えます。
>はい、はい、まあ..簡潔ですべて。私はあなたがなんとかそのgrみを失ったのを見ます。
近い呼び出し、それ...まあ、はい、私はterしています... OHいいえ、戻ってきました!
AAAAAAAHHHHHH !! [もう一度叫びながら逃げる]
電話会議はまだ急速に近づいています。
それはどういうわけか、ランシージョン・クリーズウィズirに似ています。
もうすぐです。
>ちょっと、急いで!私はあなたと一緒に試す実験をしています!(およびpo-ta-to)
もちろん、FPに関する豊富な情報をオンラインで見つけることができます。主なことは、基本的な概念を理解し、それらを適用することを学ぶことです。たとえば、不変性、およびそれがFPにとって重要/有用である理由について学びます。純粋なFPが形式的証明をはるかに受け入れることができるように、すべてと一緒に進むために少し理論を学ぶことを強くお勧めします。これは、F#の先駆者であるMLの背後にある推進力でした。もちろん、YMMVあなたは正確に確認する場合は涙に退屈誰か、多くの例、試行錯誤がたくさんあることも理由に使用される技術は、彼らはあなたが持っていることを助けるれているものである「アハを!」ひらめいた。
それで、私は今のところそれを残します。これが誰かの役に立つことを願っています。学ぶために具体的なことをもう少し知りたいと思っていましたが、今のところ時間がありません。私にとっては長い週になりそうですが、少なくとも週末になると思いますが、すぐに戻ってくる時間を見つけられることを願っています。
<3「暫定的なGRUEBOLの紹介。SnozzMLが終了するまで。間もなくそうなるはずです。今回は私を支援する巨大な委員会があります。」--Grace Hopperwit Egghead、有名な最後の言葉、XX97 GUE <3