Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Model Context Protocol (MCP): O Futuro da Interação com Modelos de IA
    • Processamento Assíncrono: Os Desafios da Escalabilidade
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»O que é a Ecma e qual é sua relação com C#?

    O que é a Ecma e qual é sua relação com C#?

    Nagib Sabbag FilhoBy Nagib Sabbag Filho29 de julho de 20247 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    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/

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Nagib Sabbag Filho
    • Website
    • LinkedIn

    Nagib Sabbag Filho é Professor Universitário e Tech Manager. Possui uma trajetória de conquistas em certificações técnicas e ágeis, incluindo MCSD, MCSA e PSM1. PG em Gestão de TI pelo SENAC e MBA em Tecnologia de Software pela USP, Nagib cursou programas de extensão do MIT e Universidade de Chicago. Outras conquistas incluem a autoria de um artigo sobre chatbots, revisado por pares e apresentado na Universidade de Barcelona.

    Posts Relacionados

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read

    OpenAI + MongoDB, utilizando .Net com o Atlas Vector Search

    C# NoSql 17 de maio de 20247 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • Model Context Protocol (MCP): O Futuro da Interação com Modelos de IA
    • Processamento Assíncrono: Os Desafios da Escalabilidade
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    Categorias
    • Arquitetura (15)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (2)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile