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.




Wikisplode.gif
Para aqueles sem senso de humor, os espertalhões da Wikipédia têm um artigo (pouco confiável) 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