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
310
プログラミング言語F#を学びはじめました
プログラミング言語 F# をフロントエンドに使う話をします。
Fable というコンパイラを使う事で色々使える話や、そもそも F# とは何かなど、流行るといいなと思って紹介します。
biwakonbu
December 08, 2023
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
160
爆速なPythonフレームワーク
biwakonbu
0
160
HTMX触ってみた
biwakonbu
0
180
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
390
プログラミングを体系的に学べる言語 Python を推したい
biwakonbu
0
130
開発の生産性を高める事を考える
biwakonbu
0
140
「プログラミングを習得する」を考えてみた
biwakonbu
0
80
Python の型事情について
biwakonbu
0
96
ESLint使ってますか?
biwakonbu
0
110
Other Decks in Technology
See All in Technology
Agentic Workflowという選択肢を考える
tkikuchi1002
1
490
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
160
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
110
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1k
Agentic DevOps時代の生存戦略
kkamegawa
1
1.3k
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
290
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
3
460
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
170
Postman AI エージェントビルダー最新情報
nagix
0
110
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
100
地図も、未来も、オープンに。 〜OSGeo.JPとFOSS4Gのご紹介〜
wata909
0
110
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
620
Featured
See All Featured
Docker and Python
trallard
44
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Practical Orchestrator
shlominoach
188
11k
Rails Girls Zürich Keynote
gr2m
94
14k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Statistics for Hackers
jakevdp
799
220k
Facilitating Awesome Meetings
lara
54
6.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり