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
250
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
270
Garantindo qualidade no app do Nubank
fpg1503
0
160
Testando o App do Nubank
fpg1503
1
120
Testes na Prática
fpg1503
0
86
What's good code and How do I write it?
fpg1503
0
170
A coisa mais sensacional que passou despercebida na WWDC
fpg1503
0
350
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
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
140
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
230
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.4k
Cap'n Webについて
yusukebe
0
150
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.6k
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
120
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
270
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
170
ゆくKotlin くるRust
exoego
1
170
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
32
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
520
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Crafting Experiences
bethany
0
23
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Statistics for Hackers
jakevdp
799
230k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
50k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
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
!"