smalltalk presentation
DESCRIPTION
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis.". The language was first generally released as Smalltalk-80. Smalltalk-like languages are in continuing active development, and have gathered loyal communities of users around them. ANSI Smalltalk was ratified in 1998 and represents the standard version of Smalltalk. Smalltalk was the product of research led by Alan Kay at Xerox Palo Alto Research Center (PARC); Alan Kay designed most of the early Smalltalk versions, which Dan Ingalls implemented.TRANSCRIPT
Uma linguagem de programação “puramente orientada a objetos”.
Componentes :Alisson Tenório Pinto Natália Julieta Soares de Souza Michel Alves dos Santos
HISTÓRICOHISTÓRICO
Local de Nascimento e Período.Genitores/Criadores/Projetistas.Genealogia/Pedigree/Ancestralidades.Motivação.
Centro de Pesquisa da XEROX em Palo Alto (Califórnia) – XEROX PARC
HISTÓRICOHISTÓRICO
Adele Goldberg.Dan Ingalls.Alan Curtis Kay.
Adele Goldberg Dan Ingalls Alan Kay
HISTÓRICOHISTÓRICO
Alan Curtis Kay. Springfield, Massachusetts, 17 de maio de 1940;Um dos inventores da linguagem de programação Smalltalk;Um dos pais do conceito de programação orientada a objetos;Influenciado pelas idéias de Seymour
Papert;
Concebeu a idéia de laptop através do projeto Dynabook;Concebeu também o conceito das modernas GUI´s;Consultor na Xerox
PARC em 1970, em 71 passa a ser pesquisador;
Após dez anos na Xerox
PARC, Kay
tornou-se cientista chefe da
Atari
por três anos.
1984 -
Kay
associou-se a Apple
Computer
[criando o ATG].
Logo após associou-se a Walt Disney Imagineering.2001 -
Após a Disney, ele fundou Viewpoints
Research
Institute.
Posteriormente, trabalhou com um time da Applied
Minds
.
Torna-se Professor Visitante da Kyoto
University, e Adjunto no MIT.
Atualmente está
profundamente envolvido com projetos como o
Squeak, OLPC e OpenCroquet.
Fonte :
HISTÓRICOHISTÓRICO
Genealogia
Fortran Cobol
Simula
Eiffel
Algol
Smalltalk
Actor
C++
C#
C
Java
Objective C
Object Pascal
Pascal
Modula-2 ADA
Figura retirada do livro: “UML Metodologias e Ferramentas CASE”, Alberto Silva e Carlos Videira.
HISTÓRICOHISTÓRICO
Xerox Alto executando Smalltalk.
XEROX Alto com Interface XeroxStar executando uma das primeiras versões de Smalltalk.
O que é Smalltalk ?O que é Smalltalk ?
Compilador +Interface Gráfica do Usuário +Máquina Virtual +Biblioteca De Classes +Navegador de Classes e Métodos +Recursos usuais de um Sistema Operacional .
Janela de codificação em Smalltalk.
RECEIVER
CARACTERÍSTICASCARACTERÍSTICAS
“Puramente orientada a objetos”.Conjunto simplificado de regras.Todo objeto é a instância de alguma classe.Quase todas as expressões são da forma <recebedor> <mensagem>.Mensagens fazem com que métodos sejam executados.Toda classe possui uma classe mãe, exceto Object.Herança simples.Garbage Collector “Automático”.Ambiente de desenvolvimento integrado.
SENDER
Mensagem
Valor de Retorno
Um método de objeto sendo invocado por outro objeto enviando uma mensagem para ele.(Retirado de The Art and Science of Smalltalk).
SINTAXESINTAXE
Por padrão possui apenas 6 palavras reservadas: super, self, true, false, thisContext, nil.
Caracteres reservados: := ^ || $a #( ) . ; [] “” ‘’Envio de mensagem ; unária, binária, de palavra-chaveAté mesmo blocos de código são considerados objetos.
Impressão dos quadrados dos números de 1 a 12.
SINTAXESINTAXE
Mensagem unária: não possuem argumentos.
Array := Array new.Array size.
Mensagem binária: possuem apenas um argumento. São chamadas por um símbolo e normalmente usadas para expressões matemáticas.
3 + 4‘Hello’, ‘World’.
Mensagem de palavra-chave: Podem ter um ou mais argumentos.
Smalltalk allButFirst: 5.2 to: 10 by: 2.
SINTAXESINTAXE
Seleção Condicional: Provê uma mensagem especial cujos argumentos são ambos da classe Bloco. Essa mensagem faz parte do protocolo da classe Boolean, cujas duas únicas instâncias são os objetos true e false.
O código acima poderia ser substituído por : paridade := numero \\ 2 = 0 ifTrue: ['par'] ifFalse: ['impar'].
SINTAXESINTAXE
Repetição Simples: Para repetir um número determinado de vezes uma seqüência de expressões, o mecanismo usado em Smalltalk consiste em enviar a um Inteiro, cujo valor é o número desejado de repetições, a mensagem timesRepeat:, onde o argumento é um bloco que contém a seqüência de expressões a repetir.
Exemplo de repetição simples.
SINTAXESINTAXE
Repetição Condicional: Smalltalk implementa a repetição condicional de um bloco de expressões através do envio da mensagem whileTrue: (ou whileFalse:) a outro bloco, cujo valor retornado deve ser um Booleano. O argumento da mensagem é o bloco que contém a seqüência de expressões a serem repetidas..
Exemplo de repetição condicional.
FerramentasFerramentas
Desenvolvimento Web : Seaside.Ensino : Squeak Etoys, SqueakBot.Multimídia : Plopp.Persistência : Glorp e GemStone.
Janela do Squeak e sessão do Plopp.
CONCLUSÕESCONCLUSÕES
Marco na história das linguagensContribuiu com a evolução das GUI´s.Impulsionou um novo modo de pensar. Influencia até hoje outras linguagens.Serve de base atualmente para projetos
de educação como o OLPC, OpenCroquet, etc.
OLPC – One Laptop Per Child.