Você está na página 1de 49

Caelum / Alura / Casa do Cdigo

Swift: uma relao de Guilherme Silveira

amor e dio
@guilhermecaelum
Guilherme Silveira

curso no alura.com.br
livro no casadocodigo.com.br
instrutor na
www.caelum.com.br
popularizou programao
windows?
vb e o sobrinho programador
popularizou programao web?
php e o sobrinho programador
linguagem fcil mobile?
swift e o sobrinho programador
vb e php humm
vb e php => cdigo ruim?
pop como vb e php
mas ainda mais seguro?
BUG
quem no gosta?
encontrar, testar, corrigir, vencer
a evoluo dos bugs
a evoluo dos bugs
desde software

1990 Sistema Operacional

1991 Aplicativo

Web
1996
thin-client

2013 Mobile
a evoluo dos bugs
desde software soluo

1990 Sistema Operacional reinicia

1991 Aplicativo fecha e abre, ou reinicia o SO

Web
1996 refresh, fecha e abre ou reinicia o SO
thin-client

2013 Mobile ??
a evoluo dos bugs
desde software soluo tempo p/resolver

Sistema
1990 reinicia minutos
Operacional

fecha e abre, ou reinicia o


1991 Aplicativo minuto
SO

Web refresh, fecha e abre ou


1996 segundos
thin-client reinicia o SO

2013 Mobile ?? ??
a evoluo dos bugs
tempo p/ se quiser usar
desde software soluo
resolver o concorrente

Sistema
1990 reinicia minutos horas e $
Operacional

fecha e abre, ou
1991 Aplicativo minuto horas e $
reinicia o SO

Web refresh, fecha e abre


1996 segundos minutos
thin-client ou reinicia o SO

2013 Mobile ?? ?? segundos


a evoluo dos bugs
se quiser
tempo p/
desde software soluo usar o concorrentes
resolver
concorrente

Sistema conta em
1990 reinicia minutos horas e $
Operacional uma mo

fecha e abre, ou conta em


1991 Aplicativo minuto horas e $
reinicia o SO duas mos

refresh, fecha e
Web
1996 abre ou reinicia o segundos minutos centenas
thin-client
SO

2013 Mobile ?? ?? segundos muitos


se crasheia?
a evoluo dos bugs
se quiser
tempo p/
desde software soluo usar o concorrentes
resolver
concorrente

Sistema conta em
1990 reinicia minutos horas e $
Operacional uma mo

fecha e abre, ou conta em


1991 Aplicativo minuto horas e $
reinicia o SO duas mos

refresh, fecha e
Web
1996 abre ou reinicia o segundos minutos centenas
thin-client
SO

2013 Mobile DESINSTALA +segundos -segundos muitos


pepino
linguagem + fcil
com - bugs?
linguagem + fcil

live code em swift x android x vb


live code em swift x java x scala x etc
refatorao win
+ fcil => porta de entrada
Mas e os crashes?
soluo: compilao + rgida
acesso invlido a memria

php: ignora e ve mensagens se acumulando e coisas inesperadas


acesso invlido a memria

java e discipulos: thread crash e nullpointerexception


acesso invlido a memria

java: se catch exception, uuuu, boa sorte


acesso invlido a memria

java: throws exception como controle de fluxo (aka frameworks)


acesso invlido a memria

c e discipulos (nodejs, android, objective C included): acabou o mundo


acesso invlido a memria

swift: nunca
acesso invlido a memria

swift: nunca !
acesso invlido a memria

swift: nunca ?
acesso invlido a memria

swift: s se o programador quiser ele fora goela abaixo.


acesso invlido a memria

swift: padro safety

java, nodejs, qq coisa: padro caca


OO x funcional

tell dont ask

ou o contrrio?
Mas. no XCode
100 tipos de construtores
gerador de cdigo zoado
multiple inheritance
multiple inheritance

Senhor Marquinhos:
desamarro qualquer situao, amorosa, multiple inheritance, mixins, traits etc
Resumindo
Resumindo

Em geral, continuamos programando como em 1990


Mobile: crash = perde cliente
Swift: sobrinho ou expert podem programar
Mais fcil, menos seguro, mais difcil, mais seguro
Gerador de cdigo: :(
Resumindo

Queria uma linguagem sobrinho


+ segura
com gerador de cdigos melhor
Ser que Hack e outras seguem este caminho? O que
voc acha?
Guilherme Silveira

curso no alura.com.br
livro no casadocodigo.com.br
instrutor na
www.caelum.com.br

Você também pode gostar