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
Emojicode
Search
Francesco
August 02, 2016
Programming
0
240
Emojicode
Apresentação dada na SECOMP UNICAMP 2016
Cógido e Deckset:
https://github.com/fpg1503/EmojicodeTalk
Francesco
August 02, 2016
Tweet
Share
More Decks by Francesco
See All by Francesco
Testando o App do Nubank - TDC Florianópolis 2019
fpg1503
2
260
Testando o App do Nubank - CocoaHeads
fpg1503
2
260
Garantindo qualidade no app do Nubank
fpg1503
0
160
Testando o App do Nubank
fpg1503
1
120
Testes na Prática
fpg1503
0
80
What's good code and How do I write it?
fpg1503
0
160
A coisa mais sensacional que passou despercebida na WWDC
fpg1503
0
340
Optionals e o Gato de Schrödinger
fpg1503
0
170
FRP em Swift - Programação Funcional Reativa
fpg1503
0
270
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
560
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.2k
Le côté obscur des IA génératives
pascallemerrer
0
140
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
510
ALL CODE BASE ARE BELONG TO STUDY
uzulla
18
3.3k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
830
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.6k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
440
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
400
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
Featured
See All Featured
BBQ
matthewcrist
89
9.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Producing Creativity
orderedlist
PRO
347
40k
What's in a price? How to price your products and services
michaelherold
246
12k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How GitHub (no longer) Works
holman
315
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cost Of JavaScript in 2023
addyosmani
54
9k
Thoughts on Productivity
jonyablonski
70
4.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Transcript
!"
!"
FRANCESCO PERROTTI-GARCIA IOS DEVELOPER @FPG1503
>!<
⌚"#$
!"#$%
EMOJI
UNICODE
CONSORTIUM
90S !
+1000 EMOJI!
ZWJ
ZERO WIDTH-JOINER
OLYMPICS RINGS
DIVERSITY
GENDER EQUALITY
FITZPATRICK MODIFIER
YOU CAN REQUEST YOUR OWN EMOJI!
UNICODE 10.0 (2017)
WHY WOULD I CODE IN EMOJI?
!✨
!"
???
GITHUB
GITHUB.COM/EMOJICODE
!!
BASIC TYPES
S PACKAGE
VALUE TYPES
NUMERIC TYPES
!"
>>!
> ! can represent any integer in the interval .
>>!
> ! can be used to store a real number
with the common limitations.
BOOLEAN
>>!
!"
! emojicodeIsTheFunniestLanguage " ! phpIsAsCool #
SYMBOLS
>>!
! blue_heart "#
CLASSES
>>!
STRING
>>!
ORDERED MUTABLE COLLECTION
>>!
ERROR
>>!
INTERFACE TO BINARY DATA
>>!
DICTIONARY
>>⏩
RANGE
>>!
OPERATING SYSTEM INTERACTION
>>!
THREAD
>>!
MUTEX
PROTOCOLS
!!!
OUR FIRST PROGRAM
THE ! BLOCK
! ➡ # $ % Our first program & 0
% Return a code here. '
! " # Yaay! Much simpler $ %
! " # $Hello, EmojiCode.$ %
>>!
>>!
CONTROL FLOW
LOOPS
!"
>>!
! variable value " #
!AND ⏩
>>!
! expression " #
EXECUTES WHILE expression IS !
CONDITIONALS
!"#
>>!
! boolean " #
EXECUTES IF !EVALUATES TO "
>>▶
▶ a b
a > b
PREFIX!
! ▶ a b # $ %a is bigger b%
&
>>!
>>!
!a b
a == b
>>!
COMPARE ADDRESS
! "Strawberries" "Strawberries" #$ ! %"Straw" "berries"% "Strawberries" #&
IN DOUBT? USE !
! ▶ a b # $ %a is bigger b%
& ' ( a b # $ %a equal to b% &
>>!
! " # $a is smaller than b$ %
! ▶ a b # $ %a is bigger b%
& ' ( a b # $ %a equal to b% & ) # $ %a is smaller than b% &
>>!
LET'S CREATE THE ! "!!!
! " # $
>>!
INITIALIZER
!"#$
>>!
! INSTANCE "#$
!"
>>!
VARIABLE
>>!
FROZEN VARIABLE
! INSTANCE "#$
TYPE INFERENCE
!!
FUNCTIONS
!"N #➡#
!⬅n 1# $n % $ ➕'(➖n 1 '(➖n 2
! ➕#$➖N 1 #$➖N 2
>>!
RETURN
➕"#➖N 1 "#➖N 2
(!"➖n 1) + (!"➖n 2)
(fib(n - 1))+(fib(n - 2))
fib(n-1) + fib(n-2)
(fib(n - 1))+(fib(n - 2))
(!"➖n 1) + (!"➖n 2)
➕"#➖N 1 "#➖N 2
! ➕#$➖N 1 #$➖N 2
!⬅n 1# $n % $ ➕'(➖n 1 '(➖n 2
>>!
>>! SELF, THIS
! instance "#$
!i 0
! ◀i 100 # $
! ◀i 100 # $i %
INCREMENT AND DECREMENT
!"
>>! INCREMENT
>> ! DECREMENT
!"#$instance i 10
! ◀i 100 # $%&'instance i 10 (i )
FIBONACCI MINIFIED
!"#$%#&'(v )➡) #+⬅v 1#-v&-➕( /➖v 1(/➖v 2& !'1➡)#2f3"% 2i 04◀i
100#637 )(f i 108i&-0&&
COMMENTS
! This comment ends at the end of the line.
Exactly here
! This is a multiline comment. You can even make
line breaks. !
➕"#
VALUE TYPES
GENERICS
CALLABLES
THREADS
METATYPES
TYPE INFERENCE
REFLECTION
None
OTHER PACKAGES
FILES
SDL
SOCKETS
ECPM
THANKS!
Q&A?
!"#
GITHUB.COM/FPG1503/EMOJICODETALK
EMOJICODE.ORG
@FPG1503
!"