- "A programação hoje em dia é uma corrida entre engenheiros de software tentando fazer programas maiores e melhores a prova de idiotas e o universo tentando fazer idiotas maiores e melhores. Até agora o universo está ganhando." - Rick Cook
- "Andar sobre as águas e fazer software a partir de uma especificação é simples se ambas estiverem congeladas."- Edward V Berard
- "Uma linguagem de programação é de baixo nível quando exige atenção com o irrelevante." - Alan J. Perlis
- "Um programa em C é como uma dança rápida sobre chão encerado, executada por pessoas segurando navalhas." - Waldi Ravens
- "Eu sempre desejei que o meu computador fosse tão fácil de usar quanto o meu telefone; meu desejo se tornou realidade pois eu não consigo mais usar o meu telefone." - Bjarne Stroustrup
- "O estudo da ciência da computação não consegue transformar qualquer um em um excelente programador, da mesma forma que o estudo de tintas e pinceis não transforma qualquer um em um excelente pintor." - Eric S. Raymond
- "Não se preocupe se não funcionar direito. Se tudo funcionasse, você estaria desempregado." - Lei de Mosher da Engenharia de Software
- "Certo, Java PODE ser um bom exemplo do que uma linguagem de programação deve ser. Mas as aplicações escritas em java são um bom exemplo de como as aplicações NÃO DEVEM ser." - pixadel
- "Considerando o triste estado dos programas de computador, o desenvolvimento de software claramente ainda é uma arte obscura que ainda não pode ser chamada de uma disciplina de engenharia." - Bill Clinton
- "O uso de COBOL deteriora a mente; o seu ensino deve, portanto, ser considerado uma ofensa criminal." - E.W. Dijkstra
- "A versão orientada a objeto do 'código espaguete' é o 'código lasanha' - camadas em excesso" - Roberto Waltman
- "FORTRAN não é uma flor, mas sim uma erva daninha - é dura, raramente floresce e aparece em todo computador." - Alan J. Perlis
- "Por muito tempo eu não entendi como algo tão caro pudesse ser tão inútil. Aí eu percebi que os computadores são máquinas estúpidas capazes de fazer coisas incrivelmente inteligentes; enquanto que os programadores são pessoas inteligentes capazes de fazer coisas incrivelmente estúpidas. Em resumo, nasceram um para o outro." - Bill Bryson
- "Na minha opinião egoísta, os programas em C da maioria das pessoas deveria ser identado 6 pés para baixo e coberto de terra." - Blair P. Houghton
- "A evolução das linguagens: FORTRAN é uma linguagem não tipada. C é uma linguagem fracamente tipada. Ada é uma linguagem fortemente tipada. C++ é uma linguagem cuja utilidade é fortemente exagerada." - Ron Sercely
- "O bom projeto adiciona valor mais rápido do que custo." - Thomas C. Gale
- "Falar é fácil. Mostre-me o código." - Linus Torvalds
- "A perfeição é atingida não quando não se tem mais o que colocar, mas sim quando não se tem mais o que tirar." - Antoine de Saint-Exupéry
- "C é excêntrico, defeituoso e um enorme sucesso." - Dennis M. Ritchie
- "Na teoria, teoria e prática são iguais. Na prática, não." - Yogi Berra
- "Você não consegue um grande software sem uma grande equipe, e a maioria das equipes de software se comporta como famílias disfuncionais." - Jim McCarthy
- "PHP é um mal menor criado e executado por amadores incompetentes, enquanto que Pearl é um grande e perversivo mal executado por profissionais habilidosos mas pervertidos." - Jon Ribbens
- "Pearl - A única linguagem que parece a mesma antes ou depois de ser criptografada." - Keith Bostic
- "Eu inventei o termo 'orientado a objeto', e garanto que não tinha em mente o C++." - Alan Kay
- "Aprender a programar tem a ver com desenvolvimento de software interativo tanto quando aprender a datilografar tem a ver com a escrita de poesia." - Ted Nelson
- "Fique atento para bugs no código acima; eu apenas provei que ele está correto, eu não o testei." - Donald E. Knuth
- "Análise de sistemas é como criar uma criança; você pode fazer um estrago imenso mas não pode garantir sucesso." - Tom DeMarco
- "Não me interessa se roda na sua máquina! Nós não estamos entregando a sua máquina!" - Vidiu Platon
- "Medir o progresso de um programa por linhas de código é como medir o processo de montagem de um avião pelo peso." - Bill Gates
- "A complexidade de depurar é o dobro da de escrever o código. Portanto, se você escrever código os mais inteligente possível, por definição você não será esperto o suficiente para depurá-lo." - Brian W. Kernighan
- "A maioria dos softwares atuais são como as pirâmides do Egito, com milhões de blocos empilhados um em cima dos outros, nenhuma integridade estrutural, feita apenas pela força bruta e milhares de escravos." - Alan Kay
- "O problema com os programadores é que você nunca consegue saber o que eles estão fazendo antes de ser tarde demais." - Seymour Cray
- "Em duas ocasiões [os membros do Parlamento] me perguntaram: 'Diga, Sr Babbage, se eu entrar na máquina números errados ela conseguirá sair as respostas corretas?' Eu não sou capaz de entender a confusão mental capaz de gerar este tipo de pergunta." - Charles Babbage
- "Codifique sempre como se o cara que for dar manutenção seja um psicopata violento que sabe onde você mora." - Martin Golding
- "Existem duas maneiras de construir um projeto de software. Uma é fazê-lo tão simples que obviamente não há falhas. A outra é fazê-lo tão complicado que não existem falhas óbvias." - C.A.R. Hoare
Mostrando postagens com marcador Listas. Mostrar todas as postagens
Mostrando postagens com marcador Listas. Mostrar todas as postagens
domingo, dezembro 19, 2010
Lista: 35 Frases Sobre Programação
Lendo uma lista de 50 frases sobre programação, resolvi selecionar algumas e apresentá-las traduzidas; qualquer que seja a linguagem da sua preferência vai sobrar para ela também:
terça-feira, setembro 02, 2008
Seis Problemas com Lojas On-line
Embora as lojas on-line (ou lojas virtuais ou etc) não sejam nenhuma novidade, é frequente me defrontar com alguns problemas. Segue abaixo uma lista desorganizada de alguns deles:
Buscas excêntricas
Vários sites são extremamente sensíveis à grafia dos termos de busca. Outros são sensíveis de menos e acabam retornando uma quantidade imensa de itens não relevantes. Para complicar, poucos possuem uma "busca avançada" com critérios adicionais de busca.
Emails de confirmação não confiáveis
Todos os sites dizem que estão enviando um e-mail de confirmação do pedido, porém em várias compras num site "famoso" não veio nada. Para contrabalançar, teve um outro site que enviou a confirmação uma meia dúzia de vezes. O que parece não falhar são os e-mails de propaganda.
Endereços de entrega
Normalmente eu prefiro receber o que compro no trabalho, onde eu estou na maior parte do horário comercial (que é o horário de entrega do Sedex e da maioria das empresas). Ocasionalmente eu quero que a compra seja entregue em um outro endereço (por exemplo, quando é presente). Não creio que estas necessidades sejam somente minhas. Entretanto, a maioria dos sites assume que a entrega será sempre no endereço do cadastro (que normalmente é o residencial) e te obrigam a re-digitar o endereço.
O prêmio vai para um site onde eu fiz uma compra hoje. Para entrar na tela de cadastro, ele pergunta o CEP (obviamente entrei com o da minha casa). No cadastro tem lugar somente para o endereço de entrega, que veio preenchido conforme o CEP. Felizmente o site permitia mudar os dados inclusive o CEP. Infelizmente o site montou o endereço de entrega com os dados que eu digitei mais o CEP inicial (ignorando o CEP digitado junto com o endereço). O jeito foi ligar por telefone e pedir para corrigir (ponto positivo: a correção apareceu na hora na internet).
Bugs - Alguém testa site antes de por no ar?
Esta foi na semana passada. Procurando um DVD, encontrei por um bom preço em um site em que eu já tinha feito compras. Na hora de confirmar o pedido, o site informou que o meu cadastro estava incompleto: faltava a cidade. Na tela estava o CEP, a rua e o estado. Ok, alguém não pensou em pegar a cidade a partir do CEP. Tudo bem, é só selecionar na drop-list, clicar em Salvar... e obter um erro dizendo que a cidade 0 não pertence ao estado. Santo nenhum fez a site aceitar a cidade. Experiementei até entrar com outro CEP: novamente veio a rua e o estado e nada da cidade.
O site tem uma ajuda on-line: sou o oitavo da fila. Felizmente anda rápido (desconfio que é gente desistindo). Quando explico o problema para a atendente, ela dá um cut-and-paste de uma explicação de como apagar os cookies no IE. Explico que não estou usando IE e que não pretendo apagar os meus cookies. Impasse, acabei comprando em outra loja.
No dia seguinte entrei novamento no cadastro e a cidade estava magicamente preenchida...
Status incompletos e desatualizados
Fica muito bonito colocar na tela um "acompanhe o seu pedido", porém pouca gente se preocupa em deixar claro qual o encaminhamento de um pedido e/ou atualizar com frequência razoável o andamento. Já ocorreu do pedido ser entregue antes do site indicar que ele tinha sido expedido. As indicações do andamento são muita vezes vagas, dúbias ou enigmáticas. O que nos leva ao ponto seguinte...
Os loucos administrando o hospício
Regra número 1 de usabilidade: lembre-se que o usuário não é um desenvolvedor. Muitos sites insistem em apresentar mensagens extremamente técnicas. Menção (des)honrosa para o site que indica com "transação não concluída" quando o pedido foi aceito, a mercadoria separada e despachada mas ainda não entregue.
Buscas excêntricas
Vários sites são extremamente sensíveis à grafia dos termos de busca. Outros são sensíveis de menos e acabam retornando uma quantidade imensa de itens não relevantes. Para complicar, poucos possuem uma "busca avançada" com critérios adicionais de busca.
Emails de confirmação não confiáveis
Todos os sites dizem que estão enviando um e-mail de confirmação do pedido, porém em várias compras num site "famoso" não veio nada. Para contrabalançar, teve um outro site que enviou a confirmação uma meia dúzia de vezes. O que parece não falhar são os e-mails de propaganda.
Endereços de entrega
Normalmente eu prefiro receber o que compro no trabalho, onde eu estou na maior parte do horário comercial (que é o horário de entrega do Sedex e da maioria das empresas). Ocasionalmente eu quero que a compra seja entregue em um outro endereço (por exemplo, quando é presente). Não creio que estas necessidades sejam somente minhas. Entretanto, a maioria dos sites assume que a entrega será sempre no endereço do cadastro (que normalmente é o residencial) e te obrigam a re-digitar o endereço.
O prêmio vai para um site onde eu fiz uma compra hoje. Para entrar na tela de cadastro, ele pergunta o CEP (obviamente entrei com o da minha casa). No cadastro tem lugar somente para o endereço de entrega, que veio preenchido conforme o CEP. Felizmente o site permitia mudar os dados inclusive o CEP. Infelizmente o site montou o endereço de entrega com os dados que eu digitei mais o CEP inicial (ignorando o CEP digitado junto com o endereço). O jeito foi ligar por telefone e pedir para corrigir (ponto positivo: a correção apareceu na hora na internet).
Bugs - Alguém testa site antes de por no ar?
Esta foi na semana passada. Procurando um DVD, encontrei por um bom preço em um site em que eu já tinha feito compras. Na hora de confirmar o pedido, o site informou que o meu cadastro estava incompleto: faltava a cidade. Na tela estava o CEP, a rua e o estado. Ok, alguém não pensou em pegar a cidade a partir do CEP. Tudo bem, é só selecionar na drop-list, clicar em Salvar... e obter um erro dizendo que a cidade 0 não pertence ao estado. Santo nenhum fez a site aceitar a cidade. Experiementei até entrar com outro CEP: novamente veio a rua e o estado e nada da cidade.
O site tem uma ajuda on-line: sou o oitavo da fila. Felizmente anda rápido (desconfio que é gente desistindo). Quando explico o problema para a atendente, ela dá um cut-and-paste de uma explicação de como apagar os cookies no IE. Explico que não estou usando IE e que não pretendo apagar os meus cookies. Impasse, acabei comprando em outra loja.
No dia seguinte entrei novamento no cadastro e a cidade estava magicamente preenchida...
Status incompletos e desatualizados
Fica muito bonito colocar na tela um "acompanhe o seu pedido", porém pouca gente se preocupa em deixar claro qual o encaminhamento de um pedido e/ou atualizar com frequência razoável o andamento. Já ocorreu do pedido ser entregue antes do site indicar que ele tinha sido expedido. As indicações do andamento são muita vezes vagas, dúbias ou enigmáticas. O que nos leva ao ponto seguinte...
Os loucos administrando o hospício
Regra número 1 de usabilidade: lembre-se que o usuário não é um desenvolvedor. Muitos sites insistem em apresentar mensagens extremamente técnicas. Menção (des)honrosa para o site que indica com "transação não concluída" quando o pedido foi aceito, a mercadoria separada e despachada mas ainda não entregue.
quarta-feira, setembro 12, 2007
Lista: Onze Utilitários "Free"
Segue um levantamento (incompleto) dos utilitários "free" que utilizo no meu dia-a-dia (no Windows). Alguns são "free as in free beer" (grátis) e outros são "free as in free speach" (livres). Alguns são manjados outros talvez não tanto. É provável que existam alternativas melhores, vários deles foram adotados mais por acaso do que por uma comparação sistemática. O único critério relevante é que podem ser usados gratuitamente.
- Mozilla Firefox: adotei quando a Microsoft tinha perdido o interesse no IE e os hackers do mal faziam a festa. Continua sendo meu navegador principal, embora ache que o IE7 tenha algumas vantagens (como na parte de impressão e uma nova aba sempre a um único click de distância). Nos add-ons uso o DownThemAll! (impressionante como o download default do Firefox e do IE são limitados) e o Html Validator (por enquanto mais como curiosidade, já que praticamente não desenvolvo para Web). Livre.
- NSIS: fazer um instalador só perde para escrever o manual na lista de tarefas ingratas do desenvolvedor típico. O NSIS é um gerador de instaladores muito esperto. Na sua forma bruta é mais voltado para quem gosta de escrever scripts que para a turma do "arrasta e clica" (ou pior ainda, "next, next, finish"). Está na lista uma série de posts sobre ele. Livre.
- Sonique: já não lembro mais porque comecei a usar este media player, mas ele está sempre lá na área de notificação (vulgo "system tray"). Eu cheguei até a fazer um plugin de visualização (inútil pois sempre deixo ele minimizado). De qualquer forma, um media player é uma ferramente indispensável para a maioria dos programadores, garantindo uma barreira sonora contra as interrupções externas. Grátis e abandonado.
- ToDoList: o maior gerador de tráfego no feed do CodeProject, com versões novas a todo instante. Eu só criei coragem para testar após a propaganda do Caloni. Ainda estou me acostumando, minha tradição era fazer a lista em papel para ter o gostinho de riscar as tarefas concluídas. Livre.
- WinMerge: outra ferramenta básica do desenvolvedor é um comparador de arquivos. Livre.
- Frhed: todo programador baixo nível gosta de editar arquivos binário e este é um muito bom. Livre.
- BareTail: uma das coisas mais úteis para depuração no *nix é p "tail -f". Para quem não conhece, o tail é um utilitário que mostra as últimas linhas de um arquivo. A opção -f faz com que sejam mostradas as últimas linhas à medida em que elas são acrescentadas no final. Perfeito para ver log de coisas ocorrendo em "tempo real". O BareTail é excelente, exceto pelo splash screen na versão grátis. Está na lista tentar fazer um utilitário destes. Grátis.
- SciTE: a ferramenta mais básica de todas: um editor de programas. A internet está cheia de opções e este realmente foi escolhido ao acaso. E depois que você acostuma com um editor, resiste a mudar. Livre.
- DOSBox: embora mais voltado para jogos antigos, uso também este emulador de DOS para rodar um compilador arcáico que se não gosta do XP. Livre.
- Doxygen: o lugar da documentação do código fonte é no fonte! A partir de comentários formatados de forma não muito especial, o Doxygen gera a documentação em formato HTML, CHM e PDF. Livre.
- PDF995: um driver de impressora que gera arquivos PDF. Os anúncios da versão grátis são chatos, mas acho a qualidade do PDF melhor que a gerada pelo OpenOffice (que não coloquei na lista pois uso raramente)
quarta-feira, agosto 08, 2007
As Piores Desculpas na Informática
A lista abaixo é uma tradução/adaptação da que está aqui, o autor original é desconhecido.
- Aqui funciona!
- Não precisa se preocupar, pois ninguém nunca vai fazer isto...
- Os usuários gostam do jeito que está.
- Meu software não tem bugs!
- Isto vai ser corrigido na próxima versão.
- Vai estar pronto na segunda feira, falta só gerar o instalador.
- A internet comeu.
- Basta aumentar um pouco a Ram e o desempenho fica bom.
- Você não pode fazer isto por motivos de segurança.
- As consultas à base de dados estão lentas porque está normalizada demais.
terça-feira, setembro 05, 2006
Lista: Nove Séries de Detetives
Para quem não viu ou não lembra, minhas regras para listas estão aqui. Neste caso, preferi listar os personagens e não livros específicos.
- Perry Mason: pouco conhecido aqui no Brasil, é um ícone nos EUA (pela proximidade geográfica, foi até mencionado no Chaves!). Perry Mason é o advogado detetive, que sempre tira um coelho da cartola nos capítulos finais, para desespero dos promotores e policiais que pensavam ter pegado o culpado. O autor (Erle Stanley Gardner) produziu dezenas de livros, o que complicou bastante o trabalho do meu pai de juntar todos eles (o que só conlcuiu com auxílio da Amazon).
- Hercule Poirot: o belga de cabeça de ovo criado por Agatha Christie. Embora eu tenha praticamente todos os livros, considero que eles se baseiam demais em truques da autora e não tem a mesma profundidade de outros desta lista. Um leitura divertida, de qualquer forma.
- Sherlock Holmes: criação de Conan Doyle é provavelmente o detetive mais conhecido do mundo, embora em desconfie que poucos leram os livros. Para quem ainda não leu, recomendo os que tem estórias curtas; os mais longos às vezes tem vários capítulos de romance não detetivesco (e talvez monótono)- vide a segunda parte de "Um Estudo em Vermelho". Nas histórias mais curtas brilham a inteligência do detetive e as situações fantásticas. Como os livros já estão no domínio público é fácil encontrar edições a preços baixos (quem preferir pode baixar do Projeto Gutemberg).
- Maigret: já escrevi sobre ele antes. Criação de Georges Simenon, as estórias normalmente culminam com a revelação de uma trama sórdida.
- Nero Wolfe: nas estórias escritas por Rex Stout, o caminho se sobrepõe ao destino. Embora exista um mistério, o que fascina é a interação entre os personagens. Nero Wolfe, nas suas próprias palavras, é apenas um gênio. Sua paixões são as orquídeas e a boa comida (aliás, ele pesa um sexto de tonelada). Para sustentá-las, resolve mistérios por preços altíssimos. Possui várias excentricidades, tornadas ainda mais fortes pelas excessões que ocasionalmente permite. É auxiliado por Archie Goodman, um detetive de porte mais tradicional, que tem entre as suas funções atormentar Wolfe para que ele trabalhe. Completam ainda o "cast" fixo o cozinheiro Fritz Brenner, os detetives free-lance Saul Panzer, Fred Durkin e Orrie Cather, a namorada de Archie (Lily Rowan e o inspetor de polícia Cramer.
- Philip Marlowe: imortalizado nas telas por Humphrey Bogart, o detetive criado por Raymond Chandler define (juntamente com Sam Spade do Falcão Maltês) e estilo noir. O detetive durão (mas de coração mole) faz piadas o tempo todo enquanto está perdido em meio a tramas complicadas e repletas de reviravoltas. Chandler possui um estilo todo especial de escrever, particularmente nas descrições e adjetivos. Pena que deixou tão poucos livros.
- Ellery Queen: já houve época em que este nome era sinônimo de mistério. Ellery Queen é ao mesmo tempo personagem (em alguns do dos livros) e autor (na verdade, era pseudônimo de dois primos, segredo este mantido por muito tempo). Suas histórias são bastante intensas e cheias de reviravoltas. Meus prediletos são os que tem Ellery também como personagem.
- Streeter: alguns anos atrás, procurando algo novo para ler, fui atraído pelas capas destes livros de Michel Stone, imitando os antigos pulps. São estórias no estilo noir porém ambientadas em tempos mais recentes e com techos muito criativos. Infelizmente os livros estão atualmente esgotados e parece que o autor parou após o quarto (eu só tenho dois deles).
- Inspector West: um detetive criado por John Creasey, com uma visão bem britânica. Destaco o livro A Gun for Inspector West, no qual o inspetor West se indigna com a sugestão de seus superiores de que ele passe a andar armado devido aos ataques de uma gangue violenta.
segunda-feira, julho 31, 2006
Lista: Quatro Livros de Engenharia de Software
Para quem não viu ou não lembra, minhas regras para listas estão aqui.
Os livros listados abaixo discutem a atividade de desenvolvimento de software, apresentando filosofias, dicas e técnicas para ser um desenvolvedor melhor e mais feliz. Para ler e praticar!
Os livros listados abaixo discutem a atividade de desenvolvimento de software, apresentando filosofias, dicas e técnicas para ser um desenvolvedor melhor e mais feliz. Para ler e praticar!
- The Mythical Man Month, Fred Brooks - Escrito há três décadas, por uma pessoa que gerenciou o desenvolvimento de sistema operacional para mainframe (OS/360), muito deste livro continua se aplicando ao dia-a-dia do gerenciamento de desenvolvimento de software. Continua sendo verdade que ao se colocar mais pessoas em um projeto atrasado a tendência é o projeto atrasar mais e nenhuma metodologia ou ferramento é a bala mágica (silver bullet) capaz de reduzir esforçoes de uma ordem de grandeza (de anos para meses, por exemplo). Um livro mais conceitual, não atrelado a nenhuma linguagem ou ambiente.
- The Pragmatic Programmer, Andrew Hunt & David Thomas: Um livro repleto de filosofias e dicas práticas.
- The Practice of Programming, Brian Kernighan e Rob Pike: Mais voltado aos detalhes do desenvolvimento em si, contém dicas práticas para o desenvolvimento de software, com exemplos em C, C++ e Java.
- Rapid Development, Steve McConnel: Um tratado bastante completo sobre como evitar que um projeto vire um martírio. Muito bem organizado e recheado de estatísticas sobre projetos reais.
Assinar:
Postagens (Atom)