Linguagem C

Origem: Desciclopédia, a enciclopédia livre de conteúdo.
Ir para: navegação, pesquisa

Nota: Para outros significados de C, ver C.


Clippy.gif

Precisando de ajuda para implementar Gambi Design Patterns? Clique aqui para resolver esse problema!


Zezima.jpg
Este artigo é complexo demais
Este artigo está codificado em linguagem de Nerds e se você for uma pessoa normal provavelmente não entenderá. Se não quiser ter trauma pelo resto da vida não leia este artigo.




60px-Bouncywikilogo.gif
Para os fanáticos religiosos entre nós que escolhem acreditar em mentiras, os supostos experts da Wikipédia têm um artigo sobre: Linguagem C.
Ken Thompson e Dennis Ritchie os respectivos Idiotas inventores da linguagem c

Cquote1.png C traiu o movimento programador, véio! Cquote2.png
Dado Dollabela sobre C
Cquote1.png include <mybrain.h> printf(" faca-se o mundo"); system("run") Cquote2.png
Chuck Norris sobre C
Cquote1.png Eu prefiro C... Cquote2.png
Raul Seixas sobre C
Cquote1.png Ué... Cadê o mouse? Cquote2.png
Delpheiro sobre C
Cquote1.png Como é que eu limpo a tela mesmo? Cquote2.png
n00b sobre C
Cquote1.png Passa um pano molhado! Cquote2.png
Carla Perez sobre n00b
Cquote1.png Falha de segmentação Cquote2.png
C sobre C
Cquote1.png C trata os tipos de dados do jeito que meus clientes me tratam. Cquote2.png
Puta sobre C
Cquote1.png ╓▀▒╂┲▅▧█╪╪╙╙▊▓▓ Cquote2.png
Programador sobre o suporte de C a i18N
Cquote1.png Seus brutos. Cquote2.png
Emo Programmer sobre C
Cquote1.png Pronto, agora é só colocar uma funçãozinha aqui, pra chamar aquela outra, e eu nem precisei fazer nenhum loop! Cquote2.png
Praticante de POG sobre C
Cquote1.png Se não existisse C hoje estaríamos programando em Obol, Pasal, BASI! Cquote2.png
Dennis Ritchie sobre C
Cquote1.png Cê... cê... cê cê re le cê cê Cquote2.png
Mamonas Assassinas sobre C
Cquote1.png C é feio! Cquote2.png
C sobre você
Cquote1.png 1. sm Terceira letra do alfabeto, consoante 2. num Como algarismo romano, equivale a 100 3. Terceiro numa série indicada pelas letras do alfabeto Cquote2.png
Dicionário sobre C
Cquote1.png Em que lugar do código eu coloco as exceções? Cquote2.png
Programadora Java estagiária sobre C
Cquote1.png Quer dizer então que aquilo era um ponteiro, e não o operador aritmético de multiplicação? Ai meu Jisuius! Eu sabia que ia dar merda! Cquote2.png
Programador VB sobre C
Cquote1.png Lexograficamente falando, é de total verossimilhança que um programa escrito em Linguagem C devolva o controle ao sistema operacional, ao término de sua execução, nos dando a impressão de que não foi executado. Mas existem formas de burlar tais eventos, uma delas é usando a função getche()... Cquote2.png
Professor universitário Pogger metido a sabichão sobre C
Cquote1.png O que esse cara quis dizer? Cquote2.png
Aluno universitário sobre professor universitário pogger sobre C
Cquote1.png Oh My God! O buffer está cheio de lixo, e o garbage colector não funciona. Oh My God! Cquote2.png
Programador Java Emo sobre C
Cquote1.png É C de Cilada, Bino! Cquote2.png
Pedro sobre C
Cquote1.png Professor, então quer dizer que eu posso escrever long long long long long ... long int? Cquote2.png
Aluno universitário após uma aula de tipos de dados sobre C
Cquote1.png Na União Soviética o ponto e vírgula se esquece de você!!! Cquote2.png
Reversal Russa sobre ponto e vírgula


C é uma linguagem de programação imitada da linguagem B (daí o nome C) para escrever os tipos mais fodidos de software, como Orkut, MSN, trojans, keylogers, e outros tipos de vírus para sistemas inoperacionais como o Windows.

Tabela de conteúdo

[editar] A Linguagem

Veja um exemplo típico de Hello World C:

#include <stdio.h>
Int main (void) {
 Printf("hellu worldi");
Return 0;
}

Vejam agora uma típica gambiarra em C, muito utilizada por POGramadores Seniors de comunidade hacker de Orkut.

#include<stdio.h>
#include<stdlib.h>
int main(){
system("echo hello word"); //Sim, eles escrever word em vez de world.
system("pause");
return main()
}

Esse é o típico exemplo do bom programador. Programadores babacas que programam C em Windows fazem assim:

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
 char str[] = {'H','e','l','l','o',' ','w','o','r','l','d', '\0'}
 puts(str);
 system("pause"); //comando do DOS
 getche(); //apenas para garantir
 getch(); // que cara mais inseguro
 return 0;
}

Apesar de ninguém saber para que serve essa merda do conio, 98.43% dos POGprogramadores C a usam.

Código mais usado:

#include <stdio.h>

int main(){
 printf("Segmentation Fault.");
 return 0;
}

Exemplo mostrando o quão desnecessarios os tratamentos de erro são...

#include <conio.h>
#include<string.h>
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
void main(void)
{
 char str[] = {'H','e','l','l','o',' ','w','o','r','l','d', '\0'}
 if(strcmp(str,"Hello world")==0)
{
 puts(str);
}
else
{
printf("Hello world");
printf("\n");
exit(1);
}
 system("pause"); 
 getche();
 getch();
 return 0;
}

[editar] Comparação entre C e Java

C
Pts
Pts
Java
Ninguém sabe usar.
0
1
Até um idiota usa.
Faz o programador

parecer o fodão, pois ninguém entende o código.

1
1
Até um estágiário

poderia entender o código.

É rápido pra

caralho.

2
1
É leeeeeeeeeeento

para caralho.

Possue vários

compiladores

3 2 Possue várias API`s


[editar] Falhas de segurança

C é a linguagem de programação preferida dos hackers, lammers, pessoas que não conseguem pegar ninguém e fabricantes de antispyware. É estatisticamente comprovado que um programa escrito em C tem 73,48% de chances de ser ilegível e 44,88% de chance de conter um ou mais furos de segurança (existe também uma chance de 3,14159% de que o programa faça uso da biblioteca indexada pelo Vaticano, a conio.h).

A linguagem C é muito utilizada para criar vírus no sistema operacional vírus Windows. A maioria das vulnerabilidades tinha como causa os seguintes problemas:

  • Buffer overflow
  • Internal Stack Overflow error
  • Buffer overrun
  • Buffer underrun
  • Buffer rape
  • Desconhecimento da função free() por parte dos desprogramadores
  • Uso exagerado da função malloc() por parte dos desprogramadores
  • Uso exagerado da função calloc() por parte dos desprogramadores
  • Total falta de noção quanto ao uso da função realloc() por parte dos desprogramadores
  • A biblioteca conio.h
  • A dificuldade em manipular strings
  • Retornar endereços de variáveis locais em funções que retornam chars automaticamente promovidos para ints por meio de funções que recebem argumentos variádicos com macros pertencentes ao padrão C99
  • A dualidade ponteiro/vetor. De acordo com o princípio da incerteza de Heisenberg, se você sabe o endereço de memória contido num ponteiro, você não sabe o tamanho do vetor equivalente; se você sabe o tamanho do vetor, você não sabe o endereço de memória sem convertê-lo antes num ponteiro (o que automaticamente faz com que você deixe de saber o tamanho do vetor)
  • O desprogramador e a mula do usuário final
  • Falta de café
  • Lesão por desEsforço Repetitivo (LER)

Estudos apontam que o uso de coleta de lixo (garbage collector) eliminaria todos esses problemas, mas alguns desprogramadores temem que isso eliminaria (coletaria) a própria linguagem. A própria Boiorland realizou algumas experiências nesse sentido, mas falhou miseravelmente. Felizmente, o coletor de lixo implementado pela Boiorland recolheu apenas o compilador (que, inacreditavelmente, fedia mais que a própria linguagem), mantendo a linguagem intacta.

Uma grave falha de segurança da linguagem C, entretanto, não tem nada a ver com sistemas computacionais, mas com a integridade sexual do desprogramador. Tal falha se deve ao uso do operador de excitamento ++ que, lamentavelmente, pode levar o programador a atos de sexualidade discutível. Por exemplo, veja o seguinte trecho de código:

i = i++;

Nesse exemplo, o desprogramador tenta aplicar o operador de excitamento ++ ao objeto i e inseri-lo no seu próprio objeto, causando comportamento sexualmente indefinido. Apesar dessa falha, a linguagem de programação C é considerada uma linguagem de macho, pois ainda mantém as aparências usando linguagem chula e de baixo-nível... Exceto no caso geral de desprogramadores do sistema da frutinha.

[editar] C no Windows

Desprogramadores que usam C no Windows não conseguem dar um passo sem a salvadora-de-empregos-onipotente biblioteca windows.h. Até mesmo para se criar o método main é necessário tal avançadíssimo recurso criado, patentiado, registrado e castrado pela MicoSoftware Microsoft. Vejamos como típico desprogramador C de Windows começa um programa:

#include <windows.h>
#include <conio.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
   MessageBox(NULL, "Adeus, mundo cruel!\n", "Mensagem", MB_OK);
   getche();
   return 0;
}

[editar] (in)Utilidades da linguagem

Como sempre, uma linguagem tão arcaica quanto C ainda pode ser útil (ou não). Segue uma lista das Inutilidades da linguagem C.

  • Sistema de controle de estoque da padaria do seu João.
  • Fazer o cliente pagar pela manutenção graças as falhas alocação de ponteiros.

[editar] Futuro

Hoje existem as linguagens C-dislike-pioradas (tais como C++), linguagens naturalmente afrescalhadas (como Java) ou ainda pseudo-linguagens (como C#). Isso porque quem as inventou não era macho o suficiente para usar C e mete umas porcarias no C, dando a entender que é macho. A isso se chama de metrossexualidade.

Apesar disso, atualmente está em desenvolvimento um novo padrão da linguagem C. O novo padrão irá acrescentar novas funcionalidades àquilo que ninguém sabe como funciona e todo mundo acha que não precisa. Rumores indicam que o novo padrão será chamado Cc-Z~ (pronuncia-se "Cecê-zão") em homenagem aos nerds que já trabalham há meses no seu desenvolvimento sem tomar banhos.

v d e h
Linguagens de Programação POG

ABAPActionScriptKhadaAJAXAlgolAlgoritmoASPAssemblyBASICBashBefungeBrainfuckCC♭C#C=C+1C=C-1ClipperCOBOLColdFusionDDBaseDelphiEiffelFortranFoxProGambiarraGeneXusGroovyHaskellHQ9+HQ9++HTML (Microsoft HTML)• IntercalJADJavaJavaScript((((Lisp))))LuaMakerMalbolgeManaged C++ModulaNatural.NetObjective-COcamlPascalPascaliPerlPutaPHPPOGPortugolPrologPythonRubyRuby on RailsRuby off RailsScalaSmalltalkSQLVBScriptVisual BasicVHDLWilde CWhitespace

Ferramentas pessoais
Ver e modificar namespaces

Variantes
Visualizações
Ações
Navegação
Colaboração
Votações
(F)Utilidades
Novidades
Redes sociais
Correlatos
Ferramentas
Outras línguas