PostgreSQL em ... Lisp?

20/10/2008

Não se assuste! Ninguém está pensando em fazer uma versão do PostgreSQL em Lisp!

Numa discussão recente na pg-hackers, alguém sugeriu que o PostgreSQL fosse re-implementado em C++ (atualmente o código está em C). Entre umas e outras (ironias) e mensagens de primeiro de abril, Tom Lane apontou que o código original do Postgres tinha sido portado de outra linguagem, ainda em Berkeley:

I'm surprised no one pointed out that Postgres has *already* been ported to a new language once. It was originally written in Lisp, and was rewritten in C sometime in the Berkeley years. (Anyone know exactly when or by whom? I don't.) You can still see the effects of that origin in the system's liking for list-based data structures.

But the code base was an order of magnitude smaller and simpler back then, meaning that a fresh port would be at least an order of magnitude harder. Like other respondents, I'm not seeing where we'd get benefits commensurate with the cost.

Interessante não?


Email por Walter Cruz em Bancos de Dados, PostgreSQL, Lisp
Tags: bancos de dados, lisp, postgresql

Peter Norvig, Sudoku e Javascript

13/08/2007

Link: http://norvig.com/sudoku.html

Ontem enviaram para o br-linux um link para um artigo que mostra uma comparação da versão em C com a versão em Python de Peter Norvig de um programa que faz correção ortográfica (parecido com aquele usado no google).

Ao vê-lo, lembrei de outro artigo de Peter Norvig, o "Solving Every Sudoku Puzzle" (Resolvendo todos os sudoku), em que ele mostra um programa em Python, capaz de resolver até mesmo os jogos mais difíceis, em apenas 100 linhas. Antes que alguém venha falar que Python é lento, ele diz no final do artigo que ele poderia ter escrito o código visando a eficiência, de forma que ele executasse 10 vezes mais rápido, mas que o código seria 5 vezes maior.

Eu me lembrei que eu tinha visto uma versão em Javascript, que é uma tradução da versão em Python. Porém, mais interessante que essa versão, é a postada por Brendan Eich em https://bugzilla.mozilla.org/attachment.cgi?id=266577, citada por John Resig em http://ejohn.org/blog/javascript-18-progress/ .

Essa versão usa coisas do JavaScript 1.8 (que será usado no Firefox 3) e traz algumas coisas de Python e de programação funcional, como Generator Expressions e reduce. É interessante comparar as 3 versões do código, a original em Python, a em Javascript comum e em Javascript 1.8 e ver como a versão em Javascript 1.8 fica muito parecida com a versão Python. Bacana não?


Email por Walter Cruz em Python, Google, JavaScript, Linguagens, Lisp
Tags: javascript, peter norvig, python, sudoku

Que linguagem você é?

29/04/2007

O teste que anda circulando no Planet Python não é muito novo, mas é engraçado. Qual linguagem você é? Faça o teste!

Você é Lisp.  Existem poucas pessoas como você (Provavelmente porque você usa muitos parentesis (Você deveria parar com isso (Realmente)))

Possíveis respostas:

  • ASP
  • Assembly
  • Basic
  • Binário
  • C
  • C#
  • Cobol
  • C++
  • Fortran
  • Java
  • JavaScript
  • Lisp
  • Modula-2
  • Perl
  • PHP
  • Prolog
  • Python
  • Ruby
  • Smalltalk
  • Visual Basic

Email por Walter Cruz em PHP, Python, JavaScript, Linguagens, Ruby, Java, Lisp
Tags: humor, java, javascript, linguagens, lisp, php, python, ruby

JavaScript - eu gosto!

27/03/2007

Na página da tiobe que mede o ranking de popularidade das linguagens, uma notícia curiosa: "JavaScript atinge o seu ranking mais alto e ultrapassa C#". Embora eu não tenha colocado javascript na minha lista das doze mais, tenho um carinho especial por linguagem. Mas não foi sempre assim.

A primeira vez que eu vi JavaScript, eu estava no colégio. Tinha um cara na sala que ficava cheio de pompa, dizendo que fazia páginas e DHTML. De vez em quando vinha ele nos mostrar códigos cheio de DIVs, LAYERS (lembram-se disso?) e uma porção de ifs, incompreensíveis pra mim. Não me empolguei com aquilo. Vendo a história, vejo que me livrei do fogo cruzado da guerra dos navegadores. Comecei a ver JavaScript com mais afinco na época que entrei no ministério. Isso porquê era mais divertido fazer a parte do JavaScript do que escrever milhares de consultas SQL, que no fim das contas, eram todas iguais.

Mas, o inesperado é que eu tomei gosto pela coisa. E a onda de ajax e web 2.0, fizeram com que muita gente, mesmo sem muito gosto, fosse obrigada a mexer com JavaScript. Ou, usar frameworks como o Google Web Toolkit, que permite que você desenvolva ajax sem escrever JavaScript. O suporte de CSS e JavaScript nos navegadores, apesar de falhos, permitem que não seja mais tão difícil escrever código crossbrowser. Melhor assim.

A partir de um link no googletron, eu fui parar no Coding Horror ( com isso, descobri de onde o Gabriel Falcão tirou o ícone que usa no talk), e acabei finalmente aqui: http://blogs.msdn.com/ericlippert/archive/2004/03/18/92422.aspx . Era uma discussão de como as pessoas poderiam usar (e usam) orientação a objetos de formas nocivas. Desse último site, gostaria de citar uma frase:

"É claro, eu posso estar sendo um pouco tendencioso. Eu gastei cinco dos últimos oito anos trabalhando com JScript quie pode ser usada como uma linguagem imperativa, orientada a objetos e linguagem funcional, e é normalmente embutida dentro de linguagens declarativas como HTML e XML (Meu colega da Netscape, Waldemar Howart, disse me uma vez que JavaScript era apenas uma outra sintaxe para Common Lisp - ele era um fã aficcionado de programação funcional).

Pensando nisso, Jscript pode ser uma linguagem pedagógica muito interessante. É muito fácil ser produtivo com pequenos scripts imperativos,ela implementa características de linguagens funcionais como closures e funções anônimas, e tem um modo interessante e não padrão de implementar Orientação a Objetos (herança de protótipos)."

Bom, eu passaria longe de Jscript, mas, apesar das complicaçõezinhas dos navegadores, acho divertido escrever JavaScript.

Para pensar:

  1. Já repararam como lisp influencia muita coisa por aí? Segundo Peter Norvig, Python é um 'dialeto de lisp com uma sintaxe mais tradicional. Matz já afirmou a influência de Lisp sobre Ruby. Agora, nessa citação, Waldemar Howart afirma a influência de Lisp sobre JavaScript. Existe um documento que descreve a evolução de linguagem Lua, e nele é declarada a influência de Scheme sobre Lua.
  2. Já olharam além das 20 mais no ranking do tiobe? Em outubro do ano passado, a lista de Lua comemorava o fato de lua ter entrado em 50º lugar no tiobe . Esse mês, ela está em 25º lugar!

Para ler:

  • Editor Intype - pode ser programado usando JavaScript (eles mudaram da linguagem Lua. Eu continuaria com Lua.)
  • Forca em JavaScript - Uma das coisas que fiz enquanto aprendia
  • EcmaScript 4 - As propostas para o ECMAScript 4.
  • El Micox - Diversos exemplos de scripts

Email por Walter Cruz em Python, Programação, Lua, JavaScript, Ruby, Lisp
Tags: ajax, frameworks, intype, javascript, lisp, tiobe, web 2.0