Smalltalk? O que será isto?

Olá

Graças a Deus a maioria não pensa assim senão o mundo todo estaria programando em COBOL e Zé Finis.

E quanto ao tiagosc só acho que ele é radical demais para quem mora em uma cidade tão simpática.

Vida longa aos inovadores e limbo nos que acham que tudo deve ficar como está para sempre.

[]s
Luca

Olá

Veja: http://www.guj.com.br/posts/list/0/42099.java#223928

[]s
Luca

IA… legal

Mas o que seriam alg. genéricos?[/quote]

São algoritmos que podem ser aplicados em uma variedade de lugares, normalmente independentes do tipo de dados no qual eles operam e também normalmente implementados através do uso de “funções” como objetos (com o uso de functors, closures, predicates…).

Tem até uma biblioteca em Java pra fazer isso -> http://jga.sourceforge.net/

Já que Java não tem suporte a closures.

[quote=Luca]Graças a Deus a maioria não pensa assim senão o mundo todo estaria programando em COBOL e Zé Finis.

Vida longa aos inovadores e limbo nos que acham que tudo deve ficar como está para sempre.[/quote]

Não entendi Luca :frowning: Então Smalltak e LISP são ruins, mesmo nas suas áreas de uso?

Pensei que eram algoritmos com preço mais em conta! :smiley:

Eu já li uma vez numa matéria do Osvaldo Doerededefedeleleleelin… era bem sinistro mesmo, só praticando mesmo pra ver…

Olá

Presume-se que se alguém gastou massa cinzenta para fazer alguma coisa é porque achava que tinha alguma serventia. A inovação vem de espíritos inquietos. Há caras que inventaram mais de uma linguagem de programação e em cada uma tinha seus motivos.

Eu não disse que linguagem nenhuma é ruim. Foi você que questionou a serventia sem nem menos olhar uma wikipedia da vida. Só disse que se todo mundo fosse como aquele nosso amigo eu teria sido obrigado a escrever todos os meus softwares científicos em COBOL que foi a linguagem que se popularizou primeiro (mas o Fortran é mais antigo).

Smalltalk é bem antigo (1980). Veio um pouquinho depois do C with classes (1a implementação out./79). O C with classes, tentativa de dar ao C coisas do Simula, foi o precursor do C++, que só ganhou este nome em Dez./83. Fui buscar estas informações no livro do Stroustrup, The Design and Evolution of C++ de 1994. Neste livro mostra uma figura na pág. 6 com o Smalltalk sendo derivado do antigo LISP e do Simula67.

[]s
Luca

Eu disse que queria saber por curiosidade, não quis ser prepotente…

Não questionei serventia, até porque tinha dito que acreditava que elas são fodas…

http://uncyclopedia.org/wiki/Lisp

[quote=Thiagosc]A grama do vizinho é sempre mais verde. :slight_smile:

Uma pergunta àqueles que louvam o Smalltalk, vocês já desenvolveram algum projeto nessa plataforma, i.e., a linguagem + bibliotecas + ferramentas + soluções específicas como por exemplo toolkit para desktop? E como foi? O que deu errado e o que deu certo?[/quote]

Vou chamar um colega meu viciado em SmallTalk para falar com vc :slight_smile:
Ele é tão viciado em SmallTalk quanto você em Java.

Vai ser uma discussão boa.

Ele me mostrou um ambiente de SmallTalk, SeaSide ou algo assim. Aquilo lá simulava um SO, se não me engano. Era interessante, mas eu achei meio intrusivo. Lá tem bilbioteca para fazer coisas gráficas, framework web, etc…

SeaSide é framework web pro squeak…

eu gosto de smalltalk, muita coisa nova em engenharia e AI é feita com smalltalk, e smalltalk só é “usável” num ambiente smalltalk (chame de SO, VM, ou as duas coisas).

mas legal mesmo é scheme :wink:

scheme;lisp consegue representar a forma como as pessoas pensam e agem… principalmente com relacao a loops, alguem nunca percebeu que um loop é uma coisa meio idiota?

http://infogroep.be/files/The_Eternal_Flame_God_Wrote_in_Lisp.mp3

Respondendo à pergunta, eu só tive contato com Smalltalk numa disciplina da faculdade, fazendo projetos pequenos. A sintaxe e as bilbliotecas são muito legais (importante mencionar as bibliotecas pq a sintaxe é minimalista e deixa muito a cargo destas - para dar um exemplo, Smalltalk não tem if). Não me acostumei bem com o ambiente, que é muito diferente das linguagens “dinâmicas” mais novas, mas tenho a impressão que foi por falta de tempo.

E é verdade que a linguagem foi “lançada” em 80, mas foi desenvolvida no decorrer da década de 70, passou por sete iterações dentro da Xerox. E sendo pedante, o pessoal de Smalltalk chia bastante quando chamam a linguagem de SmallTalk.

Pessoal,

apenas para ilustrar um pouco o assunto com relação as linguagens e sua evolução, segue um link bem interessante com a “Linha do tempo” das linguagens. Bem interessante.

http://www.levenez.com/lang/

OBS.: Cliquem na faixa branca para dar ZOOM

[]´s

Carlos

[quote=jmp]mas legal mesmo é scheme :wink:

scheme;lisp consegue representar a forma como as pessoas pensam e agem… principalmente com relacao a loops, alguem nunca percebeu que um loop é uma coisa meio idiota?
[/quote]

Cara, eu não compro isso. Lisp é legal, mas fico imaginando um ambiente onde a maioria dos profissionais trabalham com aplicações comuns, simplesmente não cola.

A segunda razão é que a forma como se desenvolve em Lisp é meio iterativo, a pessoa faz algo, testa, muda, testa, muda, testa, etc. Por que não fazer o design logo de cara!? Eu odeio começar “digitando” pois sei que ficará um lixo. Creio que Java oferece uma visão top-down enquanto o Lisp um bottom-up, em Java começa-se pela design geral das classes em Lisp você começa prototipando pequenas coisas de cada vez.

A terceira razão, milhares de funções-escritas-desse-jeito-assim que variam pouca coisa entre uma e outra. Lembro-me de um tal de PRINT e PPRINT ou algo assim, cara, isso é nome de função?

A quarta razão, essa eu nao verifiquei eu mesmo mas li a respeito nos fóruns da vida, é a falta ou o pouco desenvolvimento de bibliotecas para aquilo que precisamos (pelo menos a maioria de nós: web, DB, rede, etc).

A quinta razão, certas coisas que são simples em Java são uma tortura em lisp, tipo trabalhar com o sistema de arquivos.

Conclusão, Lisp é muito legal, dá para fazer bastante coisa legal, é um mundo totalmente distinto de Java, MAS é difícil imaginar uma aplicabilidade para as massas, parece-me algo mais de nicho.

Acho que existe uma versão do Scheme para JVM, parece ser bem madura e bem desenvolvida.

Tudo isso só por causa de uma pergunta? Hehehe

Vocês precisam relaxar. Eu farei muitas e muitas perguntas pois é isso que eu faço, é a única forma de aprender alguma coisa.

Aceitar cegamente algo não é inteligente.

Esse sou eu? Você quer dizer cético?

Assim como não aceitar algo cegamente também não é inteligente.

  • Para ajudar na interpretação: aquele que não aceita algo, sem nem mesmo analisar.

Pra isso que existe refactoring, ueh. Depois, vc esta associando processo a linguagem, que se parar pra pensar, nao tem muito a ver. Da pra escrever tanto Java como Lisp bottom-up ou top-down.

o que da a entender é que, essas linguagens nunca vingaram por que eram muito complexas para sua epoca.

vou dar um exemplo aprender java direito ja é dificil nos dias de hoje com internet e tudo mais.
fato é que se vc perguntar em faculdades ou cursos tecnicos o pessoal acha mais facil .net do que java.
na real o cara tem q ter força de vontade e querer aprender pesquisar no google ler livros etc…

ai vou dar um exemplo, eu fui estudar scala por exemplo(poderia ser small talk) o que eu faço vou na amazon pesquiso um livro de scala aleatorio… escolho o nome do livro por exemplo (livro de scala)

ai hoje em dia voce pode procurar o pdf pirata na internet ou comprar em instantes o livro… ai voce começa a ler e tem duvidas sobre “pattern matching” e pesquisa no google tem uma porrada de blog explicando cada topico dificil.

considerando tudo isso ai voce pega pelo link q nosso amigo passou os anos de lançamento da linguagem, e voce vai ver que naquela epoca quem tinha computador era “rico” ou um cara mto nerd que ja trabalhava na area, ai voce tira a internet do cara, varios livros para escolher , comunidade etc…

conclusao quanto mais dificil fosse a linguagem menos popular ela seria.

ai voce pegar C > c++ > java é completamente natural a acessão dessas linguagems… entao chegamos em 2013 com todos nossos recursos e começamos a refletir o quao legal eram as outras linguagens, por que neste momento conseguimos estudar descentemente temos recursos.

ai voce ve pessoal estudando ruby,scala e haskel,clojure lisp smalltalk etc… claro pessoal que curte programar.

entao smalltalk pode ser melhor que java em varios termos… mais na epoca do smalltalk era MTO dificil aprender etc.
e ai tem as empresas por tras que fazem JAVA e.NET ser dado nas faculdades juntando tudo isso se tem a respota por que não se usa smalltalk.

kkkkkkkkkkkkkkk