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
81
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
CSC305 Lecture 10
javiergs
PRO
0
330
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
3
5.1k
Webサーバーサイド言語としてのRustについて
kouyuume
1
5k
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
Kotlinで実装するCPU/GPU 「協調的」パフォーマンス管理
matuyuhi
0
140
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
330
オープンソースソフトウェアへの解像度🔬
utam0k
18
3.2k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
210
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
900
CSC509 Lecture 08
javiergs
PRO
0
270
Blazing Fast UI Development with Compose Hot Reload (Bangladesh KUG, October 2025)
zsmb
2
440
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
200
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How STYLIGHT went responsive
nonsquared
100
5.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Documentation Writing (for coders)
carmenintech
76
5.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Bash Introduction
62gerente
615
210k
4 Signs Your Business is Dying
shpigford
186
22k
Being A Developer After 40
akosma
91
590k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
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
!"