Introdução
A organização Ecma International e a linguagem de programação C# têm uma relação muito estreita e significativa ✋. Mas antes de entrarmos nessa relação de uma forma resumida, vamos só dar uma revisada breve sobre o que é a Ecma International e o que é a linguagem C#? 🤓
O que é Ecma International? 📝
Ecma é uma organização internacional privada para padronização de sistemas de informação e comunicação. Fundada em 1961, a Ecma tem o objetivo de desenvolver e promover padrões para esses sistemas. A organização é conhecida por produzir padrões internacionais de alta qualidade e contribui significativamente para o desenvolvimento global da indústria de TI. 📃
O que é Csharp (C#)? 📝
Sei que é “chover no molhado” 😂, mas só para revisar rapidinho… Csharp, ou C#, é uma linguagem de programação moderna, orientada a objetos e desenvolvida pela Microsoft como parte de sua plataforma .NET. A linguagem é poderosa, flexível e fácil de aprender, tornando-se uma das linguagens de programação mais populares atualmente. 📃
Direto ao ponto, qual é a relação entre Ecma e Csharp? 🤔
Então, qual é a relação entre Ecma e Csharp? Bem, a resposta está na padronização 😎. A Ecma desempenhou um papel crucial na padronização da linguagem de programação C#. A Microsoft, a desenvolvedora de C#, submeteu a linguagem à Ecma International para garantir que ela se tornasse um padrão internacional. O resultado? C# foi oficialmente padronizado pela Ecma como ECMA-334. Isso significa que C# adere a um conjunto de regras e diretrizes definidas pela Ecma, garantindo sua interoperabilidade e consistência. 👊
Entendendo o Hello World na visão do Ecma
Como dito anteriormente, o C# segue as diretrizes e a sintaxe definidas pela especificação ECMA-334, que é o padrão para a linguagem C# publicado pela Ecma. Sendo assim, o exemplo clássico de “Hello World” é, na verdade, uma forma da linguagem ficar em “compliance” com a Ecma.
using System;
namespace MyNamespace
{
/// < summary >
/// Classe de exemplo, em conformidade com a Ecma
/// < / summary >
public class HelloWorld
{
// Propriedades (parâmetros) da classe
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedDate { get; set; }
/// < summary >
/// Construtor da classe, também em conformidade com a Ecma
/// < / summary >
/// < param name="id" >Identificador único.< / param>
/// < param name="name" >Nome da instância.< / param>
/// < param name="createdDate" >Data de criação.< / param>
public HelloWorld(int id, string name, DateTime createdDate)
{
Id = id;
Name = name;
CreatedDate = createdDate;
}
// Outros métodos e lógica da classe...
}
}
Este código define uma classe chamada HelloWorld. A classe tem um construtor, onde se inicia a instância. Simples, mas poderoso e padronizado com a Ecma! 🤟
Quer outro exemplo? Veja um da própria documentação da Ecma-334 (Chapter 7 – Basic concepts):
//Código oficial do ECMA-334.pdf
class A
{
void F()
{
int i = 0;
if (true) {
int i = 1;
}
}
void G()
{
if (true) {
int i = 0;
}
int i = 1;
}
void H()
{
if (true) {
int i = 0;
}
if (true) {
int i = 1;
}
}
void I()
{
for (int i = 0; i < 10; i++) {
H();
}
for (int i = 0; i < 10; i++) {
H();
}
}
}
Segundo a Ecma: Conforme especificado acima, o espaço de declaração de um bloco inclui quaisquer blocos aninhados. Assim, no exemplo acima, os métodos F e G resultam em um erro em tempo de compilação porque o nome I é declarado no bloco externo e não pode ser declarado novamente no bloco interno. No entanto, os métodos H e I são válidos, pois os dois I’s são declarados em blocos separados e não aninhados.
//Explicando o código oficial
class A
{
void F()
{
//I foi declarado aqui
int i = 0;
if (true) {
//Resultará em um erro
int i = 1;
}
}
void G()
{
if (true) {
//I foi declarado aqui
int i = 0;
}
//Resultará em um erro
int i = 1;
}
void H()
{
if (true) {
//I foi declarado aqui
int i = 0;
}
if (true) {
//I pode ser declarado novamente aqui, pois está em bloco separado
int i = 1;
}
}
void I()
{
//I sendo declarado no for
for (int i = 0; i < 10; i++) {
H();
}
//I pode ser declarado novamente
for (int i = 0; i < 10; i++) {
H();
}
}
}
Perceba que o Ecma é uma forma de formalizar as “regras” da linguagem, possibilitando entrar em conformidade e padronização.
Por que é importante que C# seja padronizado pela Ecma?
Existem várias razões pelas quais é importante que C# seja padronizado pela Ecma. Primeiramente, a padronização assegura que a linguagem de programação seja consistente e interoperável, o que significa que ela pode ser usada em diferentes plataformas e sistemas sem problemas de compatibilidade. 💻
Em segundo lugar, a padronização ajuda a garantir que a linguagem de programação seja de alta qualidade. A Ecma tem padrões rigorosos para os sistemas de informação e comunicação que padroniza, então se uma linguagem de programação é padronizada pela Ecma, você pode ter certeza de que ela é bem projetada e confiável. 📍
Finalmente, a padronização também pode ajudar a promover a adoção de uma linguagem de programação. Se uma linguagem é padronizada por uma organização respeitada como a Ecma, isso pode incentivá-la a adotar a linguagem, porque eles sabem que ela adere a um conjunto definido de padrões e diretrizes.
Quais outras linguagens de programação foram padronizadas pela Ecma?
A Ecma não padronizou apenas a linguagem de programação C#. Várias outras linguagens de programação notáveis também foram padronizadas pela Ecma, incluindo JavaScript (ECMA-262) 👊, Eiffel (ECMA-367) 👊 e Dart (ECMA-408) 👊.
O JavaScript, por exemplo, é uma das linguagens de programação mais populares e amplamente usadas hoje em dia. Foi padronizado pela Ecma em 1997, apenas dois anos após sua criação. A padronização ajudou a garantir a consistência do JavaScript entre diferentes navegadores e plataformas, contribuindo para a sua popularidade.
Da mesma forma, a linguagem de programação Dart, desenvolvida pelo Google, foi padronizada pela Ecma em 2014. A padronização ajudou a garantir que o Dart fosse uma linguagem de programação de alta qualidade e consistente, promovendo sua adoção na indústria de TI.
Um ponto de curiosidade é que o PHP não é padronizado pela Ecma 😐, pois sua padronização e desenvolvimento são geridos pela comunidade PHP e pelo PHP Group 😎, que é responsável pela manutenção do projeto e pela liberação das versões da linguagem.
Conclusão
Em resumo, Ecma International é uma organização que trabalha para padronizar sistemas de informação e comunicação, enquanto Csharp é uma linguagem de programação moderna e poderosa. A relação entre os dois vem do fato de que C# foi padronizado pela Ecma, garantindo assim a sua consistência e interoperabilidade. Esperamos que este artigo tenha ajudado a esclarecer a relação entre Ecma e Csharp! 😊
Referências
- Ecma International. (n.d.). Retrieved from https://www.ecma-international.org/
- Microsoft. (n.d.). What is C#? Retrieved from https://docs.microsoft.com/en-us/dotnet/csharp/
- ECMA-334 C# Language Specification. (n.d.). Retrieved from https://www.ecma-international.org/publications-and-standards/standards/ecma-334/
- JavaScript Standard (ECMA-262). (n.d.). Retrieved from https://262.ecma-international.org/
- Eiffel: Analysis, Design and Programming Language (ECMA-367). (n.d.). Retrieved from https://www.ecma-international.org/publications-and-standards/standards/ecma-367/
- Dart Programming Language Specification (ECMA-408). (n.d.). Retrieved from https://www.ecma-international.org/publications-and-standards/standards/ecma-408/