$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミング言語F#を学びはじめました
Search
biwakonbu
December 08, 2023
Technology
0
210
プログラミング言語F#を学びはじめました
プログラミング言語 F# をフロントエンドに使う話をします。
Fable というコンパイラを使う事で色々使える話や、そもそも F# とは何かなど、流行るといいなと思って紹介します。
biwakonbu
December 08, 2023
Tweet
Share
More Decks by biwakonbu
See All by biwakonbu
Django を使い続ける理由
biwakonbu
0
90
爆速なPythonフレームワーク
biwakonbu
0
110
HTMX触ってみた
biwakonbu
0
120
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
300
プログラミングを体系的に学べる言語 Python を推したい
biwakonbu
0
100
開発の生産性を高める事を考える
biwakonbu
0
120
「プログラミングを習得する」を考えてみた
biwakonbu
0
64
Python の型事情について
biwakonbu
0
68
ESLint使ってますか?
biwakonbu
0
89
Other Decks in Technology
See All in Technology
Reliability Engineering at Studist
katsuhisa91
PRO
0
120
Kaggleふりかえり会〜LLM 20 Questions & ISIC 2024
recruitengineers
PRO
2
190
高品質と高スピードを両立させるソフトウェアQA/Software QA that Supports Agility and Quality
goyoki
10
1.5k
コーポレートデータマスター構築への道
kworkdev
PRO
0
130
【AWS re:Invent 2024】Amazon Bedrock アップデート総まとめ
minorun365
PRO
7
620
論理レプリケーションを使ったDB統合
kkato1
0
320
同一クラスタ上でのFluxCDとArgoCDのリソース最適化の話
kumorn5s
0
150
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
2
890
振る舞い駆動開発(BDD)における、テスト自動化の前に大切にしていること #stac2024 / BDD formulation
nihonbuson
3
1.1k
ミスが許されない領域にAIを溶け込ませる プロダクトマネジメントの裏側
t01062sy
8
8.5k
密着! Bedrockerがre:Invent 2024で過ごした5日間を紹介
minorun365
PRO
3
330
B10-ひと目でわかる(といいなぁ)Microsoft Purview
seafay
PRO
0
510
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
The Language of Interfaces
destraynor
154
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
RailsConf 2023
tenderlove
29
920
Testing 201, or: Great Expectations
jmmastey
40
7.1k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
1
120
Visualization
eitanlees
145
15k
Documentation Writing (for coders)
carmenintech
65
4.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
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. 大阪プログラミングコミュニティ始めました エンジニアのための学習・交流を行うコミュニティスペースを作っています 勉強したい人や人と繋がりたい人に向けてサービス提供していきます
おわり