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
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.4k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
370
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
7.1k
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
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
300
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
140
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
470
iOSDC2026登壇資料.pdf
riofujimon
0
110
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
What We Talk About When We Talk About XP
m_seki
2
500
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
400
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
150
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Designing for Timeless Needs
cassininazir
1
470
Exploring anti-patterns in Rails
aemeredith
3
500
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
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