Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • Observabilidade para agentes: por que logs e traces tradicionais já não bastam
    • Context engineering: quando o problema deixa de ser prompt e vira arquitetura
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    • A Anatomia de um Prompt: Como Falar com a IA Como um Profissional de Tecnologia
    • Conheça os tipos de registros DNS: o guia completo sobre A, AAAA, NS, CNAME, MX, PTR, SOA, TXT, SRV, SPF e muito mais
    • Cache além do básico: por que LRU e TTL precisam andar juntos
    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
    • Observabilidade para agentes: por que logs e traces tradicionais já não bastam
    • Context engineering: quando o problema deixa de ser prompt e vira arquitetura
    • Clean Code (2ª edição): o que mudou e o que continua valendo
    • Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha
    • Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis
    Categorias
    • Arquitetura (31)
      • Microsserviços (3)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (93)
      • NoSql (60)
      • Sql (38)
    • Boas práticas (35)
      • Gestão & Produtividade (5)
      • Metodologias Ágeis (6)
    • Cursos (53)
    • Dicas (108)
    • Front-End (92)
    • IA (8)
    • 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

    Código Simples no Facebook
    Código Simples no Facebook
    • Popular
    • Recente

    1000 livros gratuitos sobre programação!

    12 de fevereiro de 2016

    Google lança versão “invisível” do reCAPTCHA!

    10 de março de 2017

    Mini curso de HTML5 oferecido pela Microsoft

    30 de janeiro de 2014

    O que significa ( !important ) na declaração do CSS ?

    5 de fevereiro de 2014

    Programa para supercompactar arquivos. KGB Archiver.

    6 de fevereiro de 2014

    Observabilidade para agentes: por que logs e traces tradicionais já não bastam

    23 de abril de 2026

    Context engineering: quando o problema deixa de ser prompt e vira arquitetura

    16 de abril de 2026

    Clean Code (2ª edição): o que mudou e o que continua valendo

    12 de fevereiro de 2026

    Sunk Cost em Arquitetura de Software: como evitar que meses de investimento virem uma armadilha

    4 de fevereiro de 2026

    Guia Profissional de Prompting – Domando um ChatGPT Preguiçoso: Como Obter Respostas Completas, Profundas e Confiáveis

    30 de outubro de 2025
    Nosso Feed
    • RSS - Posts
    Fique por dentro

    Digite seu endereço de email para assinar este blog e receber notificações de novas publicações por email.

    Facebook X (Twitter) Instagram LinkedIn

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

    Vá para versão mobile