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
Messages from Perl
Search
aereal
August 18, 2012
Programming
180
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Messages from Perl
aereal
August 18, 2012
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
7.1k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
360
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
6.9k
qron: Cloud Native Cron Alternativeの今
aereal
2
3.4k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
2
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
19k
Other Decks in Programming
See All in Programming
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
230
Android CLI
fornewid
0
230
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
230
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
200
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
2
870
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
120
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
360
初めての模倣学習とVLA
natsutan
0
120
リアルな遅延を測る仕様
kota_yata
1
120
不幸な GC
chencmd
0
400
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
HDC tutorial
michielstock
2
800
Tell your own story through comics
letsgokoyo
1
1k
A Tale of Four Properties
chriscoyier
163
24k
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
Evolving SEO for Evolving Search Engines
ryanjones
0
260
We Have a Design System, Now What?
morganepeng
55
8.3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
Messages from Perl id:aereal Saturday, August 18, 12
id:aereal[୭?] aereal aereal aereal Saturday, August 18, 12
Saturday, August 18, 12
Saturday, August 18, 12
Ruby Perl JavaScript Saturday, August 18, 12
I/O Saturday, August 18, 12
I/O Saturday, August 18, 12
Io http://iolanguage.com/ Saturday, August 18, 12
ActionScript C++ PHP ALGOL Fortran COBOL Java C# Objective-C Pascal
Haskell Prolog Modula-2 Brainfxxk R Scala Groovy Lua ML Smalltalk OCaml Go Saturday, August 18, 12
$a <=> $b Saturday, August 18, 12
Object-oriented Programming Saturday, August 18, 12
OOP? messaging polymorphism encapsulation Saturday, August 18, 12
Implementations Simple Expensive Saturday, August 18, 12
Expensive impl. (1) First-class class and objects Coupling tightly Saturday,
August 18, 12
Expensive impl. (2) Ruby Java Saturday, August 18, 12
class Car # ... end Saturday, August 18, 12
Simple impl. (1) Use Dictionary-like data structure Coupling loosely Saturday,
August 18, 12
Simple impl. (2) JavaScript Perl Saturday, August 18, 12
package Car; sub new { my ($class) = @_; bless
+{}, $class; } 1; Saturday, August 18, 12
Dynamic dispatch Saturday, August 18, 12
Perl Saturday, August 18, 12
package Car; sub run { my ($self) = @_; print
“run\n”; } Saturday, August 18, 12
my $car = Car->new; run $car; Saturday, August 18, 12
Indirect object syntax Saturday, August 18, 12
Implicitly take arguments Perl Python Saturday, August 18, 12
Ruby Saturday, August 18, 12
class Car def run puts “run” end end Saturday, August
18, 12
car = Car.new car.send(“run”) Saturday, August 18, 12
run = car.method(“run”) run.call Saturday, August 18, 12
#receiver -> object #owner -> class Method#.* Saturday, August 18,
12
Method instances know receiver Saturday, August 18, 12
Conclusions Many ‘Objects’ Implementations are constraints You should be multi-lingual
Saturday, August 18, 12
͓͠·͍ Saturday, August 18, 12