Diferença entre C, C++ e C#

BigJoy

Membro
Hey,

à umas semanas atrás comecei a estudar programação (linguagem C), ao longo da pesquisa eu fui me deparando com estas duas linguagem derivadas do C(penso eu xD), mas a questão aqui e qual a diferença desta 3 linguagem, qual e a mais utilizada e para que tipo de software?

cumps.
 
C - http://en.wikipedia.org/wiki/C_(programming_language)
C++ - http://en.wikipedia.org/wiki/C++
C# - http://en.wikipedia.org/wiki/C_Sharp_(programming_language)

Esses artigos da Wiki parecem-me conter a informação que queres.

Opinião pessoal, primeiro aprende programação estruturada com C/C++ .

Depois, ainda no c++, podes começar a aventurar-te na programação orientada a objectos.

Quando compreenderes quando as coisas funcionam, começa a aventurar-te noutras tecnologias. C#, Java, ....
 
De forma simples, o C++ é uma espécie de upgrade à linguagem C que veio preencher muitas lacunas. Basicamente tudo o que escreves em C compila perfeitamente em C++ (apesar de ser altamente desaconselhado fazer isto).

O C# já é mais diferente de C/C++. É uma linguagem mais "geral" que facilita o desenvolvimento de ferramentas e programas para windows principalmente, é de mais alto nível que C/C++ mas também mais lenta normalmente.
 
C# (C Sharp) é uma linguagem gerenciada que faz parte do framework .NET da Microsoft. Inicialmente só era possível usar no Windows, mas depois apareceu o "Mono" - uma implementação open-source do framework, com suporte ao Mac OS X, Linux e Windows, e que (obviamente) inclui um compilador de C#.

Já C/C++ são linguagens um pouco mais low-level, onde tu tens o poder e responsabilidade de gerenciar a memória (apesar de agora isso já não ser um problema tão grande com os smart pointers e todas essas utilidades que se tornaram standard no C++11).

C/C++ parecem ser as duas linguagens mais usadas no desenvolvimento de software. Por exemplo, a maior parte dos jogos 3D são escritos em uma dessas linguagens. Eu, na minha opinião, não acho que valha a pena aprender C se quiseres aprender C++ mais tarde, porque como já foi dito, são quase o mesmo, exceto a última tem mais funcionalidade (classes, new/delete, static_cast/dynamic_cast/reinterpret_cast/const_cast, void como único parâmetro para indicar que a função não recebe nada não é necessário, etc.). No entanto, não estou a dizer que C não é necessária. Por exemplo, em desenvolvimento de sistemas operativos, C é bastante usada (kernel, principalmente).
 
Última edição:
Back
Topo