SlideShare uma empresa Scribd logo
1 de 25
Você realmente sabe
    JavaScript?
20º encontro do GURU-SP




26/11/2011
Eu
Plínio Balduino - desenvolvedor e curioso
@p_balduino
Motivação
Um pouco de história




Criado em 1995 por Brendan Eich
Submetido ao ECMA em 1996
Nos primórdios...




Quem nunca usou aqueles scripts prontos nas páginas do
Geocities?
Nos primórdios...




Eu já
/o
Definição
JavaScript é uma linguagem:
- Dinâmica
- Orientada a objetos
- Prototipada
- Funcional
- Muito mais legal do que parece
Definição
Dinâmica
Como o Ruby
Orientada a objetos
Prototipada
Ao invés de herança, aqui é usada prototipação
Funcional
Minha parte preferida


      JS is Lisp in C's Clothing
      Douglas Crockford
Funcional
Você pode, e deve, passar funções como parâmetros
Funcional
Também é permitido que uma função retorne outra função
Funcional
jQuery usa isso O TEMPO INTEIRO
O retorno dos parênteses
Tratamento de erros
Pode pular que é raso
JSON
JavaScript Object Notation
É a forma mais simples e rápida de criar ou transmitir objetos
JavaScript
Use JSON ao invés de XML quando usar AJAX e seja feliz
No Rails é gerado automagicamente usando o j t . o j o ou
                                          beot_sn
rne :sn= ojc
 edr jo > bet
JSON
JavaScript não é só web
Ele está em toda parte
Em sua próxima aplicação...
Por que não usar uma linguagem realmente poderosa e
produtiva?
Perguntas?
Referências
- http://javascript.crockford.com/javascript.html
- http://en.wikipedia.org/wiki/Javascript
- http://en.wikipedia.org/wiki/Scheme_(programming_language)
- http://stackoverflow.com/q/16509
- http://mitpress.mit.edu/sicp/
- http://dynjs.org/

Mais conteúdo relacionado

Destaque (20)

Docencia
DocenciaDocencia
Docencia
 
Superior Sales Flyer
Superior Sales Flyer Superior Sales Flyer
Superior Sales Flyer
 
Dshalfoffsale1109proof
Dshalfoffsale1109proofDshalfoffsale1109proof
Dshalfoffsale1109proof
 
Patricia Fernández Fra
Patricia Fernández FraPatricia Fernández Fra
Patricia Fernández Fra
 
Jessica Bowman Portfolio
Jessica Bowman PortfolioJessica Bowman Portfolio
Jessica Bowman Portfolio
 
Prova Luke Ana,Irene
Prova Luke Ana,IreneProva Luke Ana,Irene
Prova Luke Ana,Irene
 
Espacio8
Espacio8Espacio8
Espacio8
 
12
1212
12
 
pruebapowerpoint_1
pruebapowerpoint_1pruebapowerpoint_1
pruebapowerpoint_1
 
Brochure
BrochureBrochure
Brochure
 
DspòJgposk
DspòJgposkDspòJgposk
DspòJgposk
 
Testeer
TesteerTesteer
Testeer
 
Ken Brush Freesouls 100
Ken Brush Freesouls 100Ken Brush Freesouls 100
Ken Brush Freesouls 100
 
Alkylog
AlkylogAlkylog
Alkylog
 
popoo
popoopopoo
popoo
 
Vrienden 4
Vrienden 4Vrienden 4
Vrienden 4
 
Nilufa Collage
Nilufa CollageNilufa Collage
Nilufa Collage
 
stigma on strippers
stigma on strippersstigma on strippers
stigma on strippers
 
Good Drivers Just Drive
Good Drivers Just DriveGood Drivers Just Drive
Good Drivers Just Drive
 
popoo
popoopopoo
popoo
 

Semelhante a 20º GURU-SP - Você realmente sabe JavaScript?

Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
 
Javascript semana computação
Javascript semana computaçãoJavascript semana computação
Javascript semana computação
Ramon Oliveira
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
Marinho Brandão
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
Charles Jungbeck
 

Semelhante a 20º GURU-SP - Você realmente sabe JavaScript? (20)

Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhorPorque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
Porque aprender várias linguagens me tornou um DBA (e desenvolvedor) melhor
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012(Re)pensando a OOP - TDC 2012
(Re)pensando a OOP - TDC 2012
 
JavaScript: agora é sério
JavaScript: agora é sérioJavaScript: agora é sério
JavaScript: agora é sério
 
Javascript
JavascriptJavascript
Javascript
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Javascript semana computação
Javascript semana computaçãoJavascript semana computação
Javascript semana computação
 
Refatorar é preciso! 2.0
Refatorar é preciso! 2.0Refatorar é preciso! 2.0
Refatorar é preciso! 2.0
 
Gerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On RailsGerenciando Projetos Com Ruby On Rails
Gerenciando Projetos Com Ruby On Rails
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
O Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com PythonO Prazer De Trabalhar Com Python
O Prazer De Trabalhar Com Python
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Javascript OO
Javascript OOJavascript OO
Javascript OO
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
C# 7
C# 7C# 7
C# 7
 
Javascript - boas práticas
Javascript - boas práticasJavascript - boas práticas
Javascript - boas práticas
 
Java: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de TrabalhoJava: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de Trabalho
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitidoLeonardo Galani - Tester, pegue suas coisas porque vc está demitido
Leonardo Galani - Tester, pegue suas coisas porque vc está demitido
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

20º GURU-SP - Você realmente sabe JavaScript?