GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Dúvida sobre a Diferença das Linguagens de Programação


#1

Boa noite pessoal, eu gostaria de saber qual a diferença da linguagem C, C++ e C#. E qual IDE e compilador que devo utilizar para começar aprender cada uma delas!


#2

Sua dúvida talvez se dê pelo fato das 3 compartilharem um nome parecido.

Os nomes fazem pensar que elas têm alguma relação, como se uma fosse a próxima versão da outra ou algo assim.

A verdade é que sua pergunta daria na mesma se fosse “Qual a diferença em Python, PHP e COBOL”.

Quero dizer que são linguagem de programação completamente diferentes e independentes.

Claro que C, C++ e C# possuem semelhanças, principalmente na sintaxe, mas até ai o Java e PHP e afins também são semelhantes. Todas usam o { ... } para delimitar blocos de código. Todas tem if, else, while.

Contudo, cada uma possui suas particularidades e são adequadas para coisas diferentes. Pesquise sobre cada uma delas e veja qual se adequa mais aos seus propósitos.


#4

Mais ou menos … C e C++ são bastante próximas, tanto que compiladores C++ compilam código C normalmente. Na prática, o estranho nesse ninho é C# que é uma pilha completamente diferente.


#5

Resumidamente, C é linguagem mais antiga dessas. Ela foi feita pra simplificar a programação, ter portabilidade entre plataformas e alto desempenho. Só lembrando que ela foi feita em uma época que cada fabricante tinha uma arquitetura de computador e alto desempenho significava desenvolver em Assembly e cada computador tinha um Assembly diferente.
O C++ descende diretamente do C e possui a mesma sintaxe. A grande diferença é que C++ possuí orientação a objetos. O legal é que se pode compilar código “C Clássico” com um compilador de C++.
Já C# pode se dizer que é um filho desgarrado do Java. Na época a M$ tinha um acordo com a Sun pra fazer uma implementação Java própria. Depois de alguns desentendimentos o acordo acabou e a M$ continuou produzir um Java não oficial (procurem por J++ e J#). A Sun processou, ganhou o processo e pra M$ não perder o que já tinha desenvolvido, mudou algumas coisa e renomeou pra C#.
Agora o que vale a pena estudar (na minha opinião)
C - C ainda é utilizado, mais não vejo porque aprender C. Estude C++. É mais utilizado e na prática você aprende C. Quanto a IDE, não existe uma oficial. É questão de gosto. Se você já está acostumado com o Eclipse pra desenvolver em Java, por exemplo, não vejo porque mudar de IDE.
C# - Nesse caso eu já recomendo o Visual Studio, afinal é uma IDE da M$ para uma linguagem da M$. A única exceção é se seu computador não dar conta do VS (o que não é difícil, já que é bem pesada). Daí você pode partir pro Mono.
Enfim, bem resumidamente, é isso.
Falou!


#6

Então, @rmendes08, te-se que tomar cuidado com isso. O próprio Stroustrup fala sobre isso num FAQ, que há programas que são válidos em C que não são em C++ ou que tem significados diferentes nas duas linguagens.

http://www.stroustrup.com/bs_faq.html#C-is-subset

E também eu gosto de já jogar que são linguagens completamente diferentes porque já vi muita gente achando que C++ é apenas uma extensão do C, o que não é verdade, pois são linguagens distintas, cada uma com sua própria especificação.

@JonSilvestrini só duas correçõeszinhas bobas:

É que C não foi inicialmente pensada com portabilidade em mente. O Ritchie diz isso aqui: https://www.bell-labs.com/usr/dmr/www/portpap.html (III. PORTABILITY OF C PROGRAMS - INITIAL EXPERIENCES).

E o diferencial de C++ não é apenas a OO. O autor descreve a linguagem como sendo multiparadigma veja:

E @raf535, se estiver interessado em C#, além do Mono que o Jon citou, há também o .NET Core que permite usar C# e o framework .NET no Linux e no macOS.