Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
1つの言語を原点に色々な言語を学ぶということ
Search
karupanerura
June 16, 2023
Programming
4.6k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1つの言語を原点に色々な言語を学ぶということ
Kichijoji.pm #33 Lightning Talks
karupanerura
June 16, 2023
More Decks by karupanerura
See All by karupanerura
音を出したい
karupanerura
0
120
Perl Meets \w+ あるいは開発を支えるPerl活用の実例集
karupanerura
0
100
log
karupanerura
1
120
Use Perl as Better Shell Script
karupanerura
0
980
GoでParserを書く
karupanerura
4
1.1k
マイ隙間家具OSSたちのご紹介
karupanerura
2
320
Mustache Template 話 2024
karupanerura
0
85
Javaの実装をPerlでテストする
karupanerura
0
1.5k
Go Generics Overview
karupanerura
0
1.5k
Other Decks in Programming
See All in Programming
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
140
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.7k
気持ちぃ〜角丸 Squircle
ryu1013
0
320
AmebaブログはKMPから卒業します
kmars0605
0
220
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
230
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.7k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
No More NoSuchMethodError
exoego
1
110
contenteditable と日本語入力に向き合う
colorful12
0
210
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
310
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
290
GraphQL の onError と Nullability のこれから
quramy
0
150
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
460
HDC tutorial
michielstock
2
970
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Transcript
1ͭͷݴޠΛݪʹ ৭ʑͳݴޠΛֶͿͱ͍͏͜ͱ Kichijoji.pm #33 Lightning Talks id:karupanerura
@karupanerura • DeNA, Co., LTD. • Software Engineer • Perl/Go/Java/TypeScript/etc..
• Japan Perl Association • Chief Director • Age: 0x20
ݪ
(0, 0)
ref. https://www.weblio.jp/content/%E5%8E%9F%E7%82%B9
ref. https://www.weblio.jp/content/%E5%8E%9F%E7%82%B9
(ϓϩάϥϛϯάͷ)ݪ
ࣗͷϓϩάϥϛϯάวྺ • (HTML) • N88ޓBASIC • Perl • C/C++ •
(CSS)ɺJavaScriptɺXSɺJavaɺSwiftɺKotlinɺelisp • BashɺCrystalɺGoɺRubyɺPythonɺTypeScript
ݴޠΛֶͿͱ͖ʹߟ͑Δ͜ͱ
※ݸਓͷݟղͰ͢
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ • Ͳ͏ͬͯίʔυΛॻ͘ʁ • Ͳ͏࣮ͬͯߦ͢Δʁ • Ͳ͏ͬͯςετ͢Δʁ •
Ͳ͏ͬͯϦϦʔε͢Δʁ ͍Ζ͍Ζߟ͑Δ
ॳΊͯͷϓϩάϥϛϯάͷ߹
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯίʔυΛॻ͘ʁ → ʙͦ͏ͳΜͩ •
Ͳ͏࣮ͬͯߦ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯςετ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯϦϦʔε͢Δʁ → ʙͦ͏ͳΜͩ
😄
2ͭΊҎ߱ͷ߹
ͦΕͲΜͳݴޠʁ • Ͳ͏ͬͯ։ൃڥΛͭ͘Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯίʔυΛॻ͘ʁ → ͑ɺͦ͏ͳͷʁʢڻ͖ʣ •
Ͳ͏࣮ͬͯߦ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯςετ͢Δʁ → ʙͦ͏ͳΜͩ • Ͳ͏ͬͯϦϦʔε͢Δʁ → ʙͦ͏ͳΜͩ
😕
Ͳ͏ͯ͠ʁ
ͳͥଞͷݴޠʹରͯ͠ڻ͖͕ൃੜ͢Δͷ͔(1) • ϓϩάϥϛϯάͷײ֮ = ॳΊͯ৮ͬͨݴޠͷײ֮ ʹͳΔ͔Β • ͭ·Γɺ࠷ॳʹ৮ͬͨϓϩάϥϛϯάݴޠʹݪΛஔ͍ͯ৮Ε͍ͯΔ • ͦ͏͍͏ײ֮Ͱ৮Δ͜ͱࣗવ
• ͦͷ΄͏͕Ұൠʹֶशޮߴ͍ͣ
ͳͥଞͷݴޠʹରͯ͠ڻ͖͕ൃੜ͢Δͷ͔(2) • ॳΊͯ৮ͬͨݴޠͱڞ௨͍ͯ͠ͳ͍෦ʹҧײ͕ͰΔ • ڞ௨͍ͯ͠Δ෦͕ଟ͚Εଟ͍΄Ͳҧײ͕ڧ͍ͣ • ʮ͜ͷΜಉ͡ͳͷʹ͜ͷΜҧ͏ͷ͔ʂʁʯ • ٯʹɺશ෦͕શ෦ҧ͏ͱڻ͖͔͠ͳ͍ͷͰٯʹҧײͳ͍ •
͠͞ݏѱײͱͯͦ͠ΕΛײ͡Δ͜ͱ͋Γͦ͏
ଟ͘ͷ߹େͨ͠ڻ͖Ͱͳ͍ • ݴޠͷઃܭࢥ͕͍ۙ߹ɺ͋·Γڻ͖গͳ͍ • ͋Δ͍ɺϙδςΟϒͳڻ͖ଟ͍ͣ • มɺؔɺΫϥεɺͱ͍ͬͨ֓೦ଟ͘ͷݴޠͰڞ௨͍ͯ͠Δ • ଟ͘ͷݴޠڞ௨ͷઌΛ͍࣋ͬͯΔ͜ͱ͕ଟ͍ͷͰڞ௨ଟ͍ •
ҧ͍ࡉ෦ʹݱΕΔ • ϝϞϦཧɺ֓೦ͷࡉ͔ͳҧ͍ɺϥΠϑαΠΫϧɺͳͲͳͲ
ݴޠͷઃܭࢥ͕ԕ͍ͱڻ͖͕ଟ͍/େ͖͍ • ಈతܕ͚ݴޠˠ੩తܕ͚ݴޠ • ͜Μͳͱ͜Ζ໌ࣔతʹܕΛॻ͔ͳ͍ͱಈ͔ͳ͍ͷʁ • ΦϒδΣΫτࢦݴޠˠؔܕݴޠ • Ϟφυʁʁʁʁʁʁʁ •
ߴϨϕϧͷݴޠˠϨϕϧͷݴޠ • ϝϞϦΞϥΠϝϯτʁʁʁʁϙΠϯλʁʁʁʁ
۩ମྫ
ڻ͖ͷ۩ମྫ: Perl (autovivi fi cation) • $hash{a}{b}{c}Λࢀরͨ͠ͱ͖ʹ$hash{a}{b} = {}͕҉తʹߦΘΕΔ •
ྑ͍ͷ͔ѱ͍ͷ͔ɺͱ͍͏அ࣮͍͠ • ͨͱ͑ϫϯϥΠφʔͰศརɺͱ͔ͦ͏͍͏ଆ໘͕͋Δ • sedawkΈ͍ͨͳͭͰߏΛఆٛͨ͘͠ͳ͍ • ٯʹɺPerlͰ͜Εʹ׳ΕͯΔͱଞͷݴޠͰ໘͘͞͞Λײ͡Δ(?)
ڻ͖ͷ۩ମྫ: JavaScript (varม) • ؔϨϕϧͷείʔϓͰఆٛ͞ΕΔม • ifforͳͲͰϒϩοΫΛͬͯͦͷ֎ଆʹӨڹΛ༩͑Δ • ͨͱ͑ɺforϧʔϓͷͨΊʹఆٛͨ͠ม͕֎ଆͰੜ͖͍ͯΔ •
ݱࡏϒϩοΫϨϕϧͷείʔϓͰఆٛͰ͖Δconst/let͕͋Δ • ͦΕΒΛ͔ͭ͑ྑ͍
ڻ͖ͷ۩ମྫ: PHP (ྻ) • ʮPHPͷྻɺ࣮ࡍʹॱ൪͚ΒΕͨϚοϓͰ͢ɻʯby php.net • ྻͷఆٛΛarrayؔͰߦ͏
ͳͥڻ͖͕ൃੜ͢Δͷ͔ʁ ݪͱͳͬͨݴޠɺ͜Ε·Ͱͷܦݧ͔Β ༧Ͱ͖ͳ͔༷͕͔ͬͨ͋ͬͨΒ → ͲΕ͘Β͍ڻ͔͘ܦݧʹґΔ
ڻ͖ʹରͯ͠ͷ͖߹͍ํ
ڻ͖൱ఆతͳݟํΛͨΒ͢ • ͨͱ͑ʮPerl͜Θ……ۙدΒΜͱ͜……ʯͬͯͳΔ • ࣮ࡍɺWeb։ൃͰੵۃతʹ࠾༻͢Δཧ༝૬ରతʹݮΓͭͭ͋Δ • ҰํͰɺศརʹ͑Δ໘·ͩ·ͩ͋ΔʢϫϯϥΠφʔͳͲʣ • ͔ͤͬ͘ʹ͚ͭͨʢʹ͚ͭ͡ΊͨʣεΩϧΛࣗΒख์͢ •
͍ͬͨͳ͍
ڻ͖൱ఆతͳݟํΛͨΒ͢ • ͨͱ͑ʮPerl͜Θ……ۙدΒΜͱ͜……ʯͬͯͳΔ • ࣮ࡍɺWeb։ൃͰੵۃతʹ࠾༻͢Δཧ༝૬ରతʹݮΓͭͭ͋Δ • ҰํͰɺศརʹ͑Δ໘·ͩ·ͩ͋ΔʢϫϯϥΠφʔͳͲʣ • ͔ͤͬ͘ʹ͚ͭͨʢʹ͚ͭ͡ΊͨʣεΩϧΛࣗΒख์͢ •
͍ͬͨͳ͍ → ڻ͖ʹର͢Δ͖߹͍ํ͕ॏཁ
͖߹͍ํΛߟ͑Δ
ͳͥࣗڻ͍ͨͷͩΖ͏͔ʁ • ͜Ε͓ͦΒ͘͜ͷݴޠΛීஈ৮͍ͬͯΔͻͱ͔Β͢Εৗ • ͕ࣗڻ͖Λײ͡Δͷͳ͔ͥʁ • ͨ·ͨ·͕ࣗ৮ͬͨ͜Ε·Ͱͷݴޠʹͦ͏͍͏༷͕ͳ͔ͬͨʁ • ͜ͷݴޠ͕Ή͠Ζಛघʁ •
͍ํ͏໘͕ؒҧ͍ͬͯΔʁ
ͳͥ͜ͷ༷ʹͳ͍ͬͯΔͷ͔ʁ • ͜Ε·Ͱ৮ͬͨݴޠͰͳͥ͜ͷ༷ʹͳ͍ͬͯͳ͍ͷ͔ʁ • ಉ͜͡ͱΛଞͷݴޠͰΖ͏ͱͨ͠ͱ͖Ͳ͏ͳ͍ͬͯͨͩΖ͏͔ʁ • ͜ͷ༷Ͱ͏Ε͍͠ͷͲΜͳ໘͔ʁ • ͏Ε͘͠ͳ͍ͷͲΜͳ໘͔ʁ
͍Ζ͍Ζࣗपғʹ͍͔͚ͯΈΔͱ • ݟ͕ஷ·Δ • ϓϩάϥϛϯάݴޠΛ࡞Δਓʑͱͯݡ͍ͷͰϛεগͳ͍ • ͳʹ͔͠Βཧ༝Λͬͯͦ͏ͳ͍ͬͯΔ͜ͱ͕΄ͱΜͲ • ࢹ͕͕Δ •
͜͏͍͏બࢶ͋Δɺͱ͍͏͜ͱΛΕΔͱखࡳ͕૿͑Δ
͕͑ग़ͳ͍͜ͱ͋Δ • ϚδͰϛε༷͕ͬͨͦͷ··ʹͳͬͯ͠·ͬͨͱ͍͏ͷ͋Δ • (ྫ) Ruby: ಛघมΛPerlΛࢀߟʹ࠾༻ͨ͠ͷࣦഊͩͬͨ • ͦ͏͍͏߹େସࡦ͕༻ҙ͞Ε͍ͯΔ •
TwitterKichijoji.pmΈ͍ͨͳͰΦʔϓϯʹฉ͍ͯΈΔͷྑ͍ • ීஈίϛϡχέʔγϣϯ͠ͳ͍ਓ͕࣮͑Λ͍ͬͯΔ͜ͱ
ͦΕͰ͕͑ग़ͳ͍͜ͱ͋Δ • Ծઆཱ͕ͯΒΕΔ͚ͩͰೲಘײ͋Δ͍ͯͲ͋Δͣ • ͦ͜ʹਊΛ࣋ͯΕͦͷपΓͷίʔυʹҰ؏ੑΛग़ͤΔ
ਖ਼໘͔Β͖߹ͬͯ ࣗͷͳ͔ʹ͑Λ࣋ͭ
·ͱΊ
·ͱΊ • ৭ʑͳݴޠΛֶͿͱ͖ʹଟ͘ͷ߹ͳʹ͔͠Βڻ͖Λ͏ • ଞͷݴޠʹڻ͖Λײ͡Δ͜ͱ͍͜͠ͱͰͳ͍ • ڻ͖ͱͲ͏͖߹͏͔ͰͦΕΛྐʹͰ͖Δ͔͕มΘΔ • ࣗͷͳ͔ʹ͑Λ࣋ͯΕڻ͖͕͋ͬͯೲಘͰ͖Δ •
ʮڷʹೖͬͯڷʹै͑ʯ • ʢ܁Γฦ͠Ͱ͕͢ɺ͋͘·ͰݸਓͷݟղͰ͢ʣ
Ұ۟
ڻ͖ʹڻ͔ͳ͍Ͱྑ͘Ͷ