Quando um aluno de uma faculdade ou até mesmo programador ou um iniciante for estudar orientação a objetos, provavelmente irá estudar também o
C# da
Microsoft. O C# (
C Sharp) foi criado com o objetivo de permitir que as aplicações, sejam elas da web ou desktop, se comuniquem e troquem dados de forma simples e transparente, independentemente do sistema operacional.
O C# faz parte da plataforma .NET que possui as seguintes características:
- Independência de linguagem de programação, o que permite implementar mecanismos de herança, o controle de exceções e a depuração entre diferentes linguagens de programação.
- Reutilização de código legado, o que implica reaproveitamento de código escrito usando outras tecnologias das mais diversas bibliotecas existentes.
- Tempo de execução compartilhado, o runtime de .NET compartilha as diversas linguagens que a suportam, ou seja, o runtime é o mesmo para todas as linguagens da .NET.
- Sistemas autoexplicativos e controle de versões, ou seja, cada parte do código .NET contém em si mesma a informação necessária e suficiente de forma que o runtime não precise procurar mais informações sobre o que está sendo executado. O runtime encontra essas informações no próprio sistema em questão e sabe qual a versão a ser executada.
- Simplicidade na resolução de problemas complexos.
O C# surgiu como uma linguagem simples, robusta, orientada a objetos, fortemente tipada e altamente escalável. Permite que uma mesma aplicação possa ser executada em diversos dispositivos de hardware, sejam eles PCs, tablets ou qualquer outro dispositivo móvel.
Suas principais características são:
- Clareza, simplicidade e facilidade, ou seja, é simples, fácil de aprender e bastante poderosa.
- É completamente orientada a objetos, diferentemente de muitas linguagens existentes no mercado.
- Não requer ponteiros para gerenciar a memória, esse gerenciamento, é feito pelo GC (Garbage Collector).
- Suporta interfaces, sobrecarga, herança, polimorfismo, atributos, propriedades e coleções, dentre outras características essenciais em uma linguagem orientada a objetos.
- Possui código 100% reutilizável: todo o código desenvolvido em C# é reutilizável a partir de qualquer outra linguagem de programação.
Atualmente, tudo isso pode ser aproveitado também pelo
Linux através de dotnet e o vscode. Não é a mesma coisa que a poderosa ferramenta da Microsoft o Visual Studio, embora os recursos citados foram desenvolvidos também pela Microsoft.