Dobradinha: Encontro de Maio do Grupy-SP & Seminário C++ Portabilidade & Perfomance

12 05 2008

Concordo com o DQ que o gênio (ou genioso se preferir) Adelir de Carli é um Candidato a um Darwin Award, assim como concordo com o Christiano Anderson que o encontro do GruPy-SP no escritório do Google-SP foi excelente e principalmente com o Caloni que está na hora de reservar suas cadeiras para o Seminário C++ Portabilidade & Performance, afinal dentro de várias boas razões para se utilizar C++ uma delas é a Performance! Este post do Caloni é um bom começo, porém se preferir vá direto na fonte e faça sua inscrição na página do evento.

O curioso é que um dia antes irá ocorrer o encontro de Maio do Grupy-SP no Centro de Computação da Unicamp, em Campinas que irá durar o dia inteiro. Iniciar o final de semana na sexta com o encontro de Python e no sábado ir para o seminário C++ P&P será muito divertido!

Já me perguntaram num metrô, num shopping, numa livraria, num restaurante e por vários e-mails quando será o próximo encontro do EPA-CCPP, sinceramente fico feliz que os anteriores tenham agradado mas por enquanto não há nada definido, mas espero em breve ter boas novas sobre isto! E você não foi no último encontro? Tenha um overview pela cobertura que o nosso amigo Caloni deu no qual ele afirmou que nossa comunidade está ganhando forma, assim como recomendo uma visita a página do 4o.EPA_CCPP que contém link para as apresentações utilizadas, além de um excelente tutorial de QT e também link dos vídeos de 3 apresentações que ocorreram no encontro. E modéstia a parte, como o nosso colega nerd pós-moderno Lamarão afirmou; foi um Nerds Meeting que exalou inteligência! 🙂

Anúncios




Python & Android – Open Handset Alliance

7 11 2007

 

Depois de meses de boatos, felizmente o projeto de mobile do Google – a Plataforma Android [1] – não está tomando o caminho de tornar-se um forte candidato para entrar no próximo ranking da Wired de maiores Vaporwares do mercado [2], mas sim está no caminho de tornar-se uma feliz realidade. E penso que este projeto será muito feliz também para a vida do Python nos celulares, visto que os projetos existentes até o momento de Python para celulares e dispositivos móveis afins [3] era baseado em diversos projetos, nem sempre bem implementados; e sendo o Google um dos maiores entusiastas do Python alguns passos deste projeto ficam muito evidentes.

 

Com o Google tornando público a Open Handset Alliance [4], divulgando o pool de empresas associadas ao seu empreendimento, que vai de encontro com iniciativas anteriores de empresas como a Intel, Motorola, Samsung e NTT DoComo – que posteriormene se uniram no LiMo Foundation  ou apoiaram o OpenMoko – fazem parte da aliança e agora estão juntas, associadas com T-Mobile, Sprint Nextel, Telecom Itália, China Mobila, LG, HTC, eBay, nVidia, Qualcomm e Texas Instruments o projeto já começa a deixar todo muito muito empolgado pois tem indícios que ele não terá concorrência com outros projetos Open Source existentes e resta agora aguardar o que vai acontecer.

A respeito do que o Clifford, atual CEO, da Symbian afirmou do Android é apenas outra plataforma em Linux [5] ele não deixa de ter razão, porém desta vez esta iniciativa tem um bom líder de projeto, com características importantes para o sucesso desta iniciativa e isto é claro ele não vai assumir em público.

Ao meu ver esta fórmula tem tudo para dar certo, pois anteriormente, nestas iniciativas não havia uma empresa com boas características para conduzir o projeto com sucesso, muito pelo contrário, haviam várias empresas concorrentes que é uma composição que nem sempre funciona neste tipo de iniciativa. Estou com “os analistas”, que dizem que o Google talvez seja capaz de perturbar o status quo no setor de telefonia móvel e não acredito que ele está chegando tarde, muito pelo contrário, ele chegou no momento certo.

[1] Plataforma Android

[2] Maiores Vaporwares do mercado

[3] Python ara celulares e dispositivos móveis afins

[4] Open Handset Alliance

[5] Android é apenas outra plataforma em Linux

[6] Google pertubará o status quo no setor de telefonia móvel





IronPython (1.1) agora é suportado pelo SharpDevelop (2.2)

22 10 2007

Um importante addin que integra o IronPython no SharpDevelop 2.2 acaba de se lançado,  pelo que testei, acredito que esta é hoje a melhor opção de IDE para o IronPython. No blog do [1] Matt’s ele detalha um pouco sobre este addin e oferece alguns exemplos bem úteis, porém ele alerta que este trabalho ainda é beta e que o release oficial será para o SharpDevelop 3 suportando o IronPython 2.0.

[1] Blog do SharpDevelop Community Site





PythonBrasil: Primeira Linguaguem

10 05 2007

Num desavergonhado plágio de um resumo do Marinho de uma das discussão interessantes que rolou na lista PythonBrasil sobre a “primeira linguagem de programação” segue abaixo algumas declarações interessantes:
decopzp: ” A galera nas faculdades no meio de programação so fala em Java. Queria saber como começar a aprender Python, gostei muito só que estou com algumas duvidas em relação a classes methodos e etc…Na verdade que saber tudo como fazer o que fazer…Não aguento mais java”

Luciano Ramalho: “Em Java, existe uma aberração sintática chamada “inner classes” que foi parida para suprir a grotesca falta de um jeito de se passar funções como parâmetros. Apenas uma das diversas falhas gritantes de projeto da linguagem Java. Mas é uma ótima linguagem para quem está em busca de um emprego chato.

Agora sério: Java é um excelente substituto para C++. Empresas e instittuições que antes desenvolviam em C++ agora têm uma alternativa mais segura e confiável para seus projetos. Faz todo o sentido a Apache Foundation e a IBM usarem Java, por exemplo.

O grande erro que muitas empresas no mercado estão cometendo é substituir linguagens de mais alto nível por Java, e achando que a queda de produtividade é apenas passageira, enquanto a equipe não ganha fluência na linguagem.”

Rodrigo Senra: ” No contexto particular de ensino *introdutório* de programação, eu diria que Java como primeira linguagem é no mínimo nocivo.

> Java está na moda.

Piercing também está. Fumar já esteve na moda. Particularmente eu não sou um cara que liga para a moda. Prefiro mais a média, ou até mesmo a mediana ;o)

Em suma, o fato de Java estar na moda para mim só não é irrelevante porque me atrapalha. Atrapalha pois tenho que convencer semi-leigos de que o fato de Java estar na moda é irrelevante ;o) Eu não digo para o Padre qual vai ser o sermão, eu não digo para
o padeiro como fazer o pão nem para o médico qual o tratamento que quero receber antes dele dar o diagnóstico. O computeiro, apesar do nome cacofônico, merece respeito. Uma tecnologia ditada pela moda, e não fundamentada pela análise prática e teórica, é uma falta de respeito para a nossa classe.

> Ela é uma otima linguagem

Aqui concordo, ela tem seu nicho e suas vantagens. E ainda é melhor que *muita* linguagem por aí.

> Vamos com calma. Python está sendo usada em cursos
> introdutorios de programação pois é uma linguagem de fácil acesso…
> mas isso nao quer dizer que seja a melhor linguagem do mundo.

Melhor é um conceito extremamente dependente de contexto. No contexto de ensino introdutório, ainda não vi nada melhor do que Python.”

Luciano Ramalho: “tenho plena consciência de que existem milhões de programadores brilhantes que preferem Java. Mas eu não resisto a uma oportunidade de criticar o Java, exatamente porque “está na moda”.

Isso tem duas consequências lamentáveis, a meu ver:

(1) muitos gerentes que não sabem distinguir uma referência de um ponteiro escolhem Java para projetos que poderiam ser muito melhor resolvidos em PHP, Python, Ruby, Perl, VBScript etc, e acabam submetendo equipes inteiras de desenvolvedores a uma linguagem e uma API que são otimizadas para projetos imensos e complexos, e
consequentemente acabam induzindo projetos pequenos e simples a ficarem imensos e complexos também.

(2) é tão sofrido aprender e ficar produtivo em Java que muitos de programadores estão ficando sem vontade de aprender uma segunda, terceira ou quarta linguagem, com medo de passar pelo mesmo calvário de novo; pior, depois de suar tanto a camisa para aprender Java, muitos se convencem de que complexidade == qualidade, e que uma linguagem mais fácil de usar, como Python, tem que ser necessariamente inferior ou mais limitada, o que absolutamente não é verdade.”

Luciano Ramalho:
> E como ensinar herança múltipla, sobrecarga de operadores e tipagem
> dinâmica em uma linguagem que não os suporta/não os tem?

Sua lista de conceitos de OO está contaminada por uma perspectiva javista, Gleidson. Smalltalk, a primeira e até hoje uma das melhores linguagens orientadas a objeto já criadas tem tipagem dinâmica e não tem interfaces. C++ tem sobrecarga de operadores e não tem interfaces. Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
orientadas a objetos (*). Enfim, o que é essencial em uma linguagem orientada a objetos? A resposta não é simples, nem única.

> A questão do Java é meio que a popularidade dele.

Sim, é o que eu tenho dito: a popularidade do Java é ao mesmo tempo sua maior virtude e seu maior defeito. O defeito está no fato de qua a “popularidade” está levando milhares de empresas a usarem Java para desenolver aplicações que seriam feitas de forma muito mais simples com uma linguagem mais ágil, como Python, Ruby, Perl ou até mesmo PHP
e VBScript.

> É fácil achar um
> computador que tenha um ambiente java instalado. Agora vai achar um que
> tenha o python instalado pra poder rodar os programas?

A Microsoft parou de distribuir Java com o XP, lembra? Há anos o Java perdeu a vantagem de sair pré-instalado em milhões de máquinas Windows. No Linux, praticamente qualquer distribuição vem com Python, mas não com Java. E no MacOS X vem as duas.

> Fora que em Python não é compilado, então tens que
> dar o código-fonte para que alguém possa rodar seu programa.

Não é verdade. Python é compilado para um bytecode, assim como o Java. E eu posso distribuir este bytecode em vez do fonte. Mas existem ferramentas capazes de regenerar o código-fonte a partir do bytecode, tanto no caso do Java quanto no caso do Python. De qualquer forma, para 90% dos desenvolvedores essa questão é irrelevante, porque não
somos pagos para produzir software proprietário que vai ser vendido em caixinhas, e sim para desenvolver soluções customizadas para clientes, internos ou externos, que exigem o fonte de qualquer maneira.”

Luciano Ramalho:
> Ninguém pode dizer que Smalltalk e C++ não são exemplos de linguagens
> orientadas a objetos (*).

Faltou explicar o (*)…

O Alan Kay, líder da equipe que criou Smalltalk, uma vez disse:

“I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.”

“Eu inventei o termo Orientado a Objetos, e posso lhe dizer que não estava pensando em C++.”

Se tem alguém que pode dizer o que é ou deixa de ser OO, é o Alan Kay.”

Luciano Ramalho: “Gleidson, talvez vc não saiba ou passou batido, mas interfaces são uma gambiarra no java para fornecer herança multipla. A unica coisa que é bom em interfaces é que elas fornecem duck typing para java, o que não é necessario em python justamente por causa da tipagem dinamica.”

DANIEL: Não sou da UFRGS mas vou expressar minha opinião quanto a adotar python como
primeira linguagem. Bem, aprendi python a pouco tempo, cerca de 1 ano, antes
só mexia com C. Apesar da linguagem python possibilitar programação
procedural, a quebra de paradigma Procedural-para-OO foi a coisa mais
difícil que tive de aprender quando comecei a estudar python. É claro que C
não é uma linguagem que vá morrer tão facilmente, na minha opinião, logo
também concordo com o que o Senra disse dias atrás, sobre C+Python. Se é um
caso de sucesso em um lugar pode se tornar em vários outros. Quanto ao que o
Ricardo disse, creio que há matérias específicas tais como
(Microcontroladores, Microprocessadores etc) que cuidam da aproximação
aluno-hardware. Na minha opinião se Assembly fosse ministrado nos primeiros
períodos poderia surgir dois comportamentos da turma, ou eles seriam
desestimulados ou se tornariam hackers.

Fábio: Vindo python ou assembly, a dor do baixo nível será praticamente a mesma…

Agora, se não for necessário “baixar o nível”, o python é ótimo como
primeira linguagem…

Temos como exemplo prático a Sociesc, em Joinville.
A minha turma pegou a época do C++…… e o resultado? muita dificuldade e
desânimo…
Conheço alunos, das turmas mais novas, que começaram com o Python.
O entusiasmo é completamente outro. Os alunos conseguem fazer as coisas
acontecerem de maneira mais fácil.

Outra metáfora que pode ilustrar aqui é o de comparar um sedã, uma scania e um trator. Digamos que o Python seja o sedã, o Java seja a scania e o C seja o trator: cada um tem sua aplicabilidade.