Um pouco sobre a história do CShap e .Net

12/08/2018

1

Resolvi criar um manual da linguagem CShap em Unity3D! Assim mostro um pouco do meu conhecimento e o compartilho com quem quiser aprender CShap.

Meu foco nesse manual é CShap trabalhando com Unity3D na criação de games. Vou começar do básico até assuntos avançados.

_Bora_programar...

Entender um pouco da história do CShap e do .Net é essencial para enxergar os motivos que a levaram ao sucesso.

No final da década de 1990 a Microsoft tinha diversas tecnologias e linguagens de programação para resolver muitos problemas diferentes. Toda vez que um programador precisava migrar para uma nova linguagem, era necessário aprender tanto a nova linguagem quanto suas bibliotecas e conceitos. Para solucionar esses problemas, a Microsoft recorreu à linguagem Java.

O Java agradou os engenheiros da Microsoft pois com ela podíamos construir programas que eram independentes do ambiente de execução, além de possuir diversas bibliotecas com soluções prontas para diversos problemas. Para lançar produtos baseados no Java, a Microsoft assinou um acordo de licenciamento com a Sun para utilizar o Java em ambiente Windows.

Porém, a linguagem Java possuía um grave problema: ela não se comunicava bem com as bibliotecas de código nativo (código de máquina) que já existiam. Para resolver isso, a Microsoft decidiu criar a sua própria implementação do Java chamado J++, que possuía extensões proprietárias que resolviam o problema de comunicação com o código nativo existente. Para o desenvolvimento dessa nova implementação do Java, a Microsoft contratou um engenheiro chamado Anders Hejlsberg, um dos principais nomes por trás do Delphi.

O J++ era uma versão da linguagem Java que só podia ser executada no ambiente Microsoft. Seu código não podia ser executado em mais nenhum ambiente Java, o que violava o licenciamento feito com a Sun e, por isso, a Microsoft foi processada. Uma das mais conhecidas batalhas judiciais da época.

Sem o J++, a Microsoft foi obrigada a repensar sua estratégia sobre como lidar com as diferentes linguagens e tecnologias utilizadas internamente. A empresa começou a trabalhar em um nova plataforma que seria a base de todas as suas soluções, que posteriormente foi chamada de .Net. Esse novo ambiente de desenvolvimento da Microsoft foi desde o início projetado para trabalhar com diversas linguagens de programação, assim diversas linguagens diferentes compartilhariam o mesmo conjunto de bibliotecas. Com isso, para um programador migrar de uma linguagem para outra ele precisaria apenas aprender a linguagem sem se preocupar com as bibliotecas e APIs.

Além de uma plataforma a Microsoft também precisava de uma linguagem de programação. Um novo projeto de linguagem de programação foi iniciado, o projeto COOL (C-like Object Oriented Language). Anders Hejlsberg foi escolhido como engenheiro chefe desse novo projeto. COOL teve seu design baseado em diversas outras linguagens do mercado como Java, C, C++, Smalltalk, Delphi e VB. A ideia era estudar os problemas existentes e incorporar soluções.

Perceba a dificuldade que os programadores tinham em desenvolver algo no início. E hoje em dia, ainda tem gente que reclama da Unity ou acha difícil programar em CShap, acredite CShap é fácil!

Outro detalhe, se você já ouviu falar sobre a linguagem C++ no desenvolvimento de games. Saiba que é possível programar e C++ em Unity, vou falar com mais detalhes no futuro.

Mas, grave isso!

Os modelos C++ e genéricos CShap são recursos de linguagem que fornecem o suporte aos tipos parametrizados. No entanto, há várias diferenças entre os dois. No nível de sintaxe, os genéricos CShap são uma abordagem mais simples para os tipos parametrizados sem a complexidade de modelos C++.Além disso, o CShap não tenta fornecer toda a funcionalidade que os modelos C++ fornecem. No nível da implementação, a principal diferença é que as substituições do tipo genérico do CShap são realizadas em tempo de execução e as informações do tipo genérico são preservadas para objetos instanciados.

Conheça as diferenças entre as linguagens!
C - Linguagem estruturada, altamente bem implementada (considerada por alguns a melhor linguagem de programação existente), a qual foi usada para desenvolver os SO-s mais famosos existentes, como o Unix, Linux e Windows. Essa linguagem é famosa pois permite trabalhar diretamente com os endereços de memória (ponteiros), o que permite que programadores experientes façam programas com um ótimo gerenciamento de memória.

C++ - Linguagem que permite programação estruturada e orientada a objetos, é uma evolução do C. Tem todas as vantagens do C, mas permite a criação de objetos, graças ao novo (não tão novo assim...) paradigma OO. Hoje o Windows, como outros softwares da microsoft, eh feito em C++.

CShap - Lê-se "C-Sharp", é a resposta da microsoft ao Java. É todo OO e é linguagem base do .NET, tecnologia da microsoft que bate de frente com o Java.
Responder

Posts

15/08/2018

Rafael Penido

Opa., super legal Carlos! Quando tiver com o manual pronto manda pra galera ai!

Vlw
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira