Filosofia das linguagens

Estudando Python tive contato com o Easter Egg “The zen o python”,  é uma mensagem que traduz a filosofia da linguagem, isto me fez pensar sobre a filosofia de algumas outras linguagens, aquilo que a comunidade de desenvolvedores incorpora, que serve como um guideline quando se desenvolve com a linguagem e que influência a maneira da linguagem funcionar.

Abaixo listo algumas filosofias que encontrei,  a maioria dos princípios são aplicadas no principal motivo da existência de uma linguagem de programação, o desenvolvimento de software, e estão mais para filosofias de Software Craftsmanship.

Escolher uma linguagem de programação vai além que aprender sintaxe e APIs.. 😉

em Unix

Escreva programas que façam apenas uma coisa mas que façam bem feito.

Escreva programas que trabalhem juntos.

Escreva programas que manipulem streams de texto, pois esta é uma interface universal.”

http://pt.wikipedia.org/wiki/Filosofia_Unix

em C tem o “Spirit of C”

Trust the programmer.
Don’t prevent the programmer from doing what needs to be done.
Keep the language small and simple.
Provide only one way to do an operation.
Make it fast, even if it is not guaranteed to be portable.

fonte: http://www.artima.com/cppsource/spiritofc.html

em Python tem o “The zen of python”

Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Plano é melhor que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para se quebrar as regras.
Embora a simplicidade supere o purismo.
Erros nunca deveriam passar silenciosamente.
A menos que explicitamente silenciados.
Ao encarar a ambiguidade, recuse a tentação de adivinhar.
Deveria haver uma – e preferencialmente apenas uma – maneira óbvia de se fazer isto.
Embora aquela maneira possa não ser óbvia à primeira vista se você não for holandês.
Agora é melhor que nunca.
Embora nunca, seja muitas vezes melhor que pra .
Se a implementação é difícil de explicar, é uma má idéia.
Se a implementação é fácil de explicar, pode ser uma boa idéia.
Namespaces são uma idéia estupenda – vamos fazer mais deles!

Sobre o python há um podcast sobre cada um dos conceitos contidos no Zen, e aqui, http://code.google.com/p/soc/wiki/PythonStyleGuide, uma lista de boas prática para atingir o zen

Em ruby encontrei alguns dizendo que certas coisas são o inverso do python, como várias maneiras de se fazer a mesma coisa.. e tem o “The ruby way”.

Anúncios

4 Respostas para “Filosofia das linguagens

  1. Pingback: Filosofia das linguagens « Blog Vale | Blogosfera do Vale do Paraíba

  2. Tiago, muito bom mesmo… Parabéns ai pela forma a qual você ecpilxa, bem fácil de entender mesmo… Eu tenho aula de PHP, mas não consigo entender nada do que o professor ecpilxa..Muito Obrigado, espero que vc continue criando post’s no seu blog.

    • 我也听说MacOS X非常好,非常人性化,而且基本上是为开发人员量身订做,只是苹果比较贵,还没买,无法进行比较。前段时间学ruby,基本上所有写ruby代码的都用苹果。我现在配置是 Athon XP 4000+ , 4G内存, 1.5T硬盘,用主板的整合显卡GeForce 7025。效果只开中等, 运行流畅。目前发现有2个性能会让性能提升,用从Adobe官网安装最新的 Flash 10 代替ubuntu packages的 Flash 可以摆拖那个吃CPU王子Firefox Flash插件运行的npviewer.bin。对于有Flash的网页Firefox速度将有明显提升。安装dns缓存软件,我用的是dnsmasq,域名解析速度非快,Firefox再次明显提升。网络问题不太好说,原因也多种多样。可以试着把ubuntu的 NetworkManager删了手动修改/etc/network/interfaces,再/etc/init.d/networking rtesart试试

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s