Err... voltar a usar Forth? xD
Pra mim scheme é legal por ampliar horizontes. Programar usando pilha,
eu já tive bastante usando minha HP48Gx. :]
Og!
Hm... não disse isso. Se foi o que entendeu, desculpe, até pq eu
gostava de programar na HP (e em forth, apesar de não sentir saudades
deles).
> eu não
> estou entendendo o seu ponto de vista -- pode clarificar mais?
> O que tem de melhor para "ampliar os horizontes" no scheme que não
> possa ser feito em postscript?
Lembro de ler em algum lugar que uma das idéias de scheme é você
modelar uma linguagem na qual você escreverá sua solução. Pode não ser
esse o objetivo de scheme mas foi isso o que me marcou nela.
Postscript foi feito para descrição de página. Objetivos bem
diferentes, apesar da mesma capacidade.
O ponto sobre 'ampliar os horizontes' que escrevi era sobre usar o
SICP. (Pensei sicp e escrevi scheme... colisão na hash ;P) Dá para
acompanhar esse livro usando postscript? Talvez sim mas pessoalmente
gosto de aprender idéias novas com as ferramentas mais simples e
depois ousar nos malabarismos mentais. Por isso fiz o comentário
inicial, por achar que postscript seja uma escolha bem incomum fora do
domínio para que ela foi pensada. Mas você tem todo o direito de
defender essa idéia. Desculpe se não consegui esconder meu espanto.
:-O
Og!
> sei que o "cool" aqui é scheme --
> mas uma linguagem que eu sempre curti é - postscript -
Na verdade, eu ia colocar um tópico a respeito: sei
que o foco é Scheme, mas seria interessante, quando
possível (isto é, se o tempo permitir, se houver dis-
posição, etc.) tentar implementar as soluções em ou-
tras linguagens.
Eu mesmo estava pensando em aproveitar o ensejo pra
estudar também Haskell e Ocaml (se possível, o tempo
permitir, etc). Pretendia fazer isso privadamente, mas
se houver interesse, eu não acharia ruim se quem esti-
ver estudando outras linguagens postasse suas soluções
aqui.
Então, por mim, se o JS quiser colocar soluções em PS,
nada contra. Mas, se o grupo inteiro preferir manter o
foco, tudo bem também.
---
José Alexandre Nalon
na...@terra.com.br
> Então, por mim, se o JS quiser colocar soluções em PS,
> nada contra. Mas, se o grupo inteiro preferir manter o
> foco, tudo bem também.
Eu acho importante manter o foco. Note que isto não quer dizer que outras
linguagens não são bem-vindas, mas acho legal não desvirtuarmos. Minha
sugestão é, quem quiser aproveitar e fazer implementações ou discussões
em/sobre outra linguagem, beleza, mas tenha bem claro que é um desvio, e não
deve se alongar.
rbp
Em princípio, qualquer linguagem de programação Turing-completa serve
para seguir o SICP (na pior das hipóteses você implementa um
interpretador Scheme em Postscript, né?). Mas o livro já é
suficientemente desafiador, na minha opinião, para ser suficientemente
"interessante" mesmo que a gente use só o Scheme. (Por sinal, acho
surpreendente você dizer que Scheme é uma linguagem de baixo nível,
JS... mas essa papo fica para outra thread.)
Então eu concordo com o R que o foco principal deve ser Scheme mesmo,
mas claro que sempre será interessante quando pintarem comparações.
De qualquer modo, por mim os exercícios resolvidos em outras
linguagens são super bem vindos no repositório. Eu mesmo estou
pensando em resolver exercícios em Python de vez em quando, então
claro que Postscript, Haskell e Occam são bem vindas, assim como
Forth, Java, Cobol...
Na verdade, já existe um site com parte dos exercícios resolvidos em
várias linguagens [1] (achei o link no artigo sobre o SICP na
Wikipedia).
[1] http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages
Mas como aqui não é faculdade, não se ganha absolutamente nada
copiando soluções prontas, então vamos fazer tudo de novo, reinventar
a roda mesmo, melhor ou pior, não importa desde que cada um invente a
sua!
[ ]s
Luciano
Em Thursday 25 June 2009 18:21:24 Kao escreveu:
> Aproveitando que o JS gosta de linguagens com pilha, eu conheci uma
> chamada Factor[1] esses dias.
Valeu pelo link. Só pra colocar um pouco mais de lenha na fogueira,
muito embora sem criar polêmica: eu sempre achei que a sintaxe de
notação polonesa reversa (o site chama de "linguagem concatenativa",
eu não conhecia a denominação) _extremamente_ intuitiva, possivelmente
mais intuitiva que a notação pré-fixada do LISP -- desde que você
se acostume com ela. Eu não sei quanto aos outros participantes des-
ta lista, mas quem é engenheiro, certamente, já se acostumou. :)
O interessante é que, muito embora as implementações de notação pós-
fixada em geral sejam de linguagens de baixo nível, eu sempre pensei
que essa sintaxe pode ser facilmente adaptada para linguagens de al-
tíssimo nível. Se for pensar bem, a passagem de mensagens para obje-
tos é notação reversa -- e o Smalltalk não é muito diferente dessa
filosofia.
Assim, em linguagens de pilha, o paradigma seria, basicamente: um
objeto pilha que recebe mensagens. Se a pilha compreende a mensagem
(eg.: drop, rotate, swap), executa o comando; se a mensagem é um ob-
jeto reconhecido, a pilha o armazena no topo; caso contrário, a men-
sagem é delegada para o objeto no topo da pilha. Não dá pra ser mais
simples que isso.
Eu sempre quis montar uma linguagem de alto nível baseado em pilhas,
mas nunca tive tempo. Projetar uma linguagem não é mole, e implemen-
tar é pior ainda. :) Mas possivelmente Factor já ocupou o nicho.
--
José Alexandre Nalon
na...@terra.com.br