Newsletter

Mantenha-se informado sobre as nossas novidades com nosso newsletter semanal, todas as segundas-feiras

Ricardo Bicalho's picture

O primo esquecido na construção de software

Há algum tempo eu procuro por um teste real de JavaScript que não seja rodar milhares de loops e algoritmos para provar qual browser é o mais rápido. Um teste bem simples foi navegar por uma página com uso intenso de JavaScript usando um netbook. E usei o Internet Explorer, Firefox e Chrome. O teste, nada científico mas fácil de reproduzir, é simplesmente usar a “ferramenta”.

No Firefox e o Chrome, a página rodou sem soluços. Com o IE, virou um show de slides. Portanto, convido vocês a fazerem testes com máquinas antigas ou modernas com menos capacidade de processamento. O argumento ingênuo “se é livre, é melhor” não se aplica. Estamos falando de construção de software que parece ter sido esquecida no meio uma guerra por atenção e egos.

Exemplo que temos em casa é o Drupal. O Meio Bit sofre as bençãos e mazelas do mesmo. É muito fácil criar módulos para a plataforma para quem se dedica a isso, mas não há, exatamente, uma preocupação com performance fora do núcleo. Depende de cada um escolher, usar e testar e não é o nosso foco brigar com a plataforma de publicação, mas garanto a vocês que já perdemos noites com ela. E seria o mesmo com provavelmente qualquer outra, já que temos customização praticamente no blog inteiro.

O Foco Esquecido e as Balas de Prata

Isso faz lembrar de um princípio que parece esquecido nos tempos de linguagens interpretadas como Python, PHP, Ruby e JavaScript entre outras: código bem escrito ainda é essencial. A facilidade de escrever e fazer tudo funcionar o mais rápido possível fizeram com que uma grande quantidade de programadores simplesmente não liguem mais com código eficiente. E são aplaudidos pela gerência porque cumprem os prazos impostos.

O problema está em acreditar nas tecnologias milagrosas, as balas de prata e receitas prontas que resolverão todos os problemas. A linguagem C é rápida porque existem programadores que há usam há mais de 30 anos e ainda é uma das prediletas do meio científico. Código ruim, escrito em Assembly é apenas código ruim.

A saída fácil para problemas de performance é colocar mais e mais hardware. Os fabricantes agradecem, mas lembre-se que já digitamos muito texto e planilhas, já editamos muitas imagens com máquinas mais modestas que um smartphone dos mais baratos.

Há uma forma de melhorar e minha sugestão é começar com um livro que pode mudar sua visão de como estamos mal hoje em dia. Code Complete, Segunda Edição. É um manual de boas práticas de construção de software.

A diferença entre o profissional e o amador é que o primeiro sabe o motivo do que está fazendo. É uma questão de opção qual deles você quer ser.

4.166665

metallizer's picture

é só botar a página do jogo? para funcionar, ou tem que jogar também?

vou precisar de instruções se tiver que jogar.

Acho que o autor está querendo exigir que uma ferramenta genérica de gerenciamento de conteúdo, como o Drupal, se adapte automaticamente a sua necessidade. Infelizmente essas ferramentas são criadas para serem básicas, devendo um programador modificá-las e adaptá-las a seus requisitos se não estão a contento.

Se a casa não está contente com o sistema, e, diante do exposto, demonstra favoritismo ao software proprietário (pelo menos é o que pode-se notar neste blog ultimamente¹), deveria partir então para o desenvolvimento de uma ferramenta por conta, que atenda as suas exigências.

Não estou aqui para brigar ou representar o "pensamento xiita", só demonstrando indignação pelo fato de que quase todo mundo reclama, fala mal, mas continua usando. Acredito que mais vale uma noite perdida do que várias noites desenvolvendo uma ferramenta do zero.

PS: Se o slideshow só funciona no IE, pode ser que o programador tenha usado uma ferramenta genérica e não queria perder a noite adaptando, não acha?

¹ Concluiu-se devido as matérias do Skype, do mouse Open Office e diversas outras, sempre visando criticar, e as matérias do Windows 7, sempre elogiando e adorando o sistema operacional.

tiagoscd wrote:

Se a casa não está contente com o sistema, e, diante do exposto, demonstra favoritismo ao software proprietário (pelo menos é o que pode-se notar neste blog ultimamente¹), deveria partir então para o desenvolvimento de uma ferramenta por conta, que atenda as suas exigências.

 

Office Sharepoint...

tiagoscd wrote:

¹ Concluiu-se devido as matérias do Skype, do mouse Open Office e diversas outras, sempre visando criticar, e as matérias do Windows 7, sempre elogiando e adorando o sistema operacional.

Open Source não manda brinde.

 

 

Ricardo Bicalho's picture

Na verdade, opensource não tem estratégia definida. É uma guerrilha de indivíduos, no tempo vago.

Ruy Acquaviva's picture

Essa afirmação está absolutamente errada e demonstra a mais profunda ignorância sobre o que seja o software livre.

Como eu acredito que não falta conhecimento ao autor, só posso pensar que ou ele está jogando para a torcida, propalando aquilo que agrada a seu público cativo, ou querendo divulgar uma informação falsa para confundir os incautos.

Tudo bem que se empenhe na defesa do software proprietário, cada um tem sua preferência, mas afirmações inverídicas como essa somente desqualificam sua argumentação.

 

Ricardo Bicalho's picture

Tiago, o Drupal pode ser qualquer coisa, menos básico.

E quanto a outras, inclusive pagas, descobrimos que além da licença, precisaríamos pagar também a customização. Desenvolver do zero seria a melhor opção, mas falta-nos principalmente tempo para tocar e gerenciar um projeto como esse.

Favoritismo ao software proprietário... hum, não valeria a pena responder, mas vejamos o nosso favoritismo:

O Meio Bit roda em cima de Linux, MySQL, Drupal que foi feito em PHP. Desculpe quebrar não diretamente o seu argumento. Nós optamos por isso para não ficarmos presos a nenhuma empresa e termos a liberdade de xingar o Windows Vista por 3 anos.

Quanto a elogiar o Windows 7, cada editor tem a liberdade de dizer o que pensa. Nós editores só olhamos: argumentação, correção ortográfica, links e anti-plágio. Qualidade geral do texto. Se você, como leitor, publicar no fórum um bom artigo com críticas ao Windows 7, eu mesmo promovo ele ao principal.

Só um aviso: no Meio Bit, palavras como Micro$oft é auto-tard, na hora.

Ruy Acquaviva's picture

Impressionante que o meio-bit use tantos softwares feitos por "uma guerrilha de indivíduos, no tempo vago"...

O Linux, o MySQL e o Drupal foram feitos por indivíduos guerrilheiros no tempo vago? Ou começaram dessa forma mas hoje são produtos maduros, suportads por grande número de empresas e usados de forma profissional por tantas outras?

Escrever Microsoft com cifrão é coisa de retardado... E usar o mesmo tipo de expediente em relação ao software livre, é o que?

 

Infelizmente, quanto mais a tecnologia evolui, mais preguiçosos ficamos. Nos tempos do DOS, se você quisesse fazer alguma coisa mais complexa que desenhar linhas e pontos numa tela 320x200, você tinha que saber que era necessário acessar o hardware de vídeo diretamente, quais as instruções exatas para configurar o modo de vídeo, profundidade de cores, etc. e que havia mais de uma forma de desenhar na tela. Naquela época não existiam drivers, DirectX/OpenGL, essas maravilhas de hoje em dia que facilitam muito a vida dos programadores; você precisava escrever todas as rotinas/funções pra isto do zero. E se seu programa dependesse muito de gráficos (especialmente jogos), o código tinha que ser bem pensado, calculado e otimizado.

Exemplos extremos de código bem pensado, calculado e otimizado são os demoscenes - programas muitas vezes limitados em tamanho que realizam "milagres" técnicos, como renderizar polígonos 3D com transparência ou texturas no DOS, em 1993, sem a aceleração de vídeo que temos hoje em dia. Existem vários repositórios destes programas, como o pouet.net. Vale a pena conferir, se você for um programador geek louco por ciência da computação. O demoscene que mencionei é chamado Second Reality, do grupo Future Crew, disponível no site.

moi.robles's picture

:palmas: parabéns Bicalho! Acho que a melhor postagem do MB no mês!

Eu assisti uma palestra sobre Java da Caelum na minha faculdade (UMESP) que foi bem interessante! O palestrante (expert em desempenho no Java) pegou um MacBook rodando OSX e um notebook Dell com o mesmo hardware mas rodando Windows XP, âmbos com a última JVM, após isso ele fez uma implementação recursiva (usando um método que fica chamando a si mesmo) para gerar a sequencia de fibonacci, no OSX o desempenho é um pouco melhor do que no Windows XP. Até ai tudo lindo o Windows é uma merd@ e OSX perfeito. Depois disso ele pega e faz a execução do programa usando um laço simples (não lembro se foi for ou while), mas o desempenho é muito superior! No OSX para gerar os 100 primeiros números da sequencia de fibonacci levou mais de 3 minutos com recursividade, com o laço simples foram alguns poucos segundos (3 ou 4). A ideia da palestra era mostrar que Java não é lento, tudo depende de como se programa! Eu aprendi mais, eu acho que toda linguagem pode ser lenta se você não sabe como fazer!

O problema que temos hoje é que qualquer um que entra nos GUJ's da vida sai por ai achando que sabe programar...

___________________________________________%
|| Blog || Twitter @morobles || RSS ||

nem a monalisa era perfeita. obras de arte sao sempre abandonadas e nunca estao completas, e nem sao perfeitas. (a nao ser o david, o michelangelo era f*** mesmo)

como algo pode ser perfeito?

se ainda assim recebe atualizacoes.  e tem mais buraco nao descoberto que o windows.

eh sempre a mesma historia, o windows eh uma m****, somente porque eh mais lento que um macosx. mas ele nao eh nada ruim, ainda mais comparando com o macosx, que eh ultraotimizado pois somente roda em um unico hardware fabricado por um unico fabricante. voce falou que o macbook tem o mesmo hardware do dell, porem e os drivers. o macosx eh muito mais integrado, pois as 3 coisas (SO+Driver+Hardware) sao feitas para trabalharem com o maximo de desempenho. e o windows eh feito para trabalhar com o maximo de compatibilidade, o objetivo nao eh o mesmo. logo eh injusto dizer que eh uma b**** somente por ser um pouco mais lento.

se for por motivos tontos, o linux eh uma b**** pois nao roda devil may cry 4. pronto. na verdade, se voce for gamer, linux nao existe, pois nao roda quase nenhum jogo nele.

sera que o cara nao sabia otimizar o java dele no windows? talvez algum truque com o garbaje colector no windows.

 

moi.robles's picture

Cara, acho que você não entendeu o foco do meu comentário ou eu não fui claro.

A minha intenção é mostrar como me foi mostrado que existe diferença performance entre diferentes plataformas, mas é pouca! A maior diferença que houve foi hora em que o código foi otimizado.

OU seja, o que fez a aplicação ficar realmente mais veloz? A troca de SO? Não, a troca do código do programa, o resultado final é o mesmo mas num tempo muito menor.

Longe de mim fazer esse tipo de crítica que você entendeu, já trabalhei muito com infraestrutura e tenho experiência suficiente para entender que um MAC da geração passada é superior à um PC da geração atual por conta da compatibilidade/otimização.

___________________________________________%
|| Blog || Twitter @morobles || RSS ||

gabrielsilva's picture

Vocês já pensaram em desenvolver um sistema próprio para o meio bit?

---
"O segredo da criatividade é saber como esconder as fontes."

Ricardo Bicalho's picture

Sim, já pensamos. E o projeto seria enorme.

Consideramos Python, Java, .Net. Consideramos também o Wordpress, Joomla, Plone e construir do zero com RoR. Tudo cai no mesmo problema: custaria bem caro fazer um CMS próprio.

Ainda pagando pelas alterações do Drupal, fica mais barato que desenvolver um próprio e ele atende até certo ponto, mas está longe de ser ideal.

RenderGuy's picture

 

Ricardo,

É como na analogia que pode ser feito com um livro bem executado (capa, impressão, etc) porem com uma história ruim. Isso é o que ele será, um livro medíocre. O inverso porem, nos dá um livro que até pode ter um aspecto ruim, mas que nos prende a cada uma de suas páginas prestes a se soltarem...

A "arte" de programar não esta mais em foco para muitos. Ctrl+c Ctrl+v é a técnica do momento e a própria tecnologia (Internet, por exemplo) contribui para a banalização desta atividade.

O lado bom é que Darwin e sua teoria são implacáveis e uma hora ou outra os menos adaptados sucumbem...

 

_____________________________________
To deny evolution is to deny a direct
observation. It's like denying the sky
is blue while refusing to look up.

josuegomes's picture

Code Complete é leitura obrigatória para qualquer desenvolvedor.

BrunoTiger's picture

josuegomes wrote:

Code Complete é leitura obrigatória para qualquer desenvolvedor.

 

Fato incontestável. Tive a oportunidade de ler o Code Complete ano passado, e melhorei muito como desenvolvedor. Realmente nos abre a cabeça, com conceitos novo.s

_________________________
I'm the best in what I do!

Ricardo Bicalho's picture

Sabe o que mais assustador? Os conceitos não são novos. O Code Complete é uma revisão com orientação a objetos da primeira, escrita na década de 80. É uma coletânea de experiências de construção de software dos anos 60, 70 e 80. Muitas das referências do livro são BEM antigas e fui atrás delas.

Aliás, qualquer um que se diga desenvolvedor, eu pergunto primeiro se já leu o Code Complete. Se diz que não conhece, eu apresento e "vendo" o livro. Basta ler e se 10% ficar, você já se tornou um profissional melhor.

Ramon E. Ritter's picture

Fui apresentado ao Code Complete (1ª versão) em 2000, por um programador com quem iria trabalhar na Alemanha. Interessante que ele usou as mesmas palavras que você ("a qualquer um que se diga desenvolvedor, eu pergunto primeiro se já leu o Code Complete"), só que em inglês. Smiling

Esse livro deveria ser obrigatório para todos que trabalham desenvolvendo sistemas, especialmente aos que dizem que otimização é bobagem e é mais barato adicionar hardware mais potente (já escutei isso diversas vezes e em todas fiquei com vontade de bater no sujeito que falava essa asneira).

Talvez seja por que eu aprendi a programar numa época onde memória (RAM e disco) era cara e muito limitada, onde poder de prcessamento era mínimo - um XT de 4.77 MHz era luxo (pelo menos perto de um Cobra 480), mas sempre prezei por otimização.

Entretanto, somente após ler o Code Complete pude entender o que efetivamente era produzir softwares tolerantes a falhas, escaláveis e seguros. Ou seja: bem escritos.

Por isso, para quem quiser ser um programador "de verdade", esse livro é o melhor investimento que pode ser feito...

Tuco's picture

Testei a "Ferramenta" com os 3 navegadores e a unica diferença é uma certa lentidão na rolagem da página no IE8.

criscmaia's picture

Quão modesta é sua máquina?

_____________
Intel Core i7 CPU Q 720 @ 1.6GHz, 6.0GB RAM, ATI Mobility Radeon HD 4570.

euthanatos's picture

Adding to may Reading Queue.

 

[logo após Superfreakonomics].

 

_________________________________________________________
Under capitalism, man exploits man.
Under communism, it's just the opposite.

hamacker's picture

Com respeito a otimização de código, acho que o termo otimização deveria ser trocado para "boas maneiras" porque otimizar é encurtar, nem sempre isso é possivel quando fizemos uma programação usando "boas maneiras", pois os aspectos de velocidade e racionalização já foram levados em conta.

Infelizmente, a programação hoje foi racionada, há muito ajax-kit, template, IDEs, ... para diminuir tempo de desenvolvimento, enquanto houver imediatismo, conviveremos com códigos pouco eficientes desde que sejam escalaveis para hardware mais potentes.

 

--
Eu cnsigo diigtar 400 caractreres pro minuo1.

moi.robles's picture

Engraçado você falar isso sobre o hardware mais potente.

Estava lendo uma coluna da INFO ontém que dizia que os softwares evoluem de maneira mais lenta que o hardware, a desculpa dos fabricantes de software é que seu trabalho é mais detalhado e por isso demanda mais tempo.

Seria por isso então que os desenvolvedores preferem fazer algo mais rápido que não irá rodar tão rápido assim? (sacou o trocadilho? Sticking out tongue)

___________________________________________%
|| Blog || Twitter @morobles || RSS ||

hamacker's picture

Olha, para corroborar sua afirmação tem uma empresa que usa banco de dados MSSQL6.5 e Windows 2000. Ele funciona a mil maravilhas para essa empresa e já estou a dois anos tentando avisar-lhes que não tem mais suporte, esse windows nao existe mais, etc... e precisa atualiza-lo. Mas o problema é que o programa é eficiente e eles não querem atualiza-lo. Nas empresas, tudo é mais devegar porque uma coisa leva a outra e num efeito cascata, mesmo sem querer, faz uma modificaçãozinha de nada tornar-se um investimento alto e em algumas opotunidades menos eficientes do que era antes.

O inverso acontece no desenvolvimento de jogos, onde jogos e hardware evoluem num patamar quase sincrono. É interessante falar de jogos, porque eu aprendí a programa bem (na minha modesda opinião) criando jogos, criar cenarios de jogos 192x151pixels, calcular colisão de sprites, camadas de grafico independentes, criar notas musicais em apenas 3 canais, pouca [V]RAM,... demandava um expertisse que nenhum programador que criasse algo em dbase4 tivesse que lidar.

Eu gosto dessa área justamente por isso, em quanto em parte delas a coisa é lerda feita tartaruga manca de 3 patas, noutra é tão dinamica que torna as coisas obsoletas em menos de 6 meses.

--
Eu cnsigo diigtar 400 caractreres pro minuo1.

moi.robles's picture

Isso mostra que quando as pessoas querem elas conseguem! O pessoal as vezes tem preguiça de fazer as coisas bem feito, a indústria de games que tem "usuários" exigentes já está mais experta.

___________________________________________%
|| Blog || Twitter @morobles || RSS ||

hamacker's picture

Sobre o Drupal, bem, pelo pouco que observo no meiobit, seu problema parece estar mais no numero de requisicoes ao banco de dados. Além disso, as páginas ficam longas a medida que crescem os comentários nela, não foram poucas as vezes que a página dum artigo ficou pela metade e com isso perdí definitivamente as novas mensagens. Infelizmente, a medida que os comentários aumentam só cresce o problema.

Apenas como informação, o Wordpress tem um jeito simpatico porém eficiente do meu ponto de vista : se alguem posta no meu blog um comentário em qualquer artigo, eu recebo o comentário na minha ferramenta de email, então se eu respondo ao email, a mensagem-resposta estará em poucos instantes na página do artigo abaixo da questão original. Em suma, os comentarios são lidos e respondidos sem precisar visitar a página (e aguardar ela ser carregada). É claro que essa solução é um addon apenas para o administrador do blog, mas deve haver algo semelhante em outros cenários.

O wordpres tambem é mais eficiente porque não faz post em todas as janelas, na maioria ele o faz de forma web2.0.

--
Eu cnsigo diigtar 400 caractreres pro minuo1.

adrianomacedo's picture

O WordPress ganhou uma nomeação na categoria “Mass 0wnage” ([Melhor brecha] do Pwnie Awards, para invasão em massa), por possuir um “número inacreditável” de vulnerabilidades, descobertas por “qualquer um que se importou em olhar”. http://pwnie-awards.org/2008/awards.html

WEB 2.0 não existe. Nunca existiu. http://revolucao.etc.br/archives/web-20-nao-signif...

hamacker's picture

O wordpress teve o bug mais incrivel do mundo, qualquer criança de 7 anos podia resetar a senha do admin, mas fora isso ele não é tão bugado :

Usando sua própria fonte de pesquisa :

http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wo...

Vejamos o drupal, se ele se sai melhor :

http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=dr...

Parece que o drupal tem mais bugs.

Sempre vão aparecer bugs doidos, acho que ninguem o faz de forma proposital, mas de longe o wordpress é o melhor CMS com que já trabalhei. Isso não significa que é fácil, ele é tão complexo quanto o Mambo para criar seus plugins. O mais fácil para criar plugins -na minha opinião- era o PHPNuke, este sim, merecia premio do mais bugado.

 

Sobre a web2.0, nem vou comentar, lá vai o link :

http://en.wikipedia.org/wiki/Web_2.0

--
Eu cnsigo diigtar 400 caractreres pro minuo1.

adrianomacedo's picture

Nem WordPress, Nem Drupal. De fato, nenhum deles é seguro OU um dia será. Eu não uso nenhum deles e nem recomendo o seu uso em projetos WEB. Sobre a WEB 2.0, a própria WikiPedia faz ma ressalva, no final do texto, no item "Criticism". Observe bem.

shimatai's picture

Um dos grandes problemas é que a performance nunca vai ser mais prioritário que a disponibilidade para o negócio, ou seja, quem manda é o negócio, e o que eu (particularmente) percebo é que as empresas querem tudo pra ontem e chegam até a afirmar algo do tipo "deixa assim mesmo que tá bom, depois a gente acerta" e o "depois" nunca chega.

"O único lugar onde 'sucesso' vem antes de 'trabalho' é no dicionário."
Albert Einstein

Olá,

Só gostaria de corrigir a frase: "A linguagem C é rápida porque existem programadores que há usam há mais de 30 anos e ainda é uma das prediletas do meio científico. Código ruim, escrito em Assembly é apenas código ruim." e dizer que na verdade C é mais rápido, pois ele não faz verificação de nada no seu código, tanto que se você quiser escrever em uma área "proibida", o problema é totalmente seu. Assim, ele fica mais rápido, mas fica mais perigoso também. Por essa razão, principalmente, que C é "mais rápido".

Ademais, é legal falar que código em Assembly é ruim, não importa como seja feito. Evil

Não entendi a parte que Python e Ruby não prezam por código bonito. Para mim, só o fato de um ter identação obrigatória e não ter ponto e vírgula, já é um grande avanço.

É isso. Abraços,

 

Wallacy's picture

A questão de escrever em uma area proibida não é problema do C e sim do sistema operacional.

No XP e anteriores tinha disso... No Linux  e outros sistemas retornava erro. Quando foi lançado o Vista, o problema também foi sanado.

De qualquer forma, isso não é responsabilidade da linguagem.

hamacker's picture

Em C/C++ podemos criar uma variavel e apontar seu endereço na memória, se não tomarmos cuidado podemos aumentar a cadeia de dados nesse endereço a ponto de chegar um momento e ela invadir uma área dedicada a outro programa. Assim, o SO responde algo como "Este programa executou uma operação ilegal...". Este tipo de vazamento conhecido como buffer overflow pode ser uma falha no programa ou no compilador, geralmente não é proposital. Mas infelizmente, alguns hackers descobriram que causar erros assim propositalmente desistabiliza a máquina podendo comprometer seus serviços.

O que o colega quiz dizer - pelo menos eu entendí assim -, C/C++ permite ao programador dar um tiro no próprio pé, coisas que linguagens procedurais ou com tipagem forte normalmente teriam alguma restrição. Enquanto no C/C++ é tudo pchar, linguagens interpretadas não soma alhos+bugalhos, uma string tem que ter tamanho definido, etc... bem foi isso que entendí.

 

--
Eu cnsigo diigtar 400 caractreres pro minuo1.

andre_pereira's picture

"Em C/C++ podemos criar uma variavel e apontar seu endereço na memória, se não tomarmos cuidado podemos aumentar a cadeia de dados nesse endereço a ponto de chegar um momento e ela invadir uma área dedicada a outro programa. Assim, o SO responde algo como "Este programa executou uma operação ilegal...". Este tipo de vazamento conhecido como buffer overflow"


Quando isso ocorre, é um problema de programação no software que se fez e não na linguagem que foi utilizada. Estouros de buffer podem ser "implementados" em qualquer linguagem que você escolher. Pode ser feito em JavaScript!!!


"C/C++ permite ao programador dar um tiro no próprio pé, coisas que linguagens procedurais ou com tipagem forte normalmente teriam alguma restrição. Enquanto no C/C++ é tudo pchar, linguagens interpretadas não soma alhos+bugalhos, uma string tem que ter tamanho definido, etc... bem foi isso que entendí."

C é procedural. C++ pode ser usada como procedura ou OO. E C/C++ são linguagem com tipagem extremamente forte. ao contrário de PHP (interpretada) que tem tipagem corriqueira fraca ou quase inexistente. Ou seja, é o contrário do que você entendeu na realidade.

A questão da tipagem forte ou fraca é que na fraca, o programador é que é o reponsável único pela checagem do que ele coloca dentro de uma variável. Isso não quer dizer que a linguagem é ruim, mas sim que as responsabilidades do programador são diferentes daquelas de um cara que programa em linguagem de tipagem forte.

Aliás, em PHP, você pode criar seus tipos de variáveis e usá-las como se estivesse em um ambiente de forte tipagem. Isso, aliás, é uma boa prática de programaçãoem PHP.

-------------------------------------------------
André Luis Pereira
BSRSoft IDC
www.bsrsoft.com.br

concordo com o shimatai

Quando o dono do negócio e o profissional souberem o que estão fazendo, ai sim teremos um produto de qualidade. Laughing out loud

Enquanto isso neste planeta chamado 'Terra', vamos fazendo 'nas coxa' o trabalho pq é pra ontem... Jawdropping!

PS: tenho o Complete Code e recomendo a todos.

ShamanBoy's picture

O problema de hoje em dia está no conhecimento das pessoas.

Se soubessem realmente o que estão fazendo, o fariam de forma otimizada e consciente.

Pois feito um trabalho de forma correta ganha-se tempo de criação e diminui o tempo de manutenção. Com isso a ideia de ser para ontem já não passa a existir pois passe-se a ideia que você possui total controle sobre aquilo que cria.

Todos sabemos que qualquer pedreiro é engenho civil, mas qual desses engenheiros civis são capazes de construir uma ponte sem que ela caia no rio.

Por essa falta de conhecimento que o mundo dos padrões é bagunçado e em um lugar funciona de uma forma e de outra funciona diferente.

Se todos programassem a forma cobol de ser não haveria esse problema de compatibilidade.

Sem mais

---
kernel panic: /dev/brain

shimatai's picture

Concordo com vc, mas na prática não é assim que acontece, pois a quantidade de bacalhaus que eu vejo é algo inacreditável.

Já vi até bacalhau comentado, explicando o "porque" foi feito daquele jeito e eu não imaginava que seria diferente: "Time to bussiness", o que manda é o dinheiro, e perder 1 dia em determinados negócios significa 10 anos do teu salário.

Então o cliente contenta-se em esperar 4 horas por uma correção do software e este rodar a tarefa em 5 minutos do que esperar 2 dias para ter um software otimizado que roda a mesma tarefa em 5 segundos, sendo que nesses 2 dias ele deixou de faturar uma cifra gigantesca.

"O único lugar onde 'sucesso' vem antes de 'trabalho' é no dicionário."
Albert Einstein

_S4MUR4I_'s picture

Me fez lembrar do movimento demoscene, e seus demos/jogos de 64kb que demoravam séculos pra carregar no pc velho de guerra, mas tinham conteúdo inexplicavelmente rico em detalhes e "conteúdo" capaz de fazer pc gamer top-de-linha sofrer.

Pra quem não se lembra(digo isso pois já vi post relacionado ao assunto supracitado), segue um belo exemplo do que essa rapaziada é capaz. Este é bem leve (e o mais conhecido) para os padrões de hoje, mas se você se interessar e fizer uma busca mais direcionada, pode encontrar muita coisa boa.

PS: Para aqueles que possuem antivírus e o mesmo detectar que existe vírus neste arquivo, fica o aviso de que se trata apenas de um 'falso positivo', mas sintam-se livres para não executá-los em seus computadores, caso achem melhor.

_______________________________________________________________
É isso aí rapaziada!

Também acho que tem muita gente fazendo software de qq jeito por e pelo motivo q vc flw, prazos, a gerência, chefia aplaude quem cumpre no prazo....

 

Enfim, bom post. Tem gente que não entende o que você falou e sai comentando de forma errada e tem pessoas que entendem e expõe o ponto de vista que tem...

 

Eu só acho que você passou a idéia, brevemente, que tem que ser velho pra ser bom, o que não concordo. É só usar legal que funciona, por exemplo javascript, como você falou...

 

[]'s

 

 

 

 

"A pergunta não é porque, é como!"

Ricardo Bicalho's picture

jesuino wrote:

Também acho que tem muita gente fazendo software de qq jeito por e pelo motivo q vc flw, prazos, a gerência, chefia aplaude quem cumpre no prazo....

Enfim, bom post. Tem gente que não entende o que você falou e sai comentando de forma errada e tem pessoas que entendem e expõe o ponto de vista que tem...

Eu só acho que você passou a idéia, brevemente, que tem que ser velho pra ser bom, o que não concordo. É só usar legal que funciona, por exemplo javascript, como você falou...

[]'s

Na verdade, eu passei da ideia de que um bom programador é formado ao longo de 10 anos, no mínimo e não ao longo de 24 horas, como algumas editoras querem.

AngusYoung's picture

O Code Complete também é uma boa fonte de assuntos para a entrevistas. Com um pouco de criatividade e preparo você consegue levantar muitas informações interessantes sobre um candidato. Um outro livro que parece muito interessante - e que comprarei em breve - é o Coders At Work, o Jeff Atwood, do Coding Horror falou muito bem dele algumas semanas atrás ...

Ad astra per aspera

criscmaia's picture

Desde que comecei a estudar informática em geral, meu objetivo era aprender da raiz como as coisas funcionam para ter um sistema mais organizado e eficiente. Mas não segui este caminho... não achei um curso bom que ensinava desta maneira, comecei a ganhar (pouco) dinheiro fazendo coisas simples sem precisar conhecer a fundo...

 

Atualmente eu conserto computadores, instalo e configuro redes domésticas, faço website e sistemas simples. Ou seja, nada direito... espero que a faculdade ilumine meu caminho para que área seguir a fundo... e direito.

_____________
Intel Core i7 CPU Q 720 @ 1.6GHz, 6.0GB RAM, ATI Mobility Radeon HD 4570.

criscmaia's picture

Extra:

Teach Yourself Programming in Ten Years

 

_____________
Intel Core i7 CPU Q 720 @ 1.6GHz, 6.0GB RAM, ATI Mobility Radeon HD 4570.

Pedro Jr's picture

nussa, jog massa me interesei ams não entendi... XD

fugindo ao tópico... como se joga isso?

aliás, isso é um jogo mesmo?

parece, mas não parece =/

 

--

Acesse meu blog: www.ssdgeek.blogspot.com
ps.: O BLOG ESTA TEMPORARIAMENTE SEM RECEBER ATUALIZAÇÕES

robsonf's picture

Bom dia Ricardo,

se possível, gostaria de saber quem é o autor dessa frase: "A diferença entre o profissional e o amador é que o primeiro sabe o motivo do que está fazendo. É uma questão de opção qual deles você quer ser."

Seria vc mesmo?

Tenho um blog de epígrafes e gostaria de postar a mesma aqui.

Grato pela atenção,

Robson Feitosa

--

E acessem http://epigrafeslegais.org

Ricardo Bicalho's picture

Oi Robson. Sim fui eu mesmo e sem problemas, pode postar.

criscmaia's picture

Gostei da atitude. Já são raras as pessoas que citam a fonte quando tem, mais raro ainda é procurar a fonte e pedir permissão antes de usar. Smiling

_____________
Intel Core i7 CPU Q 720 @ 1.6GHz, 6.0GB RAM, ATI Mobility Radeon HD 4570.

alsimoes's picture

 

O problema está aqui:

Quote:

"... A facilidade de escrever e fazer tudo funcionar o mais rápido possível fizeram com que uma grande quantidade de programadores simplesmente não liguem mais com código eficiente. E são aplaudidos pela gerência porque cumprem os prazos impostos. ..."

A maioria dos gerentes de hoje foram os "aplaudidos" de ontem e nem sabem o que é um código eficiente.

 



Design Wenetus