
Esbarrei com este projeto que achei bastante interessante, como um link às vezes é mais verboso do que mil palavras:
- Droplet

Talvez um teco influenciado pelo documento “Prospectiva Estratégica, Metodologia de Descrição de Cenários” temperada a puro palpite visionário, outro dia quando na piclistbr o Mak lançou esta:
1996 – um supercomputador usava 10 mil processadores Pentium Pro clocados a
200 MHz pra atingir 1 teraflops (um trilhão de operações matemáticas por
segundo). ocupava um andar inteiro de um laboratório no Novo México. Ele
consumia absurdos 500 kW e, pasme, mais 500 kW só de cooler, ar-condicionado
e tudo o mais para manter a sala geladinha e não pifar a bagaça.
2008 – uma Radeon HD 4870, placa de video das mais rápidas atualmente,
atinge esse mesmo número de flops com apenas um chip. A placa de vídeo da
AMD, assim como as outras dessa categoria, cabe num slotzinho PCI Express e
gasta 110 watts, o que já é uma cavalice.
2015 – tentem fazer uma projeção…
Fonte: PAPO DE MICREIRO: O lado hardcore da tecnologia, Placa de vídeo ou arma de detonação em massa? por Marco Aurélio Zanni
E lancei o seguinte cenário:
2050: Life, the Universe and Everything: q-bits e processamento de
chuckflops por segundo serão triviais. Seth Lloyd e Miguel Nicolelis
serão mais populares que Von Newman e Alan Turing. Haverá dispositivos
computacionais com processamento de chuckflops do tamanho de um
alfinente usados como implantes com baterias recarregáveis via
wireless. Todo boteco terá um recarregador wireless. Estes implantes
computacionais usarão o protocolo 802.11xyz para se conectar com a
spacenet, seja da Terra ou de Marte e a segunda língua mundial será o
chinês. Via 802.11xyz q-telepatia será algo muito comum; porém isto
será coisas para os jovens, a galerinha de 80 e 90 anos ainda usará
menssegers baseado nos protocolos XMPP em seus handhelds.
A plebe ainda usará estes dispositivos de 2015, com PCs digitais com
placas de vídeo com meros 100 teraflops consumindo os exagerados 70
Watts, utilizando toda a arcaica tecnologia digital binária. Ainda
existirão analfabetos digitais e ONGs lutando contra a fome mundial,
isto em 2050.
2100: Em 2100 os Estados Unidos elegerá o primeiro presidente
marciano, descendente de terráqueos chineses e brasileiros, que foram
para a colônia marciana em 2060, que se promoveu a base de q-telepatia.
(…)
OK: Para justificar este minha prospecção eu teria que escrever um relatório de mais de 100 páginas, mas está aí um cenário factível, não exatamente nestas datas e com esta terminologia, mas num futuro não muito distante.
Ao lidar com um registro em um relátorio esta semana, onde havia uma afirmação muito pitoresca onde um ilustre colega registrou que 100% do que foi discutido nas reuniões (que ele não participou) estava implementando num dado sistema, comecei a pensar em muitas coisas! Dentre elas que não estou documentando certos fatos de alguns eventos que tenho participado, colaborado na organização ou dado apoio moral… então, vamos lá! Ainda está em tempo…
Algo no qual eu estava pensando em blogar já a alguns dias é sobre o Quinto Encontro de Programadores do grupo C & C++ Brasil, que foi um evento único pra nós do grupo, tanto pelo patrocínio do MSDN Brasil e da Agit Informática, quanto pela evolução da organização do mesmo. Porém por um acaso acabei vendo que o Jumpi já havia feito uma cobertura, e o Caloni fez uma chamada para a thread que ocorreu na cppbrasil onde nossos amigos (e inclusive eu) deixamos nossas notas sobre o encontro, mas deixarei aqui alguns registros extras e outras observaões pessoais:
- Gostei muitissimo do keynote do Otávio Pecego Coelho. Recentemente uma faculdade me procurou para que eu palestrasse para eles sobre C & C++ e o formato que eu pensei em adotar foi justamente o formato adotado pelo Otávio, comentando sobre a experiência profissional dele com as linguagens e utilizando como referêncial alguns livros clássicos e como eles colaboraram ou influenciaram os rumos que ele tomou. Portanto, se alguém me ver fazendo algo similar, não é plágio!
- A apresentação do Strauss para mim teve uma emoção extra, pois devido a um probleminha técnico ocorrido com o som, corri feito louco para tentar ajudar a resolver, infelizmente o máximo que consegui foi pedir para a pessoa certa solicitar ajuda para o técnico de som. Mas isto me fez pensar sobre vários detalhes e posteriormente o Pedro Lamarão chamou para mais alguns detalhes que conversamos rapidamente com o pessoal do grupo, são n cossitas mas que fazem diferença. Portanto involuntariamente o Strauss acabou nos brindando com este incidente em sua apresentação.
- A presença das garotas foi algo que nos chamou a atenção, além de não ser comum ter 17% do público de encontro de programadores composto por garotas, ainda mais de C e C++, as que se inscreveram compareceram. Curioso, não? Por outro lado, a galera do sexo masculino não fez o mesmo. Portanto, foram eles que nos fizeram encerras as inscrições quando muitos ainda queriam se inscrever…
- Neste evento, pela primeira vez em público comentei sobre a Conferência C & C++ Brasil que acontecerá nos dias 17, 18 e 19 de fevereiro de 2009 em São Paulo, no Centro de Convenções Novotel Jaraguá e que terá algumas paricipações bem interessantes. Sendo este um assunto que merece um post único, assim que mais alguns detalhes forem acertados lançarei tal post.
- Um assunto que várias vezes veio a tona foi a dificuldade de encontrar profissionais qualificados, situação existente em vários contextos da indústria atual, com a tal desaleceração econômica prevista pelos gurus que quase nunca acertam algo ao não ser que seja um elefante rosa passeando em praça pública, talvez esta procura diminua um pouco, mas mesmo assim a dificuldade permanecerá. Mas sendo prático, 7 colegas comentaram que suas empresas estava buscando programadores de C e/ou C++, e alguns colegas foram até assediados. Mais uma vez, divulguei a lista Dev Guys que é o canal que nós da ccppbrasil está utilizando para direcionar as divulgações de vagas e que os colegas do portal embarcados também tem utilizado.
- Há centenas de fotos (muitas repetidas), assim como vídeos que a Ying da USP gentilmente filmou para nós. Gradualmente colocaremos tudo no ar, sendo que as fotos na próxima semana já estarão disponíveis no nosso album de fotos em http://picasaweb.google.com/ccppmeetings não estando lá ainda apenas por uma pequena questão logística.
Neste encontro, sorteamos os adesivos que o Jeff Atwood do blog Coding Horror nos doou, assim como mais algumas coisinhas que nos doaram para sortear como: livros da O´Reilly, Pearson Education, vários badulaques da MSDN Brasil , entre chaveiros, canetas e uma Mochila, um livro cedido pelo Roberto Santos e um livro autografado do Herb Sutter que ganhamos certa vez da Microsoft (por intermédio do Adlich) que utilizamos para homenagear os esforços do Lamarão a nossa causa.
Com certeza esqueci de algumas coisas, portanto leiam o blog do Jumpi e a thread no grupo ccppbrasil para se interar um pouco mais sobre o assunto. E é isto.
Namaste!
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!
Já eternizado por seu trabalho a décadas, desde os tempos que o primeiro satélites de comunicação geo-estacionário entrou em órbita, a morte de Artur C. Clarke me fez romper o estado de ostracismo que eu estava com meu blog. Um dos grandes ídolos da ficção cientítica, considerado um dos grandes gênios da humanidade, ele foi um dos grandes autores e sua clássica máxima “a vida é como uma nova órbita em torno do sol” sempre me marcou, tanto que era frase que eu tinha no header de meu primeiro e esquecido blog.
Depois de reunir programadores de C & C++ num encontro no formato technical meeting, o Sampa C & C++ ruiu de vez, o grupo C & C++ Brasil ganhou mais força, resoluções importantes surgiram e já estamos em ritmo de DevTech 2008 onde estaremos presentes numa mesa redonda sobre o VC++ no Visual Studio 2008 e já está sendo preparado o 4o.Encontro de Programadores C & C++ que acontecerá no dia 29/03 e das atividades em programação teremos as seguintes palestras:
Além das seguintes atividades extras:
Maiores detalhes na página do evento no wiki do grupo C & C++ Brasil.
E o movimento para replicar a iniciativa em outros locais está indo de vento em popa, assim como já está surgindo a idéia de organizar uma estrutura para amparar todos os encontos realizados com a bandeira do grupo C & C++ Brasil.
Em 9 de fevereiro vai acontecer a primeira uCon, conferência de
segurança da informação, hacking e tecnologia realizada em Recife, PE.
A conferência não tem fins lucrativos, não terá palestras de empresas
tentando vender produtos e a entrada é gratuita.
Call for participation: http://ucon.thebugmagazine.org/cfp.php
Ocorrerá em São Paulo no dia 19 de Janeiro de 2008, a terceira edição do encontro de usuários de C/C++ associados ao grupo C/C++ Brasil, isto é o 3º Sampa C/C++ Users Groups – Meeting.
Esta 3ª edição, sendo a primeira no formato de reunião técnica com palestras, está focada na linguagem C++ e terá seguinte programação:
Os temas são avançados para usuários iniciantes, porém todos os usuários de C++ dispostos a participar são bem vindos!
A entrada é gratuita e a realização será no auditório da APEOSP que fica na Praça da República, 282, Centro – São Paulo.
Este evento conta com o patrocínio da AGIT Informática – Desenvolvimento, Consultoria & Treinamentos em C/C++ (www.agit.com.br)
Para maiores informações vejam o respectivo link no site C/C++ Brasil

Jogos mentais? Uma dos trabalhos que o pessoal do Media Lab – MIT Europa [1] tem desenvolvido é uma plataforma chamada MindGames onde eles desenvolvem tecnologias que podem expandir e melhorar o potencial humano, baseado em sinais gerados pelo corpo para interagir com as tecnologias. Muito interessante, mas no fundo fico pensando “quando” estas tecnologias serão realmente massificadas.
[2] MindGames
Após uma semana do início das especulações sobre a realizaçaõ do C/C++ Conference o que era uma idéia pra um evento de 1 dia parece ser pequeno pelo feedback e pelo retorno recebido até agora sobre a iniciativa.
Estou bastante “empolgado” com o feedback recebido até o momento, ao menos em matéria de conteudo tenho certeza que este será um grande evento. Em breve postarei mais novidades sobre o assunto.
Por isto eu não imaginava, o código fonte do sistema operacional MULTICS (Multiplexed Information and Computing Service) foi aberto pelo MIT! Pedra fundamental de toda uma nova geração tecnológica, este projeto (e a lentidão em sua conclusão que foi encarada como fracasso inicial por alguns) inspirou o desenvolvimento do UNICS por Ken Thompson utilizando seu tempo ocioso num PDP-7 esquecido, que era um MULTICS numa arquitetura mais simplista. A grande prova de conceito da linguagem C recém criada por Brian Kernighan foi a reescrita do UNICS que foi rebatizado de UNIX, como todos já sabem.
“Quem programou em C ou C++ já esbarrou nesta categoria de erro: buffer overflows que podem vir acompanhados” (ou não de) outros problemas como ponteiros não inicializados, memory leaks, etc e como afirma o David LeBlanc “toda vulnerabilidade pode ser explorada até que se prove o contrário”, portanto codificar de forma segura e debugar é preciso! Entre algumas dicas já oferecidas aqui anteriormente, segue um artigo bem interessante do Savago onde ele trata de um específico tipo de buffer overflow e ele aborda o Mudflap e cita o Valgrind, que é uma ferramenta recomendada pelo Michael Behm como ferramenta para detectar problemas de memória.
[1] Detectando buffer over/underflow em C e C++ com ferramentas OpenSource
[2] Mudflap
[3] Valgrind
[4] Using valgrind to detect and prevent application memory problems


Já pensou em controlar os slides de sua apresentação com o celular? E num controle do seu desktop como celular inclusive com a opção de tirar screenshots de suas sessões?
Pois é exatamente isto que o projeto AMORA [1] (A Mobile Remote Assistant) do Adenilson Cavalcanti proporciona. Particularmente, vi uma apresentação da aplicação do próprio mantenedor (o Adenilson) no CONINSLI e achei a aplicação bastante interessante.

Recentemente fiz uma revisão de código onde encontrei sprintf, gets, strcat e strcpy para todos os cantos, além de outros pecados mortais. Não houve como não lembrar dos capítulos “os formatadores de strings da Granja Solar” do livro Exceptional C++ Style (que traduzido para o pt-br virou Programação Avançada em C++) do Herb Sutter, onde de uma forma divertida ele cita George Orwell:
“Todos os animais são iguais, mas alguns são mais iguais do que outros”
Descontando os detalhes não tão óbvios, sobre strings, com várias fontes bibliográficas (inclusive em português) não acreditei na quantidade de código inseguro que encontrei num software comercial, mas é como diz o Jeff Atwood do Coding Horror [1] para encontrar código inseguro, basta procurar!
Fonte: Telegraph – Top 100 living geniuses
Uma empresa britânica de consultoria chamada Creator Synetics, fez uma pesquisa e compilou uma lista dos 100 maiores gênios vivos do mundo e o resultado foi bastante inusitado.
Nela, há apenas um brasileiro o arquiteto Oscar Niemeyer (que com certeza ele apareceu por estar em evidência pelo seu centenário) e o mais curioso é que quem está em primeiro lugar é nada mais nada menos de que o inventor do LSD empatado com Tim Berners-Lee.
Larry Page & Sergey Brin do Google aparecem em 20º lugar, Steve Wozniark aparece em 67º lugar empatado com os músicos David Bowie, Aretha Franklin e com a economista americana Emily Oster e o hilário é que Bill Gates aparece emptado com Osama Bin Laden, Mohamed Ali, com o escritor americano Philip Roth, com o invetor do microfone James West e com um cientista vietnamita chamado Tuan Vo-Dinh.
Segue abaixo esta “bizarra” lista:
| 1= | Albert Hoffman | (Swiss) | Chemist | 27 |
| 1= | Tim Berners-Lee | (British) | Computer Scientist | 27 |
| 3 | George Soros | (American) | Investor & Philanthropist | 25 |
| 4 | Matt Groening | (American) | Satirist & Animator | 24 |
| 5= | Nelson Mandela | (South African) | Politician & Diplomat | 23 |
| 5= | Frederick Sanger | (British) | Chemist | 23 |
| 7= | Dario Fo | (Italian) | Writer & Dramatist | 22 |
| 7= | Steven Hawking | (British) | Physicist | 22 |
| 9= | Oscar Niemeyer | (Brazilian) | Architect | 21 |
| 9= | Philip Glass | (American) | Composer | 21 |
| 9= | Grigory Perelman | (Russian) | Mathematician | 21 |
| 12= | Andrew Wiles | (British) | Mathematician | 20 |
| 12= | Li Hongzhi | (Chinese) | Spiritual Leader | 20 |
| 12= | Ali Javan | (Iranian) | Engineer | 20 |
| 15= | Brian Eno | (British) | Composer | 19 |
| 15= | Damian Hirst | (British) | Artist | 19 |
| 15= | Daniel Tammet | (British) | Savant & Linguist | 19 |
| 18 | Nicholson Baker | (American | Writer | 18 |
| 19 | Daniel Barenboim | (N/A) | Musician | 17 |
| 20= | Robert Crumb | (American) | Artist | 16 |
| 20= | Richard Dawkins | (British) | Biologist and philosopher | 16 |
| 20= | Larry Page & Sergey Brin | (American) | Publishers | 16 |
| 20= | Rupert Murdoch | (American) | Publisher | 16 |
| 20= | Geoffrey Hill | (British) | Poet | 16 |
| 25 | Garry Kasparov | (Russian) | Chess Player | 15 |
| 26= | The Dalai Lama | (Tibetan) | Spiritual Leader | 14 |
| 26= | Steven Spielberg | (American) | Film maker | 14 |
| 26= | Hiroshi Ishiguro | (Japanese) | Roboticist | 14 |
| 26= | Robert Edwards | (British) | Pioneer of IVF treatment | 14 |
| 26= | Seamus Heaney | (Irish) | Poet | 14 |
| 31 | Harold Pinter | (British) | Writer & Dramatist | 13 |
| 32= | Flossie Wong-Staal | (Chinese) | Bio-technologist | 12 |
| 32= | Bobby Fischer | (American) | Chess Player | 12 |
| 32= | Prince | (American) | Musician | 12 |
| 32= | Henrik Gorecki | (Polish) | Composer | 12 |
| 32= | Avram Noam Chomski | (American) | Philosopher & linguist | 12 |
| 32= | Sebastian Thrun | (German) | Probabilistic roboticist | 12 |
| 32= | Nima Arkani Hamed | (Canadian) | Physicist | 12 |
| 32= | Margaret Turnbull | (American) | Astrobiologist | 12 |
| 40= | Elaine Pagels | (American) | Historian | 11 |
| 40= | Enrique Ostrea | (Philippino) | Pediatrics & neonatology | 11 |
| 40= | Gary Becker | (American) | Economist | 11 |
| 43= | Mohammed Ali | (American) | Boxer | 10 |
| 43= | Osama Bin Laden | (Saudi) | Islamicist | 10 |
| 43= | Bill Gates | (American) | Businessman | 10 |
| 43= | Philip Roth | (American) | Writer | 10 |
| 43= | James West | (American) | Invented the foil electrical microphone | 10 |
| 43= | Tuan Vo-Dinh | (Vietnamese) | Bio-Medical Scientist | 10 |
| 49= | Brian Wilson | (American) | Musician | 9 |
| 49= | Stevie Wonder | (American) | Singer songwriter | 9 |
| 49= | Vint Cerf | (American) | Computer scientist | 9 |
| 49= | Henry Kissinger | (American) | Diplomat and politician | 9 |
| 49= | Richard Branson | (British) | Publicist | 9 |
| 49= | Pardis Sabeti | (Iranian) | Biological anthropologist | 9 |
| 49= | Jon de Mol | (Dutch) | Television producer | 9 |
| 49= | Meryl Streep | (American) | Actress | 9 |
| 49= | Margaret Attwood | (Canadian) | Writer | 9 |
| 58= | Placido Domingo | (Spanish) | Singer | 8 |
| 58= | John Lasseter | (American) | Digital Animator | 8 |
| 58= | Shunpei Yamazaki | (Japanese) | Computer scientist & physicist | 8 |
| 58= | Jane Goodall | (British) | Ethologist & Anthropologist | 8 |
| 58= | Kirti Narayan Chaudhuri | (Indian) | Historian | 8 |
| 58= | John Goto | (British) | Photographer | 8 |
| 58= | Paul McCartney | (British) | Musician | 8 |
| 58= | Stephen King | (American) | Writer | 8 |
| 58= | Leonard Cohen | (American) | Poet & musician | 8 |
| 67= | Aretha Franklin | (American) | Musician | 7 |
| 67= | David Bowie | (British) | Musician | 7 |
| 67= | Emily Oster | (American) | Economist | 7 |
| 67= | Steve Wozniak | (American) | Engineer and co-founder of Apple Computers | 7 |
| 67= | Martin Cooper | (American) | Inventor of the cell phone | 7 |
| 72= | George Lucas | (American) | Film maker | 6 |
| 72= | Niles Rogers | (American) | Musician | 6 |
| 72= | Hans Zimmer | (German) | Composer | 6 |
| 72= | John Williams | (American) | Composer | 6 |
| 72= | Annette Baier | (New Zealander) | Philosopher | 6 |
| 72= | Dorothy Rowe | (British) | Psychologist | 6 |
| 72= | Ivan Marchuk | (Ukrainian) | Artist & sculptor | 6 |
| 72= | Robin Escovado | (American) | Composer | 6 |
| 72= | Mark Dean | (American) | Inventor & computer scientist | 6 |
| 72= | Rick Rubin | (American) | Musician & producer | 6 |
| 72= | Stan Lee | (American) | Publisher | 6 |
| 83= | David Warren | (Australian) | Engineer | 5 |
| 83= | Jon Fosse | (Norwegian) | Writer & dramatist | |
| 83= | Gjertrud Schnackenberg | (American) | Poet | 5 |
| 83= | Graham Linehan | (Irish) | Writer & dramatist | 5 |
| 83= | JK Rowling | (British) | Writer | 5 |
| 83= | Ken Russell | (British) | Film maker | 5 |
| 83= | Mikhail Timofeyevich Kalashnikov | (Russian) | Small arms designer | 5 |
| 83= | Erich Jarvis | (American) | Neurobiologist | 5 |
| 91=. | Chad Varah | (British) | Founder of Samaritans | 4 |
| 91= | Nicolas Hayek | (Swiss) | Businessman and founder of Swatch | 4 |
| 91= | Alastair Hannay | (British) | Philosopher | 4 |
| 94= | Patricia Bath | (American) | Ophthalmologist | |
| 94= | Thomas A. Jackson | (American) | Aerospace engineer | 3 |
| 94= | Dolly Parton | (American) | Singer | 3 |
| 94= | Morissey | (British) | Singer | 3 |
| 94= | Michael Eavis | (British) | Organiser of Glastonbury | 3 |
| 94= | Ranulph Fiennes | (British) | Adventurer | 3 |
| 100=. | Quentin Tarantino | (American) | Filmmaker | 2 |
É possível deixar o seu *nix com cara de Mac OS X? Sim, é possível!
Resolvi fazer a experiência e até agora estou gostando, para saber como fazer vá em Make Your Linux Desktop Look Like A Mac – Mac4Lin Project Documentation e siga passo-a-passo.

[1] Make Your Linux Desktop Look Like A Mac – Mac4Lin Project Documentation
[2] http://sourceforge.net/projects/mac4lin
Sou um entusiasta do F#, pois foi a linguagens mais próxima de OCAML que encontrei e gostei muito das experiências que tive com ela, porém foram experiências de pesquisa muito pontuais.
Algo que tenho visto com freqüência nos últimos anos, é que certas buzzwords são proclamadas aos quatro ventos, nem sempre vinculadas a verdadeiras inovações, porém quando os produtos que implementam estas as tecnologias são efetivamente disponibilizados ou estes não obtém o devido o sucesso comercial esperado ou as features não são utilizadas da forma devida.
Um destes exemplos são os serviços de Spatial Data Mining e GIS, Serviços de Informação Geográfica, que efetivamente não teve o proclamado “boom”. Situação que o Google, a Microsoft e o Yahoo talvez ajudem a reverter com suas iscas de GIS.
Ultimamente tenho ouvido muito falar de mashups, o conceito é interessante, tenho lido e ouvido falar muito a respeito dele, a Gartnet aponta o conceito como uma das grandes tendências e recentemente no Microsoft Track o Otavio Pecego Coelho enfatizou o tempo todo, assim como S+S, ESB, ISB, SAAS e web 2.0. Porém, tenho minhas dúvidas se os provedores de soluções irão obter grande sucesso na implementação de mashups com sucesso efetivo, porém a Microsoft tem trabalhando em sua grande isca; o Popfly [1]
Da mesma forma, eu já estava comentando recentemente com um amigo, que as linguagens dinâmicas estão surgindo porém não se vê muito comentar sobre algoritmos de programação dinâmica e agora está chegando a vez das linguagens funcionais, até então popular no meio acadêmico e que fora dele sempre tem conquistado o seu WPT,vide o post tem para todos gostos [2] do Straus; onde ele questiona a utilização do OCAML no ICFP.
Por um acaso vi o post Renascimento [3] do Otávio que aborda justamente este sentimento. Como comentei num post anterior , acho que quando o Somasegar [4] afirma que uma das expectativas sobre o F# é consquistar mais o espaço acadêmico, é porquê o próprio pessoal da Microsoft sabe que sua utilização será mais pontual no meio científico. Talvez eles obtenham sucesso por um fator extremamente significante; o Visual Studio e o MSDN AA (Academy Alliance). Uma resposta a esta iniciativa, pode ser uma maior investida do EclipseFP ou Eclipse OCaML [5], agora é só ver o que acontece se a ajuda da Microsoft será direto (na adoração do F#) ou indireto; via o fortalecimento do OCAML.
Façam suas apostas!
)
[1] Popfly
[3] Renascimento
Novembro é mes de Segurança na revista MSDN Magazine e após ler alguns artigos, realmente nenhum me chamou tanto a atenção quanto um artigo do ano passado do “Michael Howard” que aborda:
* Uso de ferramentas de análise e especialistas para rever seu código
* Redução do risco utilizando difusão e modelagem de ameaça
* Manutenção da entrada errada fora dos aplicativos
* Aprendizado de tudo sobre conceitos de segurança
Sinceramente, vale a pena “estudar” o artigo, pois apesar dos conceitos não serem novos a abordagem do Michael Howard está muito boa.
E aproveitando, já que o Howard é um dos pais do SDL [2] recomendo a leitura dos blog do SDL Team e principalmente o post que trata um relatório do governo americano chamado State of the Art of Software Security Assurance que dá muito destaque ao SDL.
De qualquer forma na revista deste último ano, também há um artigo dele bem interessante que é o [5] “Lessons Learned from Five Years of Building More Secure Software” ou lições aprendidas em 5 anos de criação de softwares mais seguros, no geral a revista está interessante mas me agradou menos do que a de 2006.
[1] MSDN Magazine – 8 Regras simples para o desenvolvimento de código mais seguro
[2] Trustworthy Computing Security Development Lifecycle
[3] SDL Team
[4] “State of the Art of Software Security Assurance” Report
[5] Lessons Learned from Five Years of Building More Secure Software
O Somasega (VP de desenvolvimento corporativo da Microsoft que é responsável pelo desenvolvimento do Visual Stúdio) anunciou na semana passada [1] que finalmente a Microsoft irá integrar sua linguagem de programação funcional – o F# [2] do Don Syme [3] Microsoft Research – nativamente ao Visual Studio com o suporte do Microsoft Forms Team.
Após alguns recursos inspirados em linguagens funcionais serem implementados no C# e no .Net como as expressões lambda, generics, LINQ e o Parallel FX este projeto avança dentro da estratégia do Visual Studio e Somasega deixa explícito que “uma” das motivações deles é conquistar o espaço acadêmico com o F# em conjunto com o IronPython e do IronRuby.
Considerando que as linguagens de programação funcionais tem estado mais restritas ao meio acadêmico do que no desenvolvimento de software comercial “talvez” este pode ser o princípio de alguma quebra de paradigmas, obviamente nos nichos onde este paradigma de programação seja mais adequada em contraponto a programação imperativa; visto que esta iniciativa pode colocar as linguagens funcionais em maior evidência, porém isto só o tempo dirá…
[1] F# – A Functional Programming Language
[3] Don Syme’s WebLog on F# and Other Research Projects
[4] S. Somasegar on taking F# forward
[5] Conception, evolution and application of functional programming languages
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.
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.