caelum / alura / casa do código swift: uma relação de · pdf...

Post on 31-Jan-2018

217 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Caelum / Alura / Casa do Código

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

Guilherme Silveira@guilhermecaelum

Guilherme Silveira

❖ curso no alura.com.br

❖ livro no casadocodigo.com.br

❖ instrutor na www.caelum.com.br

popularizou programação windows?

vb e o sobrinho programador

popularizou programação web?

php e o sobrinho programador

linguagem fácil mobile?

swift e o sobrinho programador

vb e php… humm…

vb e php => código ruim?

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

BUG

quem não gosta?

encontrar, testar, corrigir, vencer

a evolução dos bugs

a evolução dos bugs

desde software

1990 Sistema Operacional

1991 Aplicativo

1996 Webthin-client

2013 Mobile

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 ??

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 ?? ??

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

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

se crasheia?

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

pepino…

linguagem + fácil com - bugs?

linguagem + fácil

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

refatoração win

+ fácil => porta de entrada

Mas e os crashes?

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

acesso inválido a memória

php: ignora e ve mensagens se acumulando e coisas inesperadas

acesso inválido a memória

java e discipulos: thread crash e nullpointerexception

acesso inválido a memória

java: se catch exception, uuuu, boa sorte

acesso inválido a memória

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

acesso inválido a memória

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

acesso inválido a memória

swift: nunca

acesso inválido a memória

swift: nunca!

acesso inválido a memória

swift: nunca?

acesso inválido a memória

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

acesso inválido a memória

swift: padrão safety

java, nodejs, qq coisa: padrão caca

OO x funcional

tell don’t ask

ou o contrário?

Mas…. no XCode…

100 tipos de construtores

gerador de código zoado

multiple inheritance

multiple inheritance

Senhor Marquinhos:“desamarro qualquer situação, 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 fácil, menos seguro, mais difícil, mais seguro

❖ Gerador de código: :(

Resumindo

❖ Queria uma linguagem sobrinho

❖ + segura

❖ com gerador de códigos 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

top related