Caelum / Alura / Casa do Código Swift: uma relação de · PDF...

49
Caelum / Alura / Casa do Código Swift: uma relação de amor e ódio Guilherme Silveira @guilhermecaelum

Transcript of Caelum / Alura / Casa do Código Swift: uma relação de · PDF...

Page 1: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Caelum / Alura / Casa do Código

Swift: uma relação de amor e ódio

Guilherme Silveira@guilhermecaelum

Page 2: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Guilherme Silveira

❖ curso no alura.com.br

❖ livro no casadocodigo.com.br

❖ instrutor na www.caelum.com.br

Page 3: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

popularizou programação windows?

Page 4: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

vb e o sobrinho programador

Page 5: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

popularizou programação web?

Page 6: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

php e o sobrinho programador

Page 7: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

linguagem fácil mobile?

Page 8: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

swift e o sobrinho programador

Page 9: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

vb e php… humm…

Page 10: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

vb e php => código ruim?

Page 11: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

pop como vb e php… mas ainda mais “seguro”?

Page 12: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

BUG

Page 13: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

quem não gosta?

Page 14: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

encontrar, testar, corrigir, vencer

Page 15: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

Page 16: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software

1990 Sistema Operacional

1991 Aplicativo

1996 Webthin-client

2013 Mobile

Page 17: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software solução

1990 Sistema Operacional reinicia

1991 Aplicativo fecha e abre, ou reinicia o SO

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

2013 Mobile ??

Page 18: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software solução tempo p/resolver

1990 Sistema Operacional reinicia minutos

1991 Aplicativo fecha e abre, ou reinicia o SO minuto

1996 Webthin-client

refresh, fecha e abre ou reinicia o SO segundos

2013 Mobile ?? ??

Page 19: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software solução tempo p/resolver

se quiser usar o concorrente

1990 Sistema Operacional reinicia minutos horas e $

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

1996 Webthin-client

refresh, fecha e abre ou reinicia o SO segundos minutos

2013 Mobile ?? ?? segundos

Page 20: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software solução tempo p/resolver

se quiser usar o

concorrenteconcorrentes

1990 Sistema Operacional reinicia minutos horas e $ conta em

uma mão

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

duas mãos

1996 Webthin-client

refresh, fecha e abre ou reinicia o

SOsegundos minutos centenas

2013 Mobile ?? ?? segundos muitos

Page 21: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

se crasheia?

Page 22: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

a evolução dos bugs

desde software solução tempo p/resolver

se quiser usar o

concorrenteconcorrentes

1990 Sistema Operacional reinicia minutos horas e $ conta em

uma mão

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

duas mãos

1996 Webthin-client

refresh, fecha e abre ou reinicia o

SOsegundos minutos centenas

2013 Mobile DESINSTALA +segundos -segundos muitos

Page 23: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

pepino…

Page 24: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

linguagem + fácil com - bugs?

Page 25: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

linguagem + fácil

live code em swift x android x vblive code em swift x java x scala x etc

Page 26: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

refatoração win

Page 27: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

+ fácil => porta de entrada

Page 28: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Mas e os crashes?

Page 29: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

solução: compilação + rígida

Page 30: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

php: ignora e ve mensagens se acumulando e coisas inesperadas

Page 31: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

java e discipulos: thread crash e nullpointerexception

Page 32: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

java: se catch exception, uuuu, boa sorte

Page 33: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

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

Page 34: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

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

Page 35: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

swift: nunca

Page 36: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

swift: nunca!

Page 37: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

swift: nunca?

Page 38: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

swift: só se o programador quiser ele força goela abaixo.

Page 39: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

acesso inválido a memória

swift: padrão safety

java, nodejs, qq coisa: padrão caca

Page 40: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

OO x funcional

tell don’t ask

ou o contrário?

Page 41: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Mas…. no XCode…

Page 42: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

100 tipos de construtores

Page 43: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

gerador de código zoado

Page 44: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

multiple inheritance

Page 45: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

multiple inheritance

Senhor Marquinhos:“desamarro qualquer situação, amorosa, multiple inheritance, mixins, traits etc”

Page 46: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Resumindo

Page 47: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Resumindo

❖ Em geral, continuamos programando como em 1990

❖ Mobile: crash = perde cliente

❖ Swift: sobrinho ou expert podem programar

❖ Mais fácil, menos seguro, mais difícil, mais seguro

❖ Gerador de código: :(

Page 48: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Resumindo

❖ Queria uma linguagem sobrinho

❖ + segura

❖ com gerador de códigos melhor

❖ Será que Hack e outras seguem este caminho? O que você acha?

Page 49: Caelum / Alura / Casa do Código Swift: uma relação de · PDF fileGuilherme Silveira curso no alura.com.br livro no casadocodigo.com.br instrutor na

Guilherme Silveira

❖ curso no alura.com.br

❖ livro no casadocodigo.com.br

❖ instrutor na www.caelum.com.br