Fiquem a espera...
sábado, 21 de fevereiro de 2009
Administração
Fiquem a espera...
quinta-feira, 15 de janeiro de 2009
Gmail vs Hotmail vs Ymail- Qual a sua escolha?
Algo que ficou tão concorrido (e subjetivo) quanto a guerra dos browsers é a escolha de um serviço de e-mail.Os três atuais grandes clientes de e-mail são Hotmail( da Microsoft),Ymail (do Yahoo!) e Gmail (do Google).Vamos ver as características de cada um ,o que a Administração recomenda e a opinião dos senhores leitores.
O primeiro a ver visto é o gmail.Foi lançado no dia da mentira em 2004 como beta e ficou diponível para o público geral em 7 de fevereiro de 2007(apesar de estar estável a muito tempo ainda leva a insigne de beta).Como tudo do gigante da internet ele arrastou para si milhões de usuários que já o dizem como o melhor e-mail da internet.Seu armazenamento foi o que cresceu mais rápido entre todos começando com 1 GB,passando de 2 a 4 giga e ficando com os atuais 7284 MB que prometem ainda crescer(o Google ainda oferece planos pagos para aumento de capacidade). O seu diferencial é a forma de tratar as mensagens--arrogante até, que não considera as mensagens como um e-mail foleiro,mas sim como um GMAIL--como se elas fossem conversas.E-mail com (tré)réplica,são armazenados em conjunto e não em mensagens individuais como no ymail ou hotmail. Outra qualidade ,óbvia,do Google mail é sua interação com os serviços googleístas.Funcionalidades como pesquisa no e-mails ,ligação direta com o Gtalk, ações com o picasa e o Google Labs (disponível apenas na interface em inglês)merecem destaque.O gmail labs,que faz parte do Google Labs é uma série de funcionalidades experimentais criadas pelos engenheiros do buscador que podem ser habilitadas ou não pelo protador do e-mail.Vão desde links rápidos,sistemas de classificação de mensagens até um jogo da cobrinha.A ideia é que se uma aplicação for popular ela será incorporada a interface padrão do gmail.Seu filtro anti-spam também é relativamente melhor do que seus concorrentes.
O próximo é o ymail.O dominio ymail foi liberado no ano passado em decorrência da falta de nomes úteis para o @yahoo .Os usantes do Yahoo! tinham que ser muito criativos para fazer um e-mail ,tento que misturar letras com muitos números ou combinações bizarras,dai a necessidade do novo domínio(o Yahoo! com 260 milhões de clientes era o provedor de e-mail mais usado).O grande diferencial do ymail é seu armazenamento do tamanho de: ilimitado.A velocidade do ymail também é superior aos concorrentes,notavelmente em conexões lentas.Assim como o gmail o ymail também tem um embasamento de serviços de um grande site de buscas que ligam ao e-mail os outros serviços do provedor.Algo que o Y! ficava devendo aos outros servidores de e-mail era o layout(muito tosco por sinal) mas já é possível melhorá-lo atualizando para uma versão mais moderna(sem abandonar a cor azul é claro). Um outro destaque seu também é o leitor de conteudo RSS.
O último é o hotmail.O nome “correio quente” vem da função de HTML(codificação para fazer paginas de internet) mais MAIL(correio)já que o seu criador queria porque queria que houvesse mail no nome.O hotmail é ,se não o mais usado,um dos provedores de e-mail grátis mais utilizados e grande parte devido ao MSN messenger.O seu maior destaque é : ...bem, não há destaque.Travamentos ,slowdowns(recentemente a velocidade aumentou um pouco mas ainda continua lento) e spams são bastantes comuns.A única utilidade deste e-mail é seu uso nos sites Microsoft (como DreamSpark,MSDN e etc) e a integração com o popular mensageiro do Windows.O hotmail também é de grande utilidade para o uso de e-mails descartáveis.
Então qual é sua escolha?
Os Administradores Malvados recomendam ymail.Os Administradores Malvados corroboram gmail .Os Administradores Malvados banem quem usa hotmail.
domingo, 11 de janeiro de 2009
Stack Overflow
Todo mundo conhece o Yahoo! Respostas(não posso dizer o mesmo do Google repostas).Quem não tem o que fazer Quem tem uma dúvida de ordem moral,religiosa ou técnica acede a este sitio para achar respostas.Mas se o sr. tiver uma pergunta relativa a programação onde irá buscar uma resposta?Para isso existe o Stack Overflow.
Ele possui um sistema de pontuação parecido com o do Y!R e se o sr(a). acompanha a série "Aprenda C++ malvadamente" aconselho firmemente este site para solucionar as dúvidas (que você vai ter) decorrentes das suas programadas.
E não quero ver ninguém me perguntando a tradução do nome nos comentários, porque hablar inglês é a obrigação básica de todo aspirante a programador(tanto é que nem vou
falar que o site é em inglês).
terça-feira, 30 de dezembro de 2008
Aprenda C++ malvadamente(3)—Variáveis e afins
Respostas do post passado
1- Escreveria #include < Adm >
Mas onde eu acharia uma biblioteca igual a esta?O mais provável seria que o sr. a tivesse feito em minha homenagem.Então seria #include "Adm.h" com aspas para avisar o compilador para procurar a biblioteca (header file) no seu programa e não no lugar onde ele procura por padrão. O porquê de .h veja ali em baixo em preliminares.
2- cout<<"Eu nao sei mostrar na tela";
Então eu sei mostrar na tela.O sr. não.
3- Nada ora, pois. Já que cada ponto e vírgula determina o fim de uma instrução não há necessidade de identação.Identação é uma viadagem técnica que torna o código mais legível :cada linha uma instrução,separadinho,coloridinho...
4-Só porque é caseiro não usa a funcão main()?O sr. não fez programa em casa?Não tem main ,não?
Preliminares
* O texto do seu programa é chamado código fonte. A extensão para códigos fonte em c++ é .cpp e para bibliotecas é .h no geral.Há também .hpp, .rc, etc..
* Palavra reservada ou keyword é toda palavra própria da linguagem,nesse caso c++.São exemplos de palavras reservadas: int,return , using e etc(não o etc é claro).
Indo direto ao ponto— Variáveis e memória
O computador tem uma memória,dita principal,chamada RAM.Tudo para rodar no computador,incrusive seu msn e o seu compilador, tem que reservar espaço nessa memória.Como nossos programas também rodam em computador somos obrigados a reservar espaço por ai para armazenar as informações que utilizaremos neles.Para isso usaremos variáveis.
----------------------------------------------------------------------------------------------------------
Variável é um espaço reservado na memória para guardar algum dado
--------------------------------------------------------------------------------------------------------
A variável,seu tipo, é definida pelo tamanho (determinado em bytes) do dado que ela vai ter que guardar.A tabela abaixo mostra os diferentes tipos de variáveis.Não é preciso decorá-los ,por enquanto apenas saiba o que é e para que serve um int,float e um char.
Tipo de variável | Para que serve | O que pode guardar¹ |
int | Para números inteiros | De -2147483647 até 4294967295 |
float | Para números decimais, vulgo número quebrado | Coisas como 1.34 ou 1.23543 |
char | Para caracteres (letras,símbolos e afins) | 'S' ou "veja lá em baixo" |
string | Para frases e caracteres | "String é um char evoluído" |
bool | Verifica condições lógicas | true(que é verdadeiro) ou false(falso) |
double | Números quebrados, racionais | O dobro da capacidade do float |
wchar_t | Para caracteres "selvagens" (muito longos) | Caracteres "selvagens" ,uai |
Existem palavras(especificadores) que mudam as características da variável:
Especificador² | Atua em | Faz... |
|
|
|
|
unsigned | int,char e junto com short ou long ex.:unsigned short int | com que a variável só receba valores positivos | ||||
short | int ex.:short int | diminuir o tamanho da variável pela metade | ||||
long | int ,double ex.:long double | dobrar o alcance(tamanho )da variável | ||||
¹O valor de int considera todos os alcances(long,signed ,etc.).Note que apenas declarar int resolve a maioria dos casos.
²signed é o tipo de variável que aceita tanto valores positivos quanto negativos.
Note que eu não pus o tamanho em bytes de cada variável.Como isso depende do seu ambiente o melhor é perguntar ao seu próprio compilador.Digite esse código fonte;a saída será o tamanho de cada tipo de variável no seu sistema.
#include < iostream >
using
namespace std;
int main()
{
cout << "O tamanho de um int e:\t\t" << sizeof(int) << "bytes.\n";
cout << "O tamanho de um um short int e:\t" << sizeof(short) << "bytes.\n";
cout << "O tamanho de um long int e:\t" << sizeof(long) << "bytes.\n";
cout << "O tamanho de um char e:\t\t" << sizeof(char) << "bytes.\n";
cout << "O tamanho de um bool e:\t\t" << sizeof(bool) << "bytes.\n";
cout << "O tamanho de um float e:\t" << sizeof(float) << "bytes.\n";
cout << "O tamanho de um double e:\t" << sizeof(double) << "bytes.\n";
cin.get();
return 0;
}
Entenderam a idéia de variável?Não? Sim?Vamos ver um exemplo então:
Dois.cpp
//Variáveis,cin e endl
#include < iostream >
using
namespace std;
int main()
{
int idade;//cria uma variável inteira(int)chamada idade
cout<<"Qual a sua idade?(seja sincero)"<< endl;//veja endl abaixo
cin>>idade;//veja abaixo cin
cout<<"A sua idade e "<< idade;
cin.get();
cin.get();
return 0;
}
Saída(O que o sr. verá na tela)
Qual a sua idade?(seja sincero)
56(ou o que for digitado)
A sua idade é 56
Entendendo
A instrução int idade; cria uma nova variável.Em seguida o usuário é interrogado para digitar um valor e então vem: cin>>idade; .O que o usuário digitou é armazenado na variável idade tanto é que imprimimos na tela o que ele digitou com
cout<<"A sua idade é "<< idade;
Veja que sai o valor da variável e não a palavra idade(para mostrar idade na tela teria que ter aspas).Observe também o <<.Ele serve para separar a frase terminada nas aspas e variável que não pode ter aspas .Veja outro exemplo:
cout<< "Exemplo: "<< idade << "é muita coisa";
Saída: Exemplo 3245236 é muita coisa
Então eu posso concluir que cin é para entrada de dados?
Isso jovem padawan.O comando cin recebe um dado digitado pelo usuário e o armazena em uma variável. Sua sintaxe(escrita) é essa:
cin>>nome da variável;
cin>> nome da variável>>nome de outra variável >>e assim por diante;
Note o >> (menor menor)diferente do cout que é maior maior(<<).
Mas e o endl?
É uma frescura seqüência que faz o texto pular uma linha.Também existe:
Sequência | Equivale a |
\n | Nova linha |
\t | Tabulação |
\b | Backspace |
\" | Aspa dupla |
\' | Aspa simples |
\? | Ponto de interrogação |
\\ | Barra invertida |
Esta tabela não foi tirada da Wikipédia
Ex.:cout<<"Nova linha\n";
cout<<"Outra linha"<< "\n";
cout<<"\nJá encheu";
Perceba que mesmo com aspas ("\n") não se imprime \n, mas sim pula-se a linha.
Nome de variáveis, inicialização e constantes
Nome das variáveis
O sr. viu que a variável que usei se chamava idade .Mas por que idade?Simplesmente porque eu quis. Uma variável pode ter qualquer nome desde que este não seja uma palavra reservada, contenha símbolos esdrúxulos (só é permitido underline) ou comece com um número. Regra prática: Não nomeie variáveis como você conversaria com seus miguxos.
Ex.:
1var Inválido |
Id§d* Inválido! |
MiGGUxinH@aM) Muito inválido |
sobre Valido |
--------------------------------------------------------------------------------------------------------------------------------------------------
Atenção:C++ é case sensitive.Isso significa que int é diferente de INT e Int, ou seja, ele diferencia minúsculas de maiúsculas.
---------------------------------------------------------------------------------------------------------------------------------------------------
Inicialização
O Sr. também viu que a variável idade recebeu o valor digitado pelo usuário.Mas que valor ela tinha antes disso?Tinha um valor aleatório dado pelo compilador.Mas se quiséssemos que a variável idade começasse com um valor?Easy ,é só inicializá-la com aquele valor.Veja:
int idade=63;
Você pode inicializar a variável e depois atribuir-lhe um valor:
int idade;
idade=123;
Pode-se também atribuir a uma variável o valor de outra:
int idade=suaidade;
Constantes
Uma variável pode ter um valor constante também.Se o sr. declara uma variável como constante obviamente o sr. não poderá mudar seu valor posteriormente.Se for baca o suficiente para tentar fazê-lo o compilador retornará um erro.Para declarar uma constante podemos usar:
# define
Ou:
const
#define é uma diretiva que indica, vulgarmente falando, uma troca. Se disessemos
#define adm 77
toda vez que aparecesse adm no nosso código ele seria substituído pelo número 77. Mas isto além de pobre e tosco é um mau hábito(como #define é uma diretiva para pré-processador o compilador nunca verá adm ,apenas o número 77).Uma maneira mais adequada de fazer isso é usando a keyword const.Sua sintaxe é a seguinte:
const tipo de variável nome da vaiável =valor;
Ex:
const int x=234;
As variáveis const devem ser inicializadas com um valor.
Mas por que raios eu usaria uma variável constante?
Primeiro para proteger-se do seu próprio burrice erro ou erro de terceiros. Depois como veremos const também se aplica a outras coisas e além do mais variáveis constantes impedem que algo no nosso programa, contra a nossa vontade, mude o teor de nossas variáveis (referências passadas para funções ,etc.)
Tres.cpp ,o programa final deste artigo, exemplificará o uso de todas estas trenheiras(cin,cout,#define,const e etc).
#include < iostream >
using
namespace std;
#define esse 34//usando o define
int main()
{
const
float age =26.7;//inicialização da variável age.Veja que é //26.7 sem virgula mas sim com ponto
int idade,ide;//fazendo dois int.note a virgulas separando cada nome de variavel
idade=97;//agora idade tem valor de 97
cout<<"Digite sua idade"<< endl;
cin>>ide;//recebe uma valor para ide
cout<<"Voce digitou "<< ide << endl ;
cout<<"Agora mostrando sua real idade:";
ide=idade;//ide passa a ter o mesmo valor que idade
cout<< ide << "\n";
cout<<"Uma idade que faz muito tempo para voce: "<< age << "\n";//usando a variável constante
cout<<"Outra igualmente distante:" << esse; //finalmente usamos o esse definido pelo #define
cin.get();
cin.get();//aqui também são precisos dois cin.get()
return 0;
}
Saída(o que sai disso tudo)
Digite sua idade
20
Voce digitou 20 como sua idade
Agora mostrando sua real idade: 97
Uma idade que faz muito tempo para voce: 26.7
Outra igualmente distante: 34
Entendendo
Números decimais,que usamos com float, devem ser com ponto e não com virgula por causa da notação americana.O resto é auto ilustrativo.Mostra como inicializar as variáveis com const ou #define,como atribuir-lhes valores , o uso mais elaborado do cout e o uso do cin para recebermos um valor digitado pelo usuário.
Checando o que o Sr. (não)aprendeu
1- Para que serve o comando cin?
2- Mostre-me com declarar duas variáveis ,um float e outro int chamadas Joao e Maria.
3- Usando Joao e Maria peça para o usuário digitar dois valores e os receba.
4- O que há de errado com este código??
#include< iostream >
using
namespace std;
int main()
{
int
char;
cout<<"Digite sua idade"<< "\n";
cin>>char>>"\n";
cout<<char;
cin.get();
cin.get();
return 0;
}
5- Em que situação uma variável const pode ser alterada???
Artigo longo...Se não entenderem, os COMENTÁRIOS existem para isso.
quinta-feira, 25 de dezembro de 2008
Se linguagens de programação fossem religiões...
Java seria o Cristianismo tradicional— É teoricamente baseado no C, porém evita tantas antigas leis dele você não se sente no Judaísmo de jeito nenhum. Além disto, acrescenta seu próprio conjunto de leis rígidas que seus seguidores consideram de longe superior ao original. E não estão apenas certos de que esta é a melhor linguagem do mundo, mas tem vontade de queimar todos àqueles que a criticam,tudo em nome do seu deus ,o Framework.
PHP seria o Catolicismo não praticante – Luta com Java por fiéis no mercado da Web. Toma uns poucos conceitos do C e do próprio Java, porém apenas aqueles que este realmente gosta como as quermesses.Talvez não seja tão coerente quanto outras linguagens mas pelo menos lhe deixa um sentimento de liberdade e um maior conforto com suas leis e a idéia central da doutrina.Também o conceito de goto inferno foi abandonado inteiramente.
C++ seria o Islamismo—Além de ter todas as leis do C coloca acima destas um conjunto complexo de regras novas.É tão versátil que pode ser usado para fazer várias coisas desde atentados terroristas até belas obras de arte.Seus adeptos estão convencidos de que esta é a última linguagem universal e se irritam com aqueles que discordam deste fato.Ademais se um infiel insultar seu profeta Bjarne Stroustrup muito provavelmente um seguidor radical irá ameaçá-lo de morte .
C# seria o Mormonismo— A primeira vista é a mesma coisa que Java. Porém com uma olhada mais profunda você percebe que ele é controlado por uma única corporação (o qual muitos Javeiros acreditam ser o mal) adorada no seu templo, o Visual Studio .NET.Você pensa que ele provavelmente seria legal; isso se todos os fiéis do Java não te discriminassem tanto por segui-la.
Lisp seria o Zen Budismo— Não há sintaxe, não há deuses a serem seguidos. O universo todo está ao seu alcance— você só precisa estar sintonizado. Muitos dizem que esta não é uma linguagem de jeito nenhum; outros dizem que é a única religião que faz sentido.
Perl seria o Voodoo— Uma série de ritos com encantamentos que envolvem sangue e bonecos espetados são usados para fins imediatos. Geralmente utilizado quando seu chefe lhe obriga a fazer uma tarefa urgente às 10 horas numa sexta à noite.
Assembly seria o Espiritismo— Passa-lhe a idéia que você mesmo também pode ser um médium e entrar no mundo binário, mesmo que através de símbolos, sem a real necessidade dos lideres espirituais das outras religiões: os debbugers .
Ruby seria o Neopaganismo— A mistura de várias linguagens e idéias batidas em algo que pode ser reconhecido como uma linguagem. Seus adeptos crescem rapidamente e embora você os olhe com suspeitas, no geral, são pessoas bem intencionadas e com nenhuma vontade real de ferir ninguém.
Visual Basic seria a Maçonaria— Com a idéia de conseguir as coisas facilmente e se tornar rico vendendo rapidamente seus programas que são feitos rapidamente.
COBOL seria o Antigo paganismo – Uma vez isto dominava uma vasta região e era muito importante, mas hoje em dia está quase morto, para o bem de todos nós. Mesmo que muitos fiquem assustados com os rituais exigidos por suas divindades, há quem insista em mantê-lo vivo ainda hoje.
Python seria o Humanismo— É simples, irrestrito e tudo que você precisa seguir é o bom senso. Muito dos seus adeptos clamam estar livre do fardo imposto por outras linguagens e que eles redescobriram o prazer de programar. Contudo há quem diga que isto é apenas outra forma de algoritmo.
Lua seria a Wicca— Uma linguagem panteísta facilmente adaptável com qualquer cultura. Seu código é muito liberal permitindo técnicas que seriam descritas como mágica por outros acostumados com linguagens mais tradicionais. Tem uma forte conexão com o céu.
HTML seria o Ateísmo—Não há templos como os IDEs nas outras religiões,nem mentores espirituais como os compiladores. Não é nem mesmo uma linguagem embora muita gente ache que sim. É a falta de qualquer crença e ainda que existam “sugestões” de como fazer ninguém realmente as segue. CENTER é uma tag depreciada? Meh. Morais são relativas, codifique o que quiser e os browsers ainda darão certo.
Adaptado de “If programming languages were religions” e alguns de seus comentários.
Os Administradores Malvados não recomendam isto para quem não tem senso de humor e não sabe reconhecer uma brincadeira.
| Reações: |
Seja o novo Administrador Malvado
Como todos sabem o Administrador 4 foi banido.Então após semanas de planejamento(como foi visto na falta de artigos novos)o conselho jedi Adm resolveu abrir vaga para um novo Adm Malvado :o Administrador 5 (porque como todos sabem o número 4 não é um número de respeito: representa a morte na China).
Então se o sr. se acha mau o suficiente e preenche todos os pré-requisitos por apenas 20 parcelas de dezenove e noventa e nove você adquire deve apenas responder a questão :
"Por que eu (logo você) seria o novo Administrador 5?"
Para participar clique aqui
Aviso: Os administradores malvados não se responsabilizam se o sr. sumir misteriosamente após participar desta promoção
Não recomendado para crianças menores de três anos, n00bs, usuários comuns e emos em geral.
Os Administradores malvados não recomendam você como o novo Administrador 5.
