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
230
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
250
Testando o App do Nubank - CocoaHeads
fpg1503
2
250
Garantindo qualidade no app do Nubank
fpg1503
0
150
Testando o App do Nubank
fpg1503
1
110
Testes na Prática
fpg1503
0
71
What's good code and How do I write it?
fpg1503
0
150
A coisa mais sensacional que passou despercebida na WWDC
fpg1503
0
330
Optionals e o Gato de Schrödinger
fpg1503
0
170
FRP em Swift - Programação Funcional Reativa
fpg1503
0
260
Other Decks in Programming
See All in Programming
20250704_教育事業におけるアジャイルなデータ基盤構築
hanon52_
5
910
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
210
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
580
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
590
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1.1k
MCPを使ってイベントソーシングのAIコーディングを効率化する / Streamlining Event Sourcing AI Coding with MCP
tomohisa
0
160
AIともっと楽するE2Eテスト
myohei
8
2.9k
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
220
20250708_JAWS_opscdk
takuyay0ne
2
120
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Done Done
chrislema
184
16k
GraphQLとの向き合い方2022年版
quramy
49
14k
Site-Speed That Sticks
csswizardry
10
700
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Music & Morning Musume
bryan
46
6.7k
Building Adaptive Systems
keathley
43
2.7k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
RailsConf 2023
tenderlove
30
1.1k
Documentation Writing (for coders)
carmenintech
72
4.9k
Navigating Team Friction
lara
187
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
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
!"