Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミング言語F#を学びはじめました
Search
biwakonbu
December 08, 2023
Technology
0
170
プログラミング言語F#を学びはじめました
プログラミング言語 F# をフロントエンドに使う話をします。
Fable というコンパイラを使う事で色々使える話や、そもそも F# とは何かなど、流行るといいなと思って紹介します。
biwakonbu
December 08, 2023
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
68
爆速なPythonフレームワーク
biwakonbu
0
91
HTMX触ってみた
biwakonbu
0
98
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
270
プログラミングを体系的に学べる言語 Python を推したい
biwakonbu
0
95
開発の生産性を高める事を考える
biwakonbu
0
110
「プログラミングを習得する」を考えてみた
biwakonbu
0
57
Python の型事情について
biwakonbu
0
60
ESLint使ってますか?
biwakonbu
0
86
Other Decks in Technology
See All in Technology
Qdrant を用いた検索改善施策の紹介 / Search Engineering Tech Talk 2024 Summer
visional_engineering_and_design
0
180
【shownet.conf_】AI技術とUX監視の応用でShowNetの基盤を支えるモニタリングシステム
shownet
PRO
0
390
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
9
4.3k
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
2
2k
ドキュメントとの付き合い方を考える
leveragestech
1
140
Binary Hacks Rebooted 私選ハック集
nullpo_head
1
260
Oracle Database 23ai 新機能#4 Rolling Maintenance
oracle4engineer
PRO
0
130
業務ヒアリングと知識の呪い
tamai_63
0
290
Efficient zero-copy networking using io_uring
ennael
PRO
0
360
【shownet.conf_】コンピューティング資源を統合した分散コンテナ基盤の進化
shownet
PRO
0
410
電子辞書にステータスバーを実装する
puhitaku
0
100
怖くないオフライン機能開発 〜基本的な技術で実現する現場向けオフライン機能 / Developing offline functions without fear ~ Offline functions for the field realized with basic technology
kaminashi
0
100
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Facilitating Awesome Meetings
lara
49
6k
A designer walks into a library…
pauljervisheath
202
24k
Done Done
chrislema
181
16k
Building Adaptive Systems
keathley
38
2.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Fireside Chat
paigeccino
32
3k
Transcript
プログラミング言語F#を学びはじめました 株式会社coroutine 東川 諒央
自己紹介 1 あれ、でもフロントと関係ある? 3 F#のよさそうなところ 4 F#とは? 2 5 F#の難点
6 まとめ
自己紹介 1 株式会社 coroutine 東川 諒央 @biwakonbu 大学教員 ゲームバックエンド フリーランス
経歴 Go Python 実績言語 Ruby 技術顧問 エンジニア教育 業務 設計 プログラミング インフラ etc… Rust Haskell TypeScript 趣味言語 Lisp F#
> F# とは?
F#とは? 2
F#とは? 2 ❏ Microsoft Research が開発したマルチパラダイム言語 ❏ .NET ランタイム上で動作する VM
型言語 ❏ .NET というと Windows のイメージ ❏ 今は OSS でマルチプラットフォームな VM として開発されている ❏ Windows 専用の環境は WPF として分けられている ❏ Windows / Linux / Mac の上で開発・動作可能 ❏ 各環境向けにバイナリを出力できる ❏ Ocaml の影響を受けた言語で構文は非常に似ている ❏ Haskell も Ocaml の系統 ❏ つまり Haskell と F# は似ている
> あれ、でもフロントと関係ある?
あれ、でもフロントと関係ある? 3 ❏ ある ❏ F# には Fable というコンパイラが存在する ❏
元々 JavaScript をターゲットにしたコンパイラ ❏ Fable 4 からは beta を含め 4 言語をターゲットに stable stable beta beta
あれ、でもフロントと関係ある? 3 ❏ JS, TS がターゲットの場合はブラウザ API の利用 npm の利用はもちろん可能
❏ React を使う F# 用ライブラリもある ❏ Feliz, UI ライブラリも色々ある
> F# のよさそうなところ
F#のよさそうなところ 4 ❏ 筋の良いプログラミング言語がでてきても流行らない理由を悉くつぶす言語 F# ❏ スマホアプリ開発 (.NET MAUI) ❏
WEB 開発 (SAFE Stack) ❏ Saturn (WEB アプリケーションフレームワーク ) ❏ Azure (クラウドインフラ) ❏ Fable (JS コンパイラ) ❏ Elmish (UI フレームワーク) ❏ バイナリ出力可能 ❏ つまり何の用途でも現実的で可
F#のよさそうなところ 4 ❏ 忘れてはいけない、マイクロソフト社製言語 ❏ 大量のドキュメント ❏ .NET も F#
も情報だらけ ❏ Azure を使ったデプロイの話もある ❏ 正直 C# の出来がよい以外に弱点がない
F#のよさそうなところ 4 ❏ 言語機能が強力なのに、構文が難解ではない ❏ パターンマッチの一例 ❏ TypeScript だとこういう事が上手くできない...
F#のよさそうなところ 4 ❏ TypeScript で存在しない型のバリエーションが使える
> 難点も探してみました
F#の難点 5 ❏ 日本語の書籍が無さすぎる... ❏ 洋書を頑張ってよむとか (今は Kindle も翻訳できるけど割と大変) ❏
日本の事例がなさすぎる (ブログとかもほぼない) ❏ TypeScript と比較しても Star 数が 25 倍くらい
まとめ 6 ❏ F# というまだあまり広まっていない言語がおすすめ ❏ と思いきや最近 でも実は F# 良いのでは?と評判になりつつある (偏ってます)
❏ Ocaml が好きな人に人気で、言語オタクの間では非常に言語の出来が褒められている ❏ 言語として完成度が高いものはエコシステムが未熟だったりするが .NET 採用のため最強 ❏ 登場時期は Rust と同じくらいでそろそろ火付けがあれば一発ありえそう (主観) ❏ これだけ道具が揃ってるのに流行ってないのは流行らせる側にまわれるチャンス ❏ どんどん触ってどんどん情報発信がおすすめ ❏ WEB バックエンド、フロント、スマホ & デスクトップ、AI、バイナリ生成対応 ❏ MS が推してるだけあってこれ一個で全部できるを狙ってると言えるレベル ❏ みんなで F# 勉強しましょう
P.S. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます 色々なご相談にも対応します ・就活・キャリアアップ相談 ・業務に関する相談 ・個人的な学習の相談 大阪でのエンジニアコミュニティを応援します ・勉強会場として無料で場所貸し
・むしろ開催応援のギフト券なども考えています ・長く続く開発者コミュニティ作りを実行します
P.S. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり