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]