2006-09-19

As doze mais

Poliedro Recentemente o sítio NotíciasLinux.com.br divulgou uma lista das «10 linguagens de programação que você deveria aprender agora mesmo».

Nós (Rodrigo Cacilhas e Walter Cruz) conversamos e decidimos fazer nossas próprias lista. Qual não foi nossa surpresa ao descobrir que estas só divergiam em duas linguagens!

Então resolvemos escrever um artigo sobre as «12+». =)

Segue então a lista em ordem alfabética.

C



rank Cacilhas: 1
rank Walter: 3


C é a raiz de todas as linguagens modernas. Ninguém que precise de desempenho e confiabilidade abre mão de C.

Apesar de ser uma linguagem de alto nível – não confunda notação matemática com baixo nível! –, proporciona um melhor entendimento sobre o funcionamento do sistema, ajudando o programador a ter um pensamento menos dependente das peculidades de cada linguagem. É muito boa para explicar sobre o funcionamento de um computador nos seus detalhes.

C#



rank Cacilhas: 4
rank Walter: 10


É a melhor coisa que a Microsoft já fez. Tem lá seus problemas – como não poderia deixar de ser –, mas é uma linguagem eficiente e a melhor escolha para programação .NET.

Sem falar que é um plágio de Java.

C++



rank Cacilhas: -
rank Walter: 4


É uma linguagem importante devido à quantidade de aplicações desenvolvidas e também porque é a mais neutra das linguagens orientadas a objeto.

Ocupou um lugar relativamente importante na história da orientação a objetos, e foi mercadologicamente suplantada por Java.

Assim como C, ajuda o programador a ter um pensamento mais livre, a livrar-se da escravidão imposta por outras linguagens, apesar de não passar de um «C mais lento».

Cobol



rank Cacilhas: 10
rank Walter: -


Há um mercado legado muito grande de aplicações Cobol no Brasil que necessitam de manuteção – e constantes reindexações de bases de dados. =P

Em cinco ou dez anos talvez esta realidade mude, mas atualmente programadores Cobol são necessários e estão se tornando raros.

Fortran



rank Cacilhas: 9
rank Walter: -


Um linguagem antiga e ultrapassada sim, mas muito usada em ambiente acadêmico: pós-graduação e pesquisas.

Seu foco em análise numérica é perfeitamente conveniente para satisfazer as necessidades da Computação Científica e dificilmente outra linguagem conseguirá tomar seu lugar.

Portanto, para quem não quer ser mais uma batata no saco, é importante conhecer Fortran.

Java



rank Cacilhas: 2
rank Walter: 5


Java foi o que na verdade trouxe a orientação a objetos para a boca dos programadores.

Traz em seu bojo uma cultura que muitos chegam a pensar que é originada de Java, mas isso é um engano. Poderíamos citar dentre eles: Design Patterns, máquina virtual (já presente no Smalltalk na década de 80), refatoração (outro que nasceu na comunidade Smalltalk) e Programação Extrema (outro filho do Smalltalk).

O que mais dizer de Java? Não é lá grande coisa, nem se compara a C ou Fortran, mas funciona e bem.

Quando o front-end é mais importante que o back-end, Java é o que há. E ainda trabalha bem em aplicações de back-end – não tão bem quando as outras, mas a homogeneidade com o front-end compensa.

Um dos grandes problemas que eu vejo em Java é sua quase onipresença. Tem um problema? Não importa qual, mas a solução é Java. Outro grande diferencial é que essa é a linguagem que fala empresariês. É a linguagem que tem mais siglas, mais nomes e expressões complicadas, que no final acabam por se mostrar coisas simples na maioria dos casos. Não me entendam mal – depois de anos, resolvi aprender Java, e de fato estou até gostando. Existem na verdade duas coisas chamadas Java: a plataforma Java (JVM) e a linguagem Java. Apenas recentemente, com o advento do .NET a comunidade Java se tocou que nem todos gostavem de Java e passaram a alardear que outras linguagens poderiam rodar na JVM. Será que isso veio tarde demais? Espero que não.
(Walter)


Lua



rank Cacilhas: 8
rank Walter: 6


A linguagem de extensão por excelência! Combinada a C é imbatível.

Como se já não bastasse dizer que Lua conquistou seu nicho no mercado de animação, nós brasileiros temos um compromisso patriótico com esta linguagem (em vez de tratá-la com ignorância sistemática, como temos feito).

Sem contar que Lua tem méritos próprios. Metatabelas e orientação a objetos em Lua são coisas totalmente originais.
(Walter)


Perl



rank Cacilhas: 5
rank Walter: 8


Perl é uma linguagem pra gente grande. Uma das mais eficientes, não deixando a desejar a nenhuma outra.

É uma linguagem de propósito geral, mas se dá muito bem na Computação Científica, e serve como base de entendimento para outras linguagens mais modernas nela baseadas.

Outra curiosidade de Perl é ter a capacidade de irritar os trolls defensores de verdades absolutas, já que, sendo uma linguagem estrutura de tipagem fraca e orientada a objetos – ao contrário do que dizem os trolls –, é mais eficiente e aplicável do que qualquer linguagem da moda.

Python



rank Cacilhas: 3
rank Walter: 1



Python é tudo o que Java e Ruby pretendem ser.

Simples, clara, multipropósito, fortemente orientada a objetos, fortemente tipada e explícita. Sua sintaxe é clara e fácil, permitindo que iniciantes possam aprender Python rapidamente mesmo sem ter conhecimento algum de programação, mas ao mesmo tempo possui recursos avançados, como metaclasses, e incontáveis módulos, o que permite o desenvolvimento de aplicações complexas, como o Zope.

Assim temos uma linguagem – talvez a única – que faz a ponte entre o iniciante e o programador avançado.

Para saber mais veja Introducing Python.

Na minha opnião, é uma das melhores linguagens pra ensino.
(Walter)


Ruby



rank Cacilhas: 7
rank Walter: 7


Vem ganhando um certa importância atualmente, principalmente por causa dos programadores Java frustrados, mas que não querem dar o braço a torcer para Python e não aguentam esperar pelo Groovy, que é uma mistura de Ruby e Java, só que abençoada pelo JCP.

É uma linguagem da moda, mas faz coisas legais, como Ruby on Rails.

Embora seja muito semelhante a Python na superfície, são bichos de espécies diferentes. Ruby nasce do cruzamento de Perl com Smalltalk, e Python herda da linguagem ABC. Isso é algo importante de se lembrar.
(Walter)


Smalltalk



rank Cacilhas: -
rank Walter: 9


É a orientação a objetos por excelência. Mais antiga que C, quase todos os paradigmas que têm sua criação erroneamente atribuída a Java foram desenvolvidos no Smalltalk (vide seção sobre Java).

É uma linguagem de propósito geral, mas focada na interface com o usuário, há ferramentas profissionais interessantes, como Cincom VisualWorks.

Considero uma ironia que PHP tenha tido um grande sucesso e Smalltalk tenha ficado sempre em segundo plano. É particularmente chatinha de aprender – eu tentei fazer qualquer coisinha aqui e sempre me atrapalho. Isso porque a mente da maioria dos programadores já está viciada em sintaxes C-like. A história da informática seria certamente muito diferente se Smalltalk tivesse alcançado o merecido sucesso. Mas isso é díficil para quem está sempre um passo à frente.
(Walter)


SQL



rank Cacilhas: 6
rank Walter: 2


É impossível manter e interfacear uma base de dados sem conhecer seu funcionamento, e nada melhor para isso do que conhecer ANSI-SQL.

Considerando os principais bancos livres, podemos subdividir este tópico em três:

ANSI-SQL


Cobertor curto, mas conhecendo – e entendendo – o ANSI-SQL, é possível entender qualquer querência estruturada.

MySQL


O MySQL implementa um SQL ligeiramente diferente, mas nada de assustar. =)

PL/pgSQL


Sem o conhecimento das funções e peculiaridades do PostgreSQL, ele não passa de uma alterativa gorda e gulosa ao MySQL.

Mas com o entendimento do PL/pgSQL, o PostgreSQL se torna a mais poderosa das ferramentas de banco de dados.

Omissões Notáveis.

PHP
PHP é na minha opinião uma linguagem de desenho ruim, e que o passar do tempo apenas acentua isso.

JavaScript
Embora seja praticamente impossível desenvolver para a web sem ela, creio que ela já fica coberta pelo tópico Lua. Lua é muito semelhante à JavaScript, com objetos de primeiro nível, closures, e sintaxe parecida.
(Walter)

18 comentários:

Cláudio Torcato disse...

Cacilhas e Walter, gostei das citações a cada uma das linguagens. Não conheço tantas linguagens quanto vocês, porque como bem devem saber sou um fã da linguagem Python e profissionalmente sou programador Java. Já estudei C e gostei bastante. SQL na minha profissão é importante, assim como Javascript, HTML e folhas de estilo. Estou sendo bem generalista mas assim deve ser. Com o tempo só aprendemos cada vez mais e nos tornamos mais necessários às nossas empresas e ao mercado.

Espero um dia ver Python entrar verdadeiramente no mundo corporativo aqui no Brasil. Sabemos que ela já conquistou sua fatia em algumas distribuições Linux, acentuadamente Ubuntu. Sendo esta distribuição bem organizada, a escolha da linguagem só veio reforçar sua efetividade nesse quesito.

Java é muito marketing mas foi graças a ela que uma grande massa de programadores e graduandos da área de Computação estão conhecendo várias técnicas importantíssimas para se ter um projeto manutenível. Fala-se muito em produtividade mas nunca podemos esquecer de preparar nossa aplicação para sua fase mais duradoura que é exatamente a ambiente de produção.

SEberard disse...

Cacilhas, parabéns pelo artigo - achei uma excelente compilação de linguagens...

La Batalema Pitonisto disse...

Muito obrigado pelos comentários.

Este artigo tem uma história interessante, pois nem eu, nem o Walter fizemos muito esforço pra ele «nascer». Ele surgiu naturalmente durante um bate-papo descontraído – e rápido! Em pouco tempo estava escrito e publicado.

Ah! uma coisa importante! Não deixem de comentar no blog do Walter também!

[]'s

La Batalema Pitonisto disse...

Utilidades...

Uma lista das páginas da Wikipédia sobre as linguagens listadas:

- http://pt.wikipedia.org/wiki/Linguagem_de_programação_C
- http://pt.wikipedia.org/wiki/C_sharp
- http://pt.wikipedia.org/wiki/C++
- http://pt.wikipedia.org/wiki/Cobol
- http://pt.wikipedia.org/wiki/Fortran
- http://pt.wikipedia.org/wiki/Linguagem_de_programação_Java
- http://pt.wikipedia.org/wiki/Lua_(linguagem_de_programação)
- http://pt.wikipedia.org/wiki/Perl
- http://pt.wikipedia.org/wiki/Python
- http://pt.wikipedia.org/wiki/Ruby_(linguagem_de_programação)
- http://pt.wikipedia.org/wiki/Smalltalk-80
- http://pt.wikipedia.org/wiki/SQL

Outras páginas na Wikipédia:

- http://pt.wikipedia.org/wiki/ANSI
- http://pt.wikipedia.org/wiki/JavaScript
- http://pt.wikipedia.org/wiki/MYSQL
- http://pt.wikipedia.org/wiki/Php
- http://pt.wikipedia.org/wiki/PostgreSQL

Outras referências:

- http://www.cbrasil.org/wiki/?title=Página_principal
- http://www.microsoft.com/brasil/msdn/Tecnologias/visualc/Default.mspx?mfr=true
- http://www.cobol.com/
- http://www.fortran.com/
- http://www.geocities.com/helder_pc/fortran/
- http://java.sun.com/
- http://www.lua.org/portugues.html
- http://www.perl.org/
- http://perl.com/
- http://cpan.perl.org/
- http://www.python.org/
- http://www.python.org/2.5
- http://www.ruby-lang.org/
- http://www.rubyonbr.org/
- http://www.smalltalk.org/
- http://www.cincomsmalltalk.com/
- http://www.mysql.org/
- http://www.postgresql.org/
- http://www.postgresql.org.br/

[]'s
Rodrigo Cacilhas

Walter Cruz disse...

Oi Torcato!

Bom, na verdade acho que não sabemos tantas assim :) Apenas colocamos o que achamos mais essencial.

E como você, e acho que o Cacilhas também está nessa, esperemos e lutamos para que python entre de fato no mundo corporativo.

Da minha parte, a lista não tem intenções empregatícias. Sugeri Smalltalk, e é quase impossível hoje em dia, no Brasil achar projetos feitos em Smalltalk.

Não sugeri Ajax, que é uma das coisas com o que trabalho, simplesmente por que achei outras mais interessante. E olha que o mercado para 'programadores Ajax' existe.

Krisnatágoras disse...

Assim que me deparei com a lista, pensei: "Caralho, só ouvi falar dessas linguagens".
Conheço pelo nome, mas não sou programador (com exceção de SQL e um pouquinho de PHP).
Preciso correr ;-)

Achei interessante também o ranking:

Python:
Cacilhas: 3
Walter: 1

Cobol
Cacilhas: 10
Walter: -

Fortran
Cacilhas: 9
Walter: -

Rodrigo, vc é mesmo marrento, hein ;-) rzzzz...

La Batalema Pitonisto disse...

Que isso!

Em meu ranking pessoal, as linguagens com melhor colocação foram C, Java e Python, e delas a única difícil de verdade é Java (apesar de C e Python serem fodonas). 8)

Cobol tá em 10º lugar (mesmo porque tende a morrer mesmo) e Fortran em 9º.

Não saco nada de Cobol, tanto que você pode ver que toda colocação sobre a linguagem é de cunho comercial, e já brinquei com Fortran – a faculdade me obriga a saber –, mas nunca fiz nada muito sério.

[]'s
Rodrigo Cacilhas

Ed Crypt disse...

> C é a raiz de todas as linguagens modernas. Ninguém que precise de desempenho e confiabilidade abre mão de C.

Um pouco exagerado quanto a "raiz de todas as linguagens modernas" (definitivcamente não é a raiz de Haskell, por exemplo), mas o problema é a afirmação "inguém que precise de desempenho e confiabilidade abre mão...", já que muitos cientistas que precisam de desenpenho preferem Fortram e OCaml.

Ed Crypt disse...

Agora quanto a Python, concordo totalmente!!! Minha numero um também.

La Batalema Pitonisto disse...

Realmente, Eduardo!

Você tem razão. Fomos generalistas, um pecado imperdoável!

Mas realmente a *maioria* das linguagens modernas tem um pezinho no C. =)

[]'s

PS: Quem mandou postar aqui? Fui atrás de seu perfil, encontrei seu blog, gostei e ele já foi parar na lista de recomendações aqui do lado direito! =P

Lucas Arruda disse...

Achei um pouco estranho o desgosto tão grande pelo PHP, que ironicamente ficou em primeiro lugar na matéria do eweek.com .

Acho que falar mal do PHP é de certo modo ignorar uma tendência de mercado. Muito embora não seja uma linguagem excelente, ela é bem difundida, o que por si só já faz ela merecer uma boa colocação no ranking, e além disso, é uma linguagem que tem melhorado bastante com o tempo, alia simplicidade com sintaxe conhecida do C e OO mais forte na versão 5 (bem parecido com o do Java).

Smalltalk por exemplo pode ser uma linguagem perfeita, como parece ser descrita no artigo, mas não tem mercado e com certeza não é uma das 10 linguagens de programação que alguém deva aprender.

Lua é muito legal, mas também parece ser uma linguagem bem esquecida no mercado em geral.

La Batalema Pitonisto disse...

Caro Lucas,

Pra começar, fico muito feliz em ver que de repente este artigo está se tornando tão lido (preciso avisar o Walter). =)

Gostei muito de seu comentário, é de extrema relevância. Desculpe minha aparente prepotência ao dizer que você não está de todo errado, mas ligeiramente equivocado.

Realmente PHP é uma linguagem bem difundida, e as revistas atuais – verdadeiras empresas, mais preocupadas em dizer o que seu público alvo quer ouvir do que com a informação real, mesmo as mais sérias –, virtuais ou impressas, vão sempre levar isso em consideração.

Agora, Clipper também foi em sua época, não? Podemos também falar de Maple e outras esquisitices que tiveram também sua época.

Devido ao ciclo de vida curto de tecnologias e à alta reciclagem existentes na Computação, muitos modismos ganham status de coisa séria. Quem viu as coisas acontecendo nas décadas de 1980 e 1990 como eu (ou até antes, como meus mestres), entende do que estou falando.

Tendências vão e vem.

Baseado nisso, digo que PHP é mais um modismo (claro, posso estar errado).

No mais quanto a PHP, acho que o verbo «aliar» não é bem adequado, sendo melhor usar «costurar», visto que a linguagem é uma gigantesta colcha de retalhos mal acabada.

Agora, você precisa conhecer melhor o mercado Smalltalk.

Se você escrevesse o que escreveu aqui sobre Smalltalk no blog do Osvaldo – programador de Python e Smalltalk – ele não seria tão educado quanto eu.

Na verdade há um bom mercado para Smalltalk, e uma tremenda carência de programadores, já que todo mundo quer aprender só o que aparece na grande mídia, PHP, Java, C#...

Existe sim um mercado de programadores de Smalltalk, mesmo que oculto, e ele está carente. Pode ser difícil encontrá-lo, mas será muito mais fácil ganhar bem com Smalltalk do que competir com zilhões de programadores de PHP.

Por último, o que você falou sobre Lua indica que você está muito mal informado.

O mercado Lua é enorme, mesmo que seja fato Lua ser esquecida pelo Brasil.

O brasileiro tem um hábito terrível de achar que tudo o que é nacional não presta, por isso Lua é quase desconhecida no Brasil, mas indispensável em qualquer outro lugar do mundo.

É impensável atualmente trabalhar no mercado de jogos, por exemplo, sem conhecer Lua. É pré-requisito.

Dois exemplos de empresas que usam amplamente Lua são a Lucas Arts (alguém já ouviu falar de «Star Wars»?) e Petrobras. Será que está de bom tamanho? Há uma pequena lista de empresas em algum lugar em www.lua.org, ou www.keplerproject.org, ou no sítio da Fábrica Digital, não me lembro bem onde, mas quando encontrar posto aqui.

Um conselho aos marinheiros de primeira viagem (ou seja, que estão na Informática há menos de 10 anos): não acreditem em revistas e artigos! Duvidem de tudo e procurem informação em diversos lugares. É importante dar preferência a informações mais antigas, pois nem tudo que surge durará, mas o que já dura...

[]'s

Walter Cruz disse...

Oi Lucas.

Bacana seu comentário!

Alguns pontos:

Creio que nem o Cacilhas nem eu fomos muito mercadológicos em nossas escolhas. Acho que uma escolha 'mercadológica' ficaria com Java em primeiro, .NET em segundo e PHP em terceiro.

Nosso critério foi mais uma média de interesse nerd/acadêmico e interesse comercial.

Eu USO php. Meu e-mail tem php no nome. Eu trabalho com isso. Mas, mesmo considerando as recentes melhorias da linguagem, ela está longe de ser algo no mínimo organizado. É mais fácil de aprender que python ou ruby, porque tem uma sintaxe mais parecida com C, que está no 'inconsciente coletivo' nerd. Mas não tem nada original nela. Mas como eu disse, é o que paga meu salário hoje. Mas não é o que traz meu sorriso todos os dias (só algumas vezes).

Talvez Lua seja insignificante no mercado - mas Lua tem o nicho de jogos. Nem todas as linguagens se propõem a ser um problema para todas as soluções :) . Lua tem um lance muito original: meta-tabelas e meta-mecanismos. Isso é doido. Isso é interessante.

Nem sempre características originais põem mais dinheiro no bolso, é verdade. Mas põem um belo sorriso no rosto. Isso você tem em python, ruby e Lua. Mas não acho nada assim em PHP!

(dá uma passada no meu blog - tá lincado aqui).

[]'s
- Walter

Aiok disse...

Senhores,

Apenas uma constatação. Vocês sequer comentaram sobre uma linguagem que é, na minha opinião, extremamente didática e ainda muito usada aqui no sul: Pascal e Object Pascal (Delphi).

Não conheço tantas linguagens assim, aprendi: Cobol, C, Pascal, Obj Pascal, Java, Javascript, Python, SQL, C# e Perl.

Portanto, nem poderia fazer um ranking, mas de qualquer forma, deixo aqui minha contribuição.

La Batalema Pitonisto disse...

É verdade, Aiok!

Faltou Pascal!

É porque na verdade seriam as «10 mais», mas houve diferença entre as minhas e as do Walter... Por conta dessa diferença, virou as «doze mais». =)

Pascal seria a décima primeira em cada uma, portanto nas «doze», nossa décima terceira.

[]'s

Lucas Arruda disse...

É impensável atualmente trabalhar no mercado de jogos, por exemplo, sem conhecer Lua. É pré-requisito.

Como eu disse, ela nao tem muito uso no mercado em geral, mas ja vi codigos em lua, sei que ela e usada em sites (pouquissimos mas e), mas de modo geral so e usada nesse tipo de aplicacao citada.

O brasileiro tem um hábito terrível de achar que tudo o que é nacional não presta, por isso Lua é quase desconhecida no Brasil, mas indispensável em qualquer outro lugar do mundo.

Nao disse que nao presta, mas se formos olhar em termos de mercado ela tem um nicho bem pequeno e especifico.


Baseado nisso, digo que PHP é mais um modismo (claro, posso estar errado).

Nao acho que ele seja modismo. Isso me lembra mais Ruby on Rails, mas que mesmo sendo modismo talvez ate "cole" pois e um framework muito poderoso e simplifica muito as coisas.

Quem sabe daqui alguns anos PHP perca um pouco do seu lugar para Python, mas por enquanto ainda acho que o PHP tem um bom reinado, pois pela simplicidade e velocidade de desenvolvimento e pela confianca ela e uma linguagem que ainda tem muito para dar, pois surge com alternativa livre pra quem nao quer pagar um sistema em J2EE e ainda sim quer um desempenho bom. Esqueca o PHP apenas se voce desenvolve um sistema muito grande, e mesmo assim ele tem se provado cada vez mais capaz de lidar com sistemas cada vez maiores.


Nem sempre características originais põem mais dinheiro no bolso, é verdade. Mas põem um belo sorriso no rosto. Isso você tem em python, ruby e Lua. Mas não acho nada assim em PHP!

Eu diria o contrario. Nunca cheguei a ganhar dinheiro com o PHP, so alguns trocados, mas te digo como foi uma linguagem que me abriu para o Java e C/C++, posso te dizer que me poe um grande sorriso no rosto. Alem desse fato, e uma linguagem que eu acho gostoso de programar e bem pratica para desenvolver websites, portais e ainda sim usada em varias coisas que preciso no dia a dia, como o moodle e a maioria dos programas web. Estranho como algo agrada um e nao outro ne? Entao nao podemos tomar como verdade nem mentira que ela nao poe o sorriso no rosto de alguem.


Se você escrevesse o que escreveu aqui sobre Smalltalk no blog do Osvaldo – programador de Python e Smalltalk – ele não seria tão educado quanto eu.

Legal... Tambem conheco varios programadores, ate mais bem famoso que o seu amigo que iriam rir vendo como o PHP foi falado aqui e nem por isso precisei ter comentado isso antes. Acho que gosto e gosto e eu nunca iria querer discutir com um adorador de Ferrari falando que Lamborgini e melhor, pois cada 1 tem seu gosto, e defende ele ate a morte, mesmo que esteja errado. Entao se seu amigo nao fosse educado, nao poderia fazer nada se nao ficar com pena dele pois mostraria que ele nao tem o minimo respeito e realmente nao entende que para cada tipo de aplicacao existe uma linguagem que se encaixa melhor, portanto fica ate dificil falar que 1 linguagem e superior a outra, pois depende do que queremos fazer....


Java é muito marketing mas foi graças a ela que uma grande massa de programadores e graduandos da área de Computação estão conhecendo várias técnicas importantíssimas para se ter um projeto manutenível.

As pessoas falam muito mal do Java por ele ser mais lento que o C++ ou ate por ter "roubado" o OO do Smalltalk, mas o que o Java traz de vantagem linguagem nenhuma ainda superou que e a portabilidade, e desempenho numa linguagem altamente difundida e bem padronizada, e por isso que o programador em Java e mais bem pago geralmente.

La Batalema Pitonisto disse...

Salve Lucas!

Estou gostando muito de conversar com você. Você tem umas idéias bem legais. Vamos então aos comentários.

1) Mercado

Realmente Lua não tem muito mercado... ainda.

2) Nacional

Eu não disse que você disse que nacional não presta, apenas apresentei esta justificativa (as pessoas em geral pensam assim) para Lua (ainda) não ter muito mercado no Brasil.

3) Modismo

Ainda acho que PHP é um modismo (reitero: admito que posso estar errado).

Mas não há como negar que é um modismo cômodo.

4) Sorriso no rosto

Se PHP abriu você (que expressão mais emo!) para Java, C e C++, então realmente é para colocar um sorriso no rosto.

Mas para quem (como eu) fez o caminho ao contrário, PHP é simplesmente frustrante.

C é uma linguagem poderosíssima (mais do que C++ e Java, apesar do senso comum pregar o contrário) e quando alguém parte dela para PHP (ou mesmo Java ou C++) surge um pouco de frustração que inibe o tal «sorriso no rosto».

Já Python, Ruby e Lua não geram esta frustração.

Creio que o contrário só se o cara estiver de forçação de barra.

5) Smalltalk x PHP

Há muitos programadores famosos de PHP por aí assim como há muitos atores medíocres em Hollywood, e isso se explica simplesmente com uma palavra: modismo.

Você não vai encontrar programadores famosos de Smalltalk (a não ser no MIT), somente programadores competentes.

6) Vantagens de Java?

Discordo totalmente.

Java não possui qualquer vantagem real.

Portabilidade? C é portatil quando o código é bem escrito – e disponibilizado ou quando o autor é consciente.

Python roda em máquina virtual, Lua roda em máquina virtual, Smalltalk roda em máquina virtual. Onde Java ganha nisso? Só em uma coisa: modismo.

O desempenho de Java é uma vergonha quando comparado a outras linguagens. Até hoje só programas em Java com bom desempenho quando compilados usando o gcc-gcj (que *não* gera bytecode).

Padronizada? Onde as outras linguagens citadas aqui não são?

Agora, quanto a ser bem pago, isso é indiscutível: um programador Java ganha bem pacas.

Mas precisa! Porque ele perde semanas para desenvolver um programa que faz a mesmíssima coisa que um programador de Python ou Perl faria em dois dias de forma mais eficiente.

Então é preciso pagar bem pelo tempo perdido do coitado do programador Java.

Quanto às aspas no «roubado», acho que você está entendendo mal.

Reinventar a roda é burrice, se algo existe e funciona, é legal usar.

O problema com Java e «roubo» é que a SUN e os javistas pegam conceitos desenvolvidos em outros meios e dizem que foram eles que inventaram.

Isso é roubo de propriedade intelectual.

[]'s

La Batalema Pitonisto disse...

Para quem ainda está acompanhando o desenrolar dessa história, o Ricardo Bánffy postou um artigo magnífico, que supera em muito «as doze mais»:

http://www.dieblinkenlights.com/artigos/projeto_de_ferias/html

Fica aí então a sugestão de leitura!

[]'s