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
Lua - 軽量なアプリケーション組み込み言語の紹介 -
Search
Pine Mizune
July 21, 2015
Programming
0
190
Lua - 軽量なアプリケーション組み込み言語の紹介 -
新卒技術勉強会で発表した資料
Pine Mizune
July 21, 2015
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
630
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.3k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
580
Lerna による明示的疎結合アーキテクチャ
pine
1
580
CircleCI 2.0 x JavaScript
pine
3
500
Perl 卒業式
pine
0
290
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
450
Emoji Generator meets Browser Extensions
pine
1
2.9k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
Site Reliability Engineering for GMO
pyama86
8
1k
Hanami and htmx
bkuhlmann
0
210
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4.1k
Code Reviews
bkuhlmann
4
890
SIMD Parallel Programming with the Vector API
josepaumard
0
180
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
260
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
100
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
Goのmultiple errorsについて (2024年4月版)
syumai
4
930
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
650
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
430
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Rails Girls Zürich Keynote
gr2m
91
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Navigating Team Friction
lara
178
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
RailsConf 2023
tenderlove
4
540
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Statistics for Hackers
jakevdp
789
220k
Unsuck your backbone
ammeep
663
57k
Transcript
Lua - 軽量なアプリケーション組み込み言語の紹介 - 2015-07-21 / 水音氷音
目次 • プレゼンの目的 • Lua とは ? • なぜ Lua
を使うのか ? • 組み込み言語について • C / C++ への組み込み [実演] • まとめ
プレゼンの目的 • Lua について知ってもらう • 『 組み込み言語 』 という選択肢を持ってもらう •
他の組み込み言語も試してもらいたい 3
Lua とは ? • アプリケーション 組み込み言語 • 括弧を使わないシンタックス – Ruby,
Pascal, Delphi 系 • 軽量 シンプル 高速 ← あとで解説 ← 今回は触れない ← 今回は触れない 4
Lua が使われている所 • ゲーム – アイドルマスター 2 – ラグナロクオンライン –
ティアーズ・トゥ・ティアラ 花冠の大地 – ファイナルファンタジーXIV ※ 掲載しているものは一例です • その他 – vim – nginx – Wireshark – YAMAHA ルータ – Photoshop Lightroom 5
Lua を使うのか ? プログラムの動作を 後から 変更し易くするため • プログラムの中核 – C
/ C++ / Java – 実行は高速 – 開発は低速 – 変更が大変 • プログラムの外側 – Lua / JavaScript / mruby – 実行は低速 – 開発は高速 – 変更が容易 6 組み合わせ
組み込み言語の使われ方 基盤 橋渡し (API 層) キャラクター 台詞 スキルの効果 アイテムの効果 イベント
・・・ ※ 例: PRG ゲームの場合 7
C / C++ への組み込み 8 ※ ソースコード: https://github.com/pine613/lua_cpp_embedded_sample • C++
から Lua のインタプリタを実行 • 関数の相互呼び出しが可能 – 実演します
まとめ 9 • Lua は軽量な組み込み言語のひとつ • 組み込み言語を使うと アプリの動作を容易に変更できる • Lua
は C / C++ への組み込みが容易
Fin.