【.NET】F#について語れ3【OCAML】
1 :デフォルトの名無しさん :2019/09/08(日) 19:16:25.58 ID:8+6E4mCC.net このへん https://fsharp.org/
192 :デフォルトの名無しさん :2022/12/06(火) 22:56:03.79 ID:NXqSTiS1.net 仮引数すら拡張的な位置付けなら、λの入り込む余地なんてないわな
193 :デフォルトの名無しさん :2023/01/09(月) 22:38:07.76 ID:P8VzlMvA.net 最近独学で触り始めて面白いなーと思ってるんだけど 日本でF#の案件ってないのかな
194 :デフォルトの名無しさん :2023/01/10(火) 12:55:32.80 ID:xQ3373Gc.net 実案件にF#ぶっ込んだけど募集案件としてはたまーに見るくらいやな
195 :デフォルトの名無しさん :2023/01/23(月) 15:49:01.68 ID:vIT0tuiY.net 人気ないなあこの言語
196 :デフォルトの名無しさん :2023/01/23(月) 17:21:06.97 ID:a4EgEm41.net >>195 んー。なんでだろうね
197 :デフォルトの名無しさん :2023/01/25(水) 09:53:51.40 ID:RZa9VHBZ.net この言語って"知られていない"の一点に尽きる気がする TypeScriptよりも書いていて気持ちいいと思うんだけどな
198 :デフォルトの名無しさん :2023/01/25(水) 20:02:30.86 ID:2bKf7Laz.net MSが力入れてないのでテンプレートがないとかで使いにくいとこはあると思うけどそのほかは今でもC#より優れてるとこ多々あるとは思うよ Unityで使えるならこっち使いたいわ
199 :デフォルトの名無しさん :2023/01/26(木) 08:47:58.88 ID:FLQwi+2l.net >>198 F# Unityでググると、日本語の記事がいくつかヒットするけどどうなんだろ。
200 :デフォルトの名無しさん :2023/01/26(木) 09:15:28.50 ID:Jfa2YV7v.net >>199 WindowsでIL2CPP使わないなら使えるというかF#でつくったdllの呼び出しが出来るって話だと思う。 モバイルとかはもうIL2CPP前提だから無理ぽ 無理というかタイプのネストが9以下ならいけるはずなんだけどF#じゃ軽く超えるからやはり無理ぽ
201 :デフォルトの名無しさん :2023/01/28(土) 18:25:58.60 ID:mPwfONGy.net 技術書コーナーでF#の本を見たことがない
202 :デフォルトの名無しさん :2023/01/28(土) 19:31:13.85 ID:5OMXkAmW.net 日本語の本はもう10年近く出てないだろうしな…
203 :デフォルトの名無しさん :2023/02/24(金) 18:06:03.59 ID:DO2HmvEC.net Unityばかり使っててF#全然触ってないんだけど、ジェネリクス使おうとするとF#の楽さが身に染みる
204 :デフォルトの名無しさん :2023/06/14(水) 17:45:55.59 ID:XMqK+ap6.net 実務でF#使ってるっていう会社の面接受けてて好感触なんだが果たして本当に大丈夫なのだろうか……C#の経験しか無いんだが まぁあとはF#みたいな割とマイナー寄りなところの経験積んでも将来なぁみたいな。F#使ってる会社ってどれくらいあるんだろう
205 :デフォルトの名無しさん :2023/06/15(木) 13:56:59.56 ID:frn/21Cm.net 正直言語なんでなんでもいいしそこで関数型やら.NETやら慣れたら他にも応用効くでしょ
206 :デフォルトの名無しさん :2023/06/15(木) 18:42:35.30 ID:pUp5jw/a.net G--
207 :デフォルトの名無しさん :2023/06/15(木) 23:50:49.25 ID:IUPOKbhQ.net Elixir の方が良い。 Ruby っぽくて可読性も高い スクエニでも使っているらしいし、 Ruby on Rails の本も出している、黒田努の本も出た Elixir実践ガイド、黒田努、2021/2/5 Ubuntu 20.04, Docker CE 19.03, Elixir 1.11 Phoenix, BEAM というフレームワークもある YouTube で有名な雑食系エンジニア・KENTA は、 Phoenixでポートフォリオを作った。 Railsに似ているのかも
208 :デフォルトの名無しさん :2023/06/16(金) 21:44:52.28 ID:Ya9firZ8.net BEAMはフレームワークじゃないだろ
209 :デフォルトの名無しさん :2023/06/28(水) 13:30:46.03 ID:BVdlIcNn.net 漠∞!!!! 列∞!!!!! 廷∞!!!!!! 器∞!!!!!!! 業∞!!!!!!!! 論∞!!!!!!!!! 寿∞!!!!!!!!!! 素∞!!!!!!!!!!!
210 :デフォルトの名無しさん :2023/07/06(木) 23:12:25.30 ID:D9prSSOp.net >>204 だけど結局会社入った F#とC#が入り乱れるフレームワークとそれによるシステムで超苦戦してる というかF#まじで分かりにくくない?let let letでもう何が何なのか区別が本当につけにくい {}の区切りも無いから巨大な1ファイルにたくさんクラスがあったりするとどっからどこまでが1クラスなのかすらよく分からない あとそもそも学習リソースが無い。英語の本やサイトくらいしか包括的に学べない 転職先選び失敗したかなぁ……1週間で早くも落ち込んでる
211 :デフォルトの名無しさん :2023/07/07(金) 07:54:48.06 ID:CjPc9ICD.net >>210 業務でF#使えるなんてうらやましい。 ちょっと古いけど、自分は「実践F#関数型プログラミング入門」って本で勉強したヨ。 がんばれ
212 :デフォルトの名無しさん :2023/07/09(日) 22:25:24.69 ID:xVwuu7Mx.net >>210 typeとletで普通に見分けつかん? 英語の本あれば十分なのでは…というか英語でダメならこれを機会に英語勉強しろ 翻訳するのもあり
213 :デフォルトの名無しさん :2023/07/13(木) 00:01:20.07 ID:Bgq+8lL5.net F#のベストプラクティスがよく分かってないからあれなんだけど moduleはC#でいうところのstatic classみたいなもんっていうの読んであれ?って ユーティリティクラスは良くないとか言われるけどあんまstatic classにいいイメージ無くて F#だと全然そんなことないの?ガンガンmoduleに色々突っ込んじゃえみたいな感じ? >>211 注文した >>212 いやtypeとletはそりゃ区別つくけど。関数だろうと変数だろうと条件分岐だろうと全部letじゃない あとまぁpythonもそうだけどインデントで分けるのほんと分かりにくくて。カッコが無いときつい 英語割りと得意な方だけど勉強するときはやっぱり日本語のほうが頭に入る
214 :デフォルトの名無しさん :2023/07/25(火) 20:56:40.72 ID:WtO80aoG.net 判別共用体がよくわかりません。例えば type Shape = | Rectangle | Circle | Prism みたいな例だと最初いやお前らどこから出てきた。そんな型ないだろと思って んじゃenumみたいに0から番号振ってるのかと思ったらそうじゃないって言うし それでいきなりlet x = Rectangleみたいな使い方が出来るなんて言われてもうちんぷんかんぷん。それでxの型はShapeだっていうし RectangleだのCircleだのは識別子って言うらしいけどこいつら一体なんなんですかね。英語サイトなんかだとコンストラクタだと思えばいいよみたいなこと書いてたけど そもそもクラス定義なのにこの内のどれかってどういうことなんですかね。例えばlet y = Circleみたいにやったときxとyの違いってなんでしょう?(参照するアドレスの話ではない) 暗黙的にprivate int typeみたいなのが生成されて番号振られてるとかなら分かるんですが 今日一日ずーっとあれこれサイト巡ってchatgptとかにもお伺い立ててそれでも全然理解できませんでした 大体どの本も最初でさらっと流してるけどどうしてみんな理解できるんですか?自分の理解力の低さに悲しくなってきました
215 :デフォルトの名無しさん :2023/07/26(水) 20:16:10.29 ID:+lLvjQUw.net >>214 オブジェクト指向でのクラス・サブクラス関係のようなものと考えればいいんじゃないか? RectangleクラスやCircleクラスのインスタンスはShapeとして扱える、みたいな話の関数型の考え方での表現方法
216 :デフォルトの名無しさん :2023/07/26(水) 22:00:01.17 ID:y+XWVG/2.net 自分は理解に困ったことなかったんで新しい知見だけど 背景知識でどう書き換えられるかを調べてみたらどうだろう。 その感じだとC#とかJavaとかのオブジェクト志向言語は使えるんでしょ ~言語で書いてみる、とかでググってみたらどうかな 番号振られてるのとコンストラクタ(≒クラス)で識別できるのはあまり変わらない気がするけども
217 :デフォルトの名無しさん :2023/07/26(水) 22:10:22.50 ID:y+XWVG/2.net xとyの違いは値の違いだと思うよ どちらもShapeクラスのインスタンス C#で書くなら、Shapeクラスがpublic static readonly Shape Circle = new Shape(ShapeId.Circle)ってなやつを持ってれば、だいたい同じになりそうじゃん? これならprivate int ShapeIdで区別してるって考えられるけど。 CircleとRectangleの区別のために、実際にどう実装されてるか気にしなくてもいいと思うけどね
218 :デフォルトの名無しさん :2023/07/27(木) 20:58:49.84 ID:brQVAwIG.net >>214 > そもそもクラス定義なのにこの内のどれかってどういうことなんですかね。 どういうことっていうか、そもそもクラス定義じゃないので。 無理やりオブジェクト指向に当てはめるとすると、 null許容型みたいに複数の選択肢を与える型とレコード型を融合させたものと考えたらいいんじゃないですかね。 ただ例え話にも限界が有るし、素直に頭を関数型言語にシフトさせた方がいいと思います。
219 :デフォルトの名無しさん :2023/07/27(木) 23:01:28.28 ID:xZLsmpVc.net >>214 その例だとRectangle、Circle、Prismは中身がないから 単なる番号と考えることもできるだろうけど 中身がある場合はそうもいかないでしょ learn.microsoft.com/ja-jp/dotnet/fsharp/language-reference/discriminated-unions Haskellにも同様のものがあるし www.letitride.jp/entry/2020/05/05/092738 Scalaにも同様のものがある zenn.dev/mossan_hoshi/articles/20230417_scala ScalaではF#のinterfaceのようなものであるtraitと こうした目的のための特別なclass定義 case classがあり CircleやRectangleの定義でShapeを継承している >>215
220 :デフォルトの名無しさん :2023/07/27(木) 23:41:44.86 ID:8hd6E7B/.net >>218 あれちょっと衝撃的だったんですけどクラス定義ですよね?typeだし
221 :デフォルトの名無しさん :2023/07/28(金) 00:31:33.37 ID:335A9+o+.net あーちょっと思いついて判別共用体をDLLにしてC#で呼び出して定義に移動したらC#で判別共用体がどう解釈されるかは分かりました sealed class Shape の中にstatic class Tagsが定義されてint Rectangle = 0, int Circle = 1みたいに番号振られてますね。考え方としては間違ってなかったのかな……
222 :デフォルトの名無しさん :2023/07/31(月) 19:11:32.66 ID:ah9dO7xg.net returnが無いの本当にきついと思うんですけど慣れますか 最後まで関数読んでもそもそも何を返しているのかさえ分からないのが日常茶飯事なんですけど if condition then xxx, true else...みたいなのがあっては?true?なんじゃこの構文と思って散々検索した後にxxxとtrueのタプルを返してるとchatgpt先生に教えてもらったときは無理だろってなりました
223 :デフォルトの名無しさん :2023/07/31(月) 19:38:50.32 ID:ZrzF7TzQ.net 書かれているとおりのものが返るだけなのにreturnがあるはず(あるべき)という 思い込みのせいで分からなくなってるわけで、returnがあるはず(あるべき)という 思い込みはいつか消えますかと問われても、人によるだろと答えるしかないな
224 :デフォルトの名無しさん :2023/08/03(木) 19:15:32.83 ID:fdtnC88s.net 確かにオブジェクト指向とは違う表現が多いだろうけど、それ以上に面白いと思うけどなあ 特にCopilotとの相性が良すぎる
225 :デフォルトの名無しさん :2023/08/06(日) 05:56:54.37 ID:IaLldYqqA 岸田異次元増税憲法ガン無視地球破壞軍国主義文雄のデ夕ラメっぷりか゛炸裂してるな、孑と゛も真ん中社会か゛嘘ハ百なんて孑どもでも分かるわな カによる−方的な現状変更によって都心まで数珠つなぎて゛鉄道のз〇倍以上もの莫大な温室効果カ゛スまき散らすクソ航空機倍増させて、騷音で 勉強妨害して気侯変動させて地球破壞して孑と゛もの未来を暗黒の世界にして熱中症で殺害,世界最惡の脱炭素拒否テ口國家に送られる化石賞を 連続受賞していながら.私利私欲のために莫大な税金泥棒して,莫大な温室効果カ゛スまき散らしてクソ航空機を乗り倒して世界中に脱炭素カ゛― た゛の嘘ハ百ほさ゛いてバ力晒して.白々しくマッチポンプ丸出しで災害対策た゛のとバ力の壁やら日本中コンクリ−トまみれにして子どもの遊び場 破壊して溺死連発.利権倍増に増税,氣侯変動て゛あらゆるウイルス蔓延させて人殺して鷄卵価格やら物価暴騰.莫大な石油無駄に燃やす航空機 全廃すれは゛余裕で原発全廃できるものを原發稼働して全國放射能まみれを目指し,隣国挑發.軍事利権倍増.航空騷音で知的産業壊滅してる中 アプリのひとつも作れない分際て゛マイナンバカ−ト゛推し進めて個人情報漏洩しまくり,漏洩した個人情報に━生害を受け続けるのが今の孑と゛も 創価学会員は,何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を 池田センセ−が囗をきけて容認するとか本気て゛思ってるとしたら侮辱にもほどがあるぞ! hТтPs://i、imgur.сom/hnli1ga.jpeg
226 :デフォルトの名無しさん :2023/11/18(土) 22:09:32.82 ID:H8GQ4CWH.net コンピュテーション式まじでわかんねぇ…… let!とかdo!とか解説をいくら読んでも理解できん。デバッグでステップごとにやってるとlet!の次の行実行しないでいきなり波括弧終わったりするのなんでや
227 :デフォルトの名無しさん :2023/11/19(日) 02:44:53.10 ID:6eSmn67d.net コンピュテーション式の名前をはじめて知った初心者だけどステップインで実行したら1行ずつ動いて、 この記事のコメントで書いてるイメージのコールバックの動きが実感できた ttps://zenn.dev/zecl/articles/a330820e9277cf#option%E3%83%A2%E3%83%8A%E3%83%89%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%BC%8F 中身がコールバックだからかデバッガが上手いこと判断してくれないんかな。
228 :デフォルトの名無しさん :2023/11/22(水) 23:34:53.49 ID:3O36evGu.net コンピュテーション式まじで難しい 大体公式のhttps://learn.microsoft.com/ja-jp/dotnet/fsharp/language-reference/computation-expressions これはなんだ。理解できる人間が存在するのか 記事とか読んでてもこういう風に自動的に変換できるんだよ簡単だねみたいな書き方してるけど変換先がもうわけわからん これを頭の中で想像できない人間は書けないのか
229 :デフォルトの名無しさん :2023/11/23(木) 12:25:10.81 ID:USKpqKz9.net いろんなものを1つのシンプルな手法で表現できる仕組みなので、公式の説明にあるように抽象化された難しい概念なのでは シンプルというのが簡単ではなくて、難しいというのは数学とかはよくあるよね 公式ではうそや矛盾する喩えを出さないように説明するから、 一面を単純化して喩えてるような、複数の外部の記事を自分の中で抽象化することで理解が進むんじゃないかな
230 :デフォルトの名無しさん :2023/11/24(金) 14:49:40.02 ID:AooEALul.net 直ぐに仕組みを理解しなくても良いんでは? 仕組みを理解しなくてもある程度は使えるでしょ。 難しく考えすぎな気がする。 関数と変数と条件分岐が全部letだって、評価して何かしら結果が得られるものって思えば、全部同じでも困らないし。
231 :デフォルトの名無しさん :2023/11/26(日) 08:28:05.33 ID:rhBBg0xx.net 俺もそのマイクロソフトのサイトだけではさっぱり理解不能だと思う コンピュテーション式はhaskellのdo記法を真似たものだから わからなかったらそっちを勉強するのがいいかもしれない bindの型をみて、bindがチェーンにする様子がイメージできたら なぜ展開するとああいういかつい式になるのかが理解できてくるよ
232 :デフォルトの名無しさん :2023/11/28(火) 00:02:10.45 ID:kveRhAUs.net この表はよく見返して、型に合わせてパズルするよ。 https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/computation-expressions#creating-a-new-type-of-computation-expression コンピュテーション式がなぜ必要なのかとか、どう置き換えればいいのかはここを読むといいかも https://fsharpforfunandprofit.com/posts/computation-expressions-intro/
233 :デフォルトの名無しさん :2023/12/06(水) 04:53:42.99 ID:GpxwWfWH.net rわr
234 :デフォルトの名無しさん :2023/12/09(土) 12:18:29.76 ID:oBEhbSCx.net Haskellとかもそうだけどシンタックスシュガーの元の構文は複雑すぎるので 元の構文までしっかり理解して書けるようにするべきなのか? というのは意見分かれるだろうな 使い方だけ覚えれば手続き言語のように使えるわけだし
235 :デフォルトの名無しさん :2023/12/15(金) 20:18:00.56 ID:9Jvor+x/.net https://qiita.com/262144/items/01a3023612116180278e
236 :デフォルトの名無しさん :2024/02/18(日) 11:50:06.93 ID:OiM0FtCI.net F#使ってる人殆といなくて悲しい
237 :デフォルトの名無しさん :2024/02/18(日) 13:02:53.69 ID:seCcpyNJ.net どこのサイトで情報収集してる?
238 :デフォルトの名無しさん :2024/02/18(日) 22:19:20.19 ID:d0wVXkls.net f#の書き方Copilotに質問したらあっさり解決した geminiは全然駄目だねコンパイル通らなかった
239 :デフォルトの名無しさん :2024/03/17(日) 01:51:00.22 ID:ER8mRT7B.net 既に三か月もF#の記事がない公式ブログかな https://devblogs.microsoft.com/dotnet/tag/f/ 最近ずっとAIとクラウドの話しかされてない
240 :デフォルトの名無しさん :2024/03/17(日) 01:52:34.69 ID:ER8mRT7B.net 公式ブログかissue ブログはもはやAIとクラウドの話しかしてない・・・
241 :デフォルトの名無しさん :2024/03/17(日) 11:23:11.60 ID:uRPhnK4Q.net コミュニティベースで頑張るよって言ってるし、あまり書くこともないのかも?
66 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者