Ioniz Ronin wrote:

> ae lista, qual a diferen�a entre c e ansi c?
> queria comprar um livro que o meu chefe tem, 'c,
> a linguagem de programa��o', da ed. campus,
> escrito por Brian W. Kernigham e Dennis M. Richie
> (uma galera bem fraquinha....), e descobri que
> tem esse livro para a linguagem c e outro para
> ansi c.... qual a diferen�a??? e a diferen�a
> entre estas e c++ e c#? sei mais ou menos que o
> c++ seria uma implementa��o mais recente do c, e
> mais moderna... e que o c# � a tentativa da
> microvaporwaresoft de criar uma outra
> implementa��o do c parecida (na estrutura e na
> id�ia) com o java. am I right?

Vamos l�. N�o � t�o simples assim.

Um pouco de hist�ria. Laborat�rios Bell, anos 70. Existia um operacional 
chamado Multics rodando nos computadores por l�. O desenvolvedor Brian 
W. Kernigham decidiu escrever um novo operacional para substitu�-lo, que 
  foi o UNIX Time Sharing. S� que, para isso, ele precisava de uma 
linguagem de programa��o, que foi desenvolvida por Dennis M. Ritchie, 
que foi o C.

O C na verdade era uma evolu��o do B, que por sua vez era evolu��o do 
BCPL. O B n�o era utiliz�vel porque do BCPL para o B foram retiradas 
coisas demais. O C trouxe de volta algumas dessas coisas.

O que acontece � que durante um bom tempo, existiam v�rios compiladores 
de C por a�, sem nenhum padr�o regulando o que deveria e o que n�o 
deveria ter em cada um. Esse � o chamado "traditional C", que tem coisas 
como tr�grafos. Se voc� n�o sabe o que � um tr�grafo, tanto melhor: 
nunca vai us�-los. (n�o, n�o � o operador tern�rio ?: )

N�o sei quando, o American National Standards Institute (acho que � 
isso), o ANSI, decidiu padronizar o C. Surgiu da� o ANSI C, que � um C 
padronizado. Ele define quais operadores devem existir, quais comandos e 
quais fun��es de base devem existir na biblioteca (puts, printf, fopen, 
etc.).

O C++ foi uma evolu��o do C. N�o lembro quando nem por quem, mas sei que 
foi no meio da d�cada de 80 que ele foi desenvolvido. E acho que o 
desenvolvedor utilizou alguns conceitos do Pascal. O fato � que o C++ 
implementa a programa��o orientada a objetos no C.

Atualmente, o C e o C++ s�o padronizados pelo ISO (International 
Standards Organization, acho). O mais recente acho que � o ISO C 98, ou 
coisa assim. Voc� deve encontrar refer�ncias a ISO C 9x por a�. Outro 
padr�o que existe � o ditado pelo POSIX, que inclui algumas outras 
fun��es de base na biblioteca do ANSI C para funcionamento em sistemas 
POSIX, tais como getpid(), setuid() e por a� vai.

Por fim, o C# (C sharp) � uma inven��o da Microsoft e, como tal, 
padronizado por ela mesma. A id�ia e estender o conceito de objetos do 
C++ para todos os tipos, portanto tudo � objeto. Isso difere do Java, em 
que existem tipos de base (n�meros) e objetos. O Java � um "C++-". Em 
C#, voc� pode escrever 1234.toString(); os ponteiros ainda existem, mas 
s�o bem restritos. Em Java, n�o existem ponteiros.
-- 
   Thiago Macieira - UFOT Registry number: 1001
  [EMAIL PROTECTED]
    ICQ UIN: 1967141  PGP: 0x8F2978D5 and 0xEA9037A5 (PGP 2.x)
      Registered Linux user #65028
        


Assinantes em 02/12/2001: 2403
Mensagens recebidas desde 07/01/1999: 144332
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a