Arquivo da tag: Programming

Linguagens de programação / Programming languages

Dois Softwares Livres

Existem dois movimentos de software livre: um filosófico, o outro técnico.
Isto não significa que existam dois movimentos de software livre completamente separados entre si, nem que não haja uma área de intersecção. Certamente há. Talvez a mistura das duas se apresente com mais freqüência que sua separação.
Mas, para todos os efeitos, qualquer um que sente do lado de fora do software livre como um todo e o observe de fora, tentando apreender o movimento, irá notar (ao menos) dois movimentos – duas forças com sentido e direção – atuando dentro do que chamamos como um todo de comunidade de software livre. Uma força que aponta para a filosofia, a ideologia, que tem por fim último beneficiar seres humanos e suas sociedades e que apregoa a liberdade acima de tudo; e outra que aponta para o desenvolvimento aberto, o compartilhamento livre de código e idéias, que tem por fim último atingir a perfeição tecnológica até onde for possível, tornando a atividade de se transformar pensamentos e idéias em códigos de máquina que dêem forma a essas idéias livres de qualquer forma de restrição. Note que apesar das duas terem fundamento no conceito de liberdade, os objetivos finais diferem. Pouco, diriam alguns, pouco o suficiente para que ambos os objetivos sejam conciliados em um único objetivo e movimento; mas ainda assim o suficiente para que eles também possam ser encarados individualmente e separadamente, em algumas ocasiões.

The Nature of Lisp

The Nature of Lisp [defmacro.org]
English version below.
Excelente introdução à linguagem Lisp. O autor passa boa parte do texto comparando a linguagem Lisp com o formato XML, o que a princípio soa estranho, mas logo logo dá pra ver onde ele quer chegar. Para iniciantes ou curiosos como eu, que ainda estou dando os primeiros passos nesta linguagem. Ah, e não deixe de visitar o site do Lisp-BR.
Excellent introduction to the Lisp language. The author initially compares Lisp to the XML data format, which at first sounds strange, but soon you realize what he wants you to understand. To the Lisp newbies or curious ones that, just like me, are still making their first steps into Lisp.

First steps in Lisp

“Lisp é uma linguagem de programação programável.”
— John Foderaro
Estive tendo um pouco de contato com Lisp e Scheme desde ano passado, por conta de um projeto de pós-graduação. Eis algumas impressões minhas sobre a linguagem Lisp.
Sendo um membro do grupo de linguagens chamadas funcionais, Lisp é um pouco diferente das linguagens a que a maioria dos programadores está acostumada. Para um programador acostumado a outras linguagens aprender a programar em Lisp, é preciso uma mudança na forma de raciocinar.
Linguagens de programação ‘comuns’ (também chamadas de imperativas) enfatizam como uma coisa deve ser feita. Linguagens funcionais enfatizam o que deve ser feito. Elas lidam com mais abstrações do que as outras linguagens, que lidam com conceitos mais próximos do “maquinário”.
Um dos recursos mais poderosos de Lisp é a capacidade de manipular dados sob forma de listas. Algumas dessas idéias foram absorvidas pela linguagem Python: vide as funções map() e filter().
Comparison between Python and Lisp: Python for Lisp programmers

Paranoid

Paranoid screenshot

Paranoid quer ser um clone de Arkanoid, mas ainda não é… foi feito em Python e ainda está nos estágios iniciais. Foi um exercício para aprender um pouco sobre OpenGL e Python.
Acompanha o arquivo GLHelper.py com algumas funções e objetos para ajudar a manipulação de objetos OpenGL bem simples.

Paranoid wants to be an Arkanoid clone when he grows up. It’s made in Python and it’s on the first stages yet. I did it as an exercise to learn more about OpenGL and Python.
Comes with the file GLHelper.py with some functions and objects to help the handling of simple OpenGL objects.

Download (.tar.gz, 3K)