O documento descreve a evolução da linguagem C# ao longo de suas versões, desde a versão 1.0 em 2002 até a versão mais recente no projeto Roslyn. As principais novidades incluem: suporte a generics, LINQ, parâmetros opcionais, tipos dinâmicos, programação assíncrona e novas APIs no compilador Roslyn.
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei uma visão geral da evolução da linguagem de programação C# desde o lançamento da versão 1.0, em fevereiro de 2002, até a versão 4, em março de 2010. Depois, eu também apresentei a principal novidade da linguagem C# 5: suporte direto da linguagem à programação assíncrona. Este novo recurso permite que o desenvolvedor realize programação assíncrona de modo similar à programação síncrona. Além disto, eu também comentei sobre as principais novidades esperadas para a versão posterior (C# 6?), que atualmente é conhecida pelo nome de projeto Roslyn.
1) O documento discute tipos abstratos de dados e listas lineares.
2) Apresenta conceitos fundamentais sobre definição de tipos abstratos usando a linguagem C.
3) Discutem propriedades e operações básicas de listas lineares seqüenciais e encadeadas.
1) O curso aborda tópicos de programação Java como introdução à linguagem, uso de formulários, manipulação de arquivos e banco de dados.
2) Apresenta conceitos de programação orientada a objetos em Java incluindo classes, atributos, métodos, encapsulamento e herança.
3) Demonstra o uso de variáveis, vetores, condições, laços e métodos em programação Java.
O documento resume as principais características da linguagem de programação C, incluindo sua estrutura, sintaxe, bibliotecas, funções e palavras reservadas. É definida como uma linguagem de propósito geral projetada para programação estruturada que possui facilidade de uso e geração de código eficiente.
TREINAMENTO PARA SOLUCIONAR PROBLEMAS COMPUTACIONAIS COM A LINGUAGEM DE PROGRAMAÇÃO C++
Estrutura geral de um programa C/C++. Principais Comandos.
Estruturas condicionais e Estruturas de Repetição.
Exercícios.
O documento resume uma palestra sobre C# para a comunidade. Ele introduz o palestrante Paulo Ortins e descreve como surgiu a ideia da palestra para engajar a comunidade C# em Salvador. Ele também destaca recursos populares da linguagem C# como LINQ e propriedades, além de frameworks como Mono que permitem rodar C# em outros sistemas operacionais.
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei uma visão geral da evolução da linguagem de programação C# desde o lançamento da versão 1.0, em fevereiro de 2002, até a versão 4, em março de 2010. Depois, eu também apresentei a principal novidade da linguagem C# 5: suporte direto da linguagem à programação assíncrona. Este novo recurso permite que o desenvolvedor realize programação assíncrona de modo similar à programação síncrona. Além disto, eu também comentei sobre as principais novidades esperadas para a versão posterior (C# 6?), que atualmente é conhecida pelo nome de projeto Roslyn.
1) O documento discute tipos abstratos de dados e listas lineares.
2) Apresenta conceitos fundamentais sobre definição de tipos abstratos usando a linguagem C.
3) Discutem propriedades e operações básicas de listas lineares seqüenciais e encadeadas.
1) O curso aborda tópicos de programação Java como introdução à linguagem, uso de formulários, manipulação de arquivos e banco de dados.
2) Apresenta conceitos de programação orientada a objetos em Java incluindo classes, atributos, métodos, encapsulamento e herança.
3) Demonstra o uso de variáveis, vetores, condições, laços e métodos em programação Java.
O documento resume as principais características da linguagem de programação C, incluindo sua estrutura, sintaxe, bibliotecas, funções e palavras reservadas. É definida como uma linguagem de propósito geral projetada para programação estruturada que possui facilidade de uso e geração de código eficiente.
TREINAMENTO PARA SOLUCIONAR PROBLEMAS COMPUTACIONAIS COM A LINGUAGEM DE PROGRAMAÇÃO C++
Estrutura geral de um programa C/C++. Principais Comandos.
Estruturas condicionais e Estruturas de Repetição.
Exercícios.
O documento resume uma palestra sobre C# para a comunidade. Ele introduz o palestrante Paulo Ortins e descreve como surgiu a ideia da palestra para engajar a comunidade C# em Salvador. Ele também destaca recursos populares da linguagem C# como LINQ e propriedades, além de frameworks como Mono que permitem rodar C# em outros sistemas operacionais.
O documento discute os conceitos de nomes, variáveis e escopo em linguagens de programação. Aborda tópicos como formas de nomes, tipos de variáveis, vinculação de atributos, compatibilidade de tipos e escopo estático.
Este documento fornece um resumo da linguagem de programação C. Apresenta seu contexto histórico, características, tipos de dados, estruturas de controle de fluxo e outras construções importantes da linguagem.
O documento discute análise léxica e analisadores léxicos. Ele explica que a análise léxica reconhece as palavras básicas de um programa usando autômatos finitos. Ele então descreve como autômatos finitos são construídos usando algoritmos como o de Thompson e como são convertidos para autômatos determinísticos. Por fim, explica que analisadores léxicos implementam esses autômatos para extrair e classificar tokens a partir de um arquivo de entrada.
O documento discute conceitos de escopo e amarração em linguagens de programação. Explica que amarração é a associação entre identificadores e entidades no programa e que escopo controla a visibilidade dessas amarrações. Também define termos como declaração, bloco, tempo de amarração e discute como esses conceitos são implementados em diferentes linguagens.
O documento discute a análise semântica na compilação, que verifica a coerência do código por meio de heurísticas. Ele explica como a tabela de símbolos armazena informações sobre variáveis e escopo e como a decoração de nomes lida com sobreposição. Também descreve verificações de tipos, fluxo de controle e unicidade realizadas pela análise semântica.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
Este documento apresenta uma introdução à linguagem de programação C. Ele começa explicando o processo de tradução de código fonte para código objeto e as diferenças entre compiladores e interpretadores. Em seguida, descreve brevemente a história da linguagem C e sua estrutura básica de programação. Por fim, apresenta diretivas para pré-processadores, variáveis, entrada e saída de dados e o ambiente de desenvolvimento Dev-C++.
O documento discute os tópicos abordados na segunda fase do treinamento de desenvolvimento de sistemas, incluindo lógica de programação e orientação a objetos. Os principais conceitos apresentados são arrays, enumerações, namespaces, comentários, estruturas, tratamento de exceções, classes, atributos e métodos.
Este documento apresenta notas de aula sobre a disciplina Linguagens e Técnicas de Programação ministrada na FATEC de Santo André. O conteúdo programático aborda noções básicas de algoritmos, lógica de programação e introdução à linguagem C.
O documento discute os principais conceitos de programação orientada a objetos em C#, incluindo classes, objetos, construtores, interfaces, campos, métodos, visibilidade e exemplos de implementação destes conceitos.
Este documento discute pacotes e encapsulamento na API Java 2. Aborda os principais pacotes da API Java como java.lang, java.util, java.io e java.net. Explora classes fundamentais como Object e classes utilitárias como Date e Math. Também explica como criar pacotes personalizados e arquivos JAR e métodos importantes como equals(), hashCode() e clone().
O documento apresenta uma introdução à linguagem de programação C, descrevendo suas origens, características e estruturas básicas como variáveis, operadores, funções printf e scanf, e comandos de controle como if, else, while e for.
O documento discute os principais tópicos da geração de código em compiladores, incluindo:
1) A geração de código intermediário, como código de três endereços e notação pós-fixa.
2) Otimização de código através de heurísticas como eliminação de subexpressões comuns.
3) A geração de código na linguagem simbólica do processador-alvo.
Haskell é uma linguagem de programação funcional pura. Programas em Haskell são funções que avaliam expressões para produzir valores. Haskell tem tipagem estática forte, suporte a abstrações poderosas como funções de alta ordem, e avaliação preguiçosa.
O documento discute a modularização de código C, apresentando as vantagens da modularização, regras para modularização e exemplos de módulos como "rectangle", "vector" e "framebuffer". O apresentador explica como estruturar módulos em C usando interfaces, implementações e dados privados para manter o código organizado e desacoplado.
1) O documento discute conceitos iniciais sobre estruturas de dados e algoritmos, incluindo tipos primitivos, variáveis compostas unidimensionais e multidimensionais, registros, programação orientada a objetos e classes.
2) É introduzido o conceito de estruturas de dados como uma forma de construir novos tipos de dados a partir da composição de tipos primitivos.
3) Vetores, matrizes e registros são exemplos de estruturas de dados unidimensionais e multidimensionais que armazenam elementos do mesmo ou de tipos diferentes.
Este documento fornece um resumo da linguagem de programação Haskell em 3 frases:
1) Haskell é uma linguagem funcional criada em 1990 que suporta avaliação preguiçosa, funções recursivas, tipos de dados algébricos e list comprehensions.
2) Quicksort é mais fácil de implementar em Haskell do que em C devido às características da linguagem.
3) O documento apresenta exemplos básicos de funções e programas em Haskell como cálculo de média e contagem de números maiores que dez.
Compiladores na programação: compiladores traduzem programas de linguagens de alto nível para linguagens de máquina. Compiladores no processamento da informação: compiladores processam arquivos XML e páginas dinâmicas da Web. Atividades de um compilador: análise, síntese, leitura/escrita de arquivos.
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
O documento discute as principais atualizações e novidades das versões da linguagem de programação C#, desde a versão 1.0 até a versão 5 e o projeto Roslyn. O texto descreve recursos como generics, LINQ, programação assíncrona com async e await, e o novo modelo de compilador do .NET chamado Compiler as a Service.
A evolução da linguagem C#
Linguagem C# 1.0 – Sistema de tipos
Linguagem C# 1.0 – Memória e instruções
Linguagem C# 1.0 – Herança e membros de classe
Linguagem C# 1.0 – Atributos e outros recursos
Principais novidades da linguagem C# 2.0 – Generics e Iterators
Principais novidades da linguagem C# 2.0 – Tipos parciais e anuláveis
Principais novidades da linguagem C# 2.0 – Métodos anônimos e ::
Principais novidades da linguagem C# 2.0 – Classes estáticas e mais
Principais novidades da linguagem C# 3.0 – Principais inovações
Principais novidades da linguagem C# 3.0 – LINQ
Principais novidades da linguagem C# 4.0 – Parâmetros opcionais e nomeados
Principais novidades da linguagem C# 4.0 – Interoperabilidade com COM
Principais novidades da linguagem C# 4.0 – Objetos com tipagem dinâmica
Principais novidades da linguagem C# 4.0 – Covariância e contravariância
Principais novidades da linguagem C# 5 – Task-based Asynchronous Pattern (TAP)
Principais novidades da linguagem C# 5 – Versão assíncrona via TAP
Principais novidades da linguagem C# 5 – Funções assíncronas
Principais novidades da linguagem C# 5 – Windows Runtime
Principais novidades da linguagem C# 5 – async e await
Demo – Explorando as novidades da linguagem C# 5
Projeto Roslyn – Compilador como um serviço
Principais novidades do projeto Roslyn – Compiler-as-a-Service (CaaS)
Principais novidades do projeto Roslyn – APIs para o CaaS
Community Technology Preview – Microsoft “Roslyn” CTP
A linguagem C# está em evolução constante – Resumo
C# está em constante evolução para melhor atender às necessidades dos desenvolvedores. As principais atualizações incluem: suporte a generics, LINQ, programação assíncrona, tipos dinâmicos e interoperabilidade melhorada. O projeto Roslyn da Microsoft visa tornar os compiladores C# e VB abertos através de APIs, permitindo novas funcionalidades como refatoração de código e meta-programação.
O documento discute os conceitos de nomes, variáveis e escopo em linguagens de programação. Aborda tópicos como formas de nomes, tipos de variáveis, vinculação de atributos, compatibilidade de tipos e escopo estático.
Este documento fornece um resumo da linguagem de programação C. Apresenta seu contexto histórico, características, tipos de dados, estruturas de controle de fluxo e outras construções importantes da linguagem.
O documento discute análise léxica e analisadores léxicos. Ele explica que a análise léxica reconhece as palavras básicas de um programa usando autômatos finitos. Ele então descreve como autômatos finitos são construídos usando algoritmos como o de Thompson e como são convertidos para autômatos determinísticos. Por fim, explica que analisadores léxicos implementam esses autômatos para extrair e classificar tokens a partir de um arquivo de entrada.
O documento discute conceitos de escopo e amarração em linguagens de programação. Explica que amarração é a associação entre identificadores e entidades no programa e que escopo controla a visibilidade dessas amarrações. Também define termos como declaração, bloco, tempo de amarração e discute como esses conceitos são implementados em diferentes linguagens.
O documento discute a análise semântica na compilação, que verifica a coerência do código por meio de heurísticas. Ele explica como a tabela de símbolos armazena informações sobre variáveis e escopo e como a decoração de nomes lida com sobreposição. Também descreve verificações de tipos, fluxo de controle e unicidade realizadas pela análise semântica.
O documento resume os principais tópicos sobre a linguagem C#. Ele discute 1) a história e características de C#, 2) os tipos de dados suportados como inteiros, strings e arrays, e 3) conceitos de programação orientada a objetos como classes, herança e polimorfismo.
Este documento apresenta uma introdução à linguagem de programação C. Ele começa explicando o processo de tradução de código fonte para código objeto e as diferenças entre compiladores e interpretadores. Em seguida, descreve brevemente a história da linguagem C e sua estrutura básica de programação. Por fim, apresenta diretivas para pré-processadores, variáveis, entrada e saída de dados e o ambiente de desenvolvimento Dev-C++.
O documento discute os tópicos abordados na segunda fase do treinamento de desenvolvimento de sistemas, incluindo lógica de programação e orientação a objetos. Os principais conceitos apresentados são arrays, enumerações, namespaces, comentários, estruturas, tratamento de exceções, classes, atributos e métodos.
Este documento apresenta notas de aula sobre a disciplina Linguagens e Técnicas de Programação ministrada na FATEC de Santo André. O conteúdo programático aborda noções básicas de algoritmos, lógica de programação e introdução à linguagem C.
O documento discute os principais conceitos de programação orientada a objetos em C#, incluindo classes, objetos, construtores, interfaces, campos, métodos, visibilidade e exemplos de implementação destes conceitos.
Este documento discute pacotes e encapsulamento na API Java 2. Aborda os principais pacotes da API Java como java.lang, java.util, java.io e java.net. Explora classes fundamentais como Object e classes utilitárias como Date e Math. Também explica como criar pacotes personalizados e arquivos JAR e métodos importantes como equals(), hashCode() e clone().
O documento apresenta uma introdução à linguagem de programação C, descrevendo suas origens, características e estruturas básicas como variáveis, operadores, funções printf e scanf, e comandos de controle como if, else, while e for.
O documento discute os principais tópicos da geração de código em compiladores, incluindo:
1) A geração de código intermediário, como código de três endereços e notação pós-fixa.
2) Otimização de código através de heurísticas como eliminação de subexpressões comuns.
3) A geração de código na linguagem simbólica do processador-alvo.
Haskell é uma linguagem de programação funcional pura. Programas em Haskell são funções que avaliam expressões para produzir valores. Haskell tem tipagem estática forte, suporte a abstrações poderosas como funções de alta ordem, e avaliação preguiçosa.
O documento discute a modularização de código C, apresentando as vantagens da modularização, regras para modularização e exemplos de módulos como "rectangle", "vector" e "framebuffer". O apresentador explica como estruturar módulos em C usando interfaces, implementações e dados privados para manter o código organizado e desacoplado.
1) O documento discute conceitos iniciais sobre estruturas de dados e algoritmos, incluindo tipos primitivos, variáveis compostas unidimensionais e multidimensionais, registros, programação orientada a objetos e classes.
2) É introduzido o conceito de estruturas de dados como uma forma de construir novos tipos de dados a partir da composição de tipos primitivos.
3) Vetores, matrizes e registros são exemplos de estruturas de dados unidimensionais e multidimensionais que armazenam elementos do mesmo ou de tipos diferentes.
Este documento fornece um resumo da linguagem de programação Haskell em 3 frases:
1) Haskell é uma linguagem funcional criada em 1990 que suporta avaliação preguiçosa, funções recursivas, tipos de dados algébricos e list comprehensions.
2) Quicksort é mais fácil de implementar em Haskell do que em C devido às características da linguagem.
3) O documento apresenta exemplos básicos de funções e programas em Haskell como cálculo de média e contagem de números maiores que dez.
Compiladores na programação: compiladores traduzem programas de linguagens de alto nível para linguagens de máquina. Compiladores no processamento da informação: compiladores processam arquivos XML e páginas dinâmicas da Web. Atividades de um compilador: análise, síntese, leitura/escrita de arquivos.
TechEd Brasil 2011: DEV 303 - Atualizando suas habilidades de programação com...Rogério Moraes de Carvalho
O documento discute as principais atualizações e novidades das versões da linguagem de programação C#, desde a versão 1.0 até a versão 5 e o projeto Roslyn. O texto descreve recursos como generics, LINQ, programação assíncrona com async e await, e o novo modelo de compilador do .NET chamado Compiler as a Service.
A evolução da linguagem C#
Linguagem C# 1.0 – Sistema de tipos
Linguagem C# 1.0 – Memória e instruções
Linguagem C# 1.0 – Herança e membros de classe
Linguagem C# 1.0 – Atributos e outros recursos
Principais novidades da linguagem C# 2.0 – Generics e Iterators
Principais novidades da linguagem C# 2.0 – Tipos parciais e anuláveis
Principais novidades da linguagem C# 2.0 – Métodos anônimos e ::
Principais novidades da linguagem C# 2.0 – Classes estáticas e mais
Principais novidades da linguagem C# 3.0 – Principais inovações
Principais novidades da linguagem C# 3.0 – LINQ
Principais novidades da linguagem C# 4.0 – Parâmetros opcionais e nomeados
Principais novidades da linguagem C# 4.0 – Interoperabilidade com COM
Principais novidades da linguagem C# 4.0 – Objetos com tipagem dinâmica
Principais novidades da linguagem C# 4.0 – Covariância e contravariância
Principais novidades da linguagem C# 5 – Task-based Asynchronous Pattern (TAP)
Principais novidades da linguagem C# 5 – Versão assíncrona via TAP
Principais novidades da linguagem C# 5 – Funções assíncronas
Principais novidades da linguagem C# 5 – Windows Runtime
Principais novidades da linguagem C# 5 – async e await
Demo – Explorando as novidades da linguagem C# 5
Projeto Roslyn – Compilador como um serviço
Principais novidades do projeto Roslyn – Compiler-as-a-Service (CaaS)
Principais novidades do projeto Roslyn – APIs para o CaaS
Community Technology Preview – Microsoft “Roslyn” CTP
A linguagem C# está em evolução constante – Resumo
C# está em constante evolução para melhor atender às necessidades dos desenvolvedores. As principais atualizações incluem: suporte a generics, LINQ, programação assíncrona, tipos dinâmicos e interoperabilidade melhorada. O projeto Roslyn da Microsoft visa tornar os compiladores C# e VB abertos através de APIs, permitindo novas funcionalidades como refatoração de código e meta-programação.
O documento resume a história, características, plataformas, implementações, licença e módulos da linguagem de programação Python. Foi criada por Guido Van Rossum em 1989 e lançada em 1991, tornando-se uma linguagem de código aberto com ampla utilização.
Python apresenta conceitos fundamentais da linguagem como tipos de dados, controle de fluxo, funções, classes e módulos. O documento também discute quem usa Python e suas principais características como tipagem dinâmica e orientação a objetos.
O documento descreve as principais características das versões do C#: C# 1.0 introduziu código gerenciado e programação declarativa; C# 2.0 incluiu genéricos; C# 3.0 trouxe LINQ e query integrada à linguagem; e C# 4.0 expandiu a programação dinâmica com parâmetros opcionais, argumentos nomeados e co-contravariância de tipos genéricos.
O documento discute as principais características da linguagem JavaScript e ECMAScript, incluindo sua história, conceitos, orientação a objetos, e novidades da ECMAScript 5. Ele também aborda tópicos como usos comuns de JavaScript, objetos pré-definidos, operadores, instruções de controle de fluxo e tratamento de erros.
O documento discute a evolução da linguagem C# desde sua primeira versão (C# 1.0) até as novidades da próxima versão (C# 5). Ele apresenta os principais recursos introduzidos em cada versão como generics, LINQ, objetos dinâmicos e compilador como serviço.
O documento descreve e compara diversas linguagens de programação orientadas a objetos, incluindo suas características, conceitos e sintaxes. Smalltalk é destacada como uma das primeiras linguagens a levar o paradigma orientado a objetos às últimas consequências, enquanto C++ e Java são apresentadas como evoluções de C e influenciadas por Smalltalk.
O documento fornece uma introdução à linguagem de programação Java, descrevendo seus principais conceitos como identificadores, tipos de dados, operadores, declaração de variáveis, conversão de tipos, entrada de dados e exercícios de exemplo.
O documento apresenta uma introdução ao .NET Framework, descrevendo suas principais características como plataforma multiplataforma e suporte a várias linguagens de programação. Apresenta também os principais namespaces do .NET Framework e ferramentas como o Visual Studio para desenvolvimento de aplicações.
O documento descreve as principais características da linguagem Python, incluindo sua filosofia orientada a objetos e funcional, construções, tipos de dados, operadores, compilador, tratamento de exceções e biblioteca padrão extensa. Um ponto importante é o poema "The Zen of Python" que resume a filosofia da linguagem de forma concisa.
Eu investi algum tempo fazendo um material de apoio para o livro Python para Desenvolvedores</a>, do Luis Eduardo Borges. É um conjunto de slides para o capitulo I.
TechEd Brasil 2011: WEB 302 - Presente e futuro da linguagem de programação J...Rogério Moraes de Carvalho
Nesta palestra, eu apresentei uma introdução à linguagem de programação <strong>JavaScript</strong>, sua evolução, sua padronização de acordo com a especificação <strong>ECMA-262</strong> (linguagem <strong>ECMAScript</strong>), principais usos da linguagem, alguns dos principais conceitos da linguagem, programação orientada a objetos com JavaScript e algumas das novidades da <strong>ECMAScript 5</strong>. Além disto, eu também apresentei estatísticas de uso dos 5 principais browsers da atualidade e o suporte dos principais browsers do mercado ao ECMAScript 5.
O documento discute o cálculo de métricas de software através de ferramentas de análise de código-fonte. Ele descreve duas ferramentas, Analizo e Doxyparse, e como elas extraem informações de código em diferentes linguagens. Também apresenta um novo extrator desenvolvido com ANTLR para fornecer mais detalhes sobre métodos, atributos e classes.
Este documento apresenta uma introdução à linguagem de programação Python. Ele discute as características e implementações da linguagem, tipos de dados como números, strings e listas, e conceitos como variáveis, funções, orientação a objetos e módulos. O documento é dividido em três partes cobrindo tópicos como apresentação, introdução e detalhes da linguagem.
Este documento resume os principais aspectos da linguagem de programação Java, incluindo operadores, conversão de tipos, estruturas de controle, comentários, blocos de código, palavras reservadas, tipos primitivos e a classe Scanner.
Semelhante a TDC 2011 Goiânia: Evolução da linguagem de programação C# (20)
Na palestra "Docker com ASP.NET Core e Hospedagem no Azure", eu apresentei uma visão geral sobre contêineres, o Docker, o ASP.NET Core, Docker em contêineres Windows, Suporte a Dcoker no Azure, Visual Studio 2017 & Docker e Recursos para estudo.
Na minha palestra, eu apresentei as iniciativas da Microsoft para levar a plataforma de desenvolvimento Web ASP.NET para múltiplas plataformas, incluindo Linux e macOS, além do Windows. O novo .NET Core multiplataforma com suas ferramentas de linha de commando (.NET Core CLI), o novo padrão .NET Platform Standard e como funciona o .NET Core da codificação à execução. Eu abordei o ASP.NET Core, uma nova implementação da tecnologia de desenvolvimento Web ASP.NET para ser multiplataforma, muito mais rápida, leve e modular. Finalmente, eu apresentei uma série de Recursos para estudo.
1. O documento discute tecnologias relacionadas a XML e seu uso no SQL Server, incluindo noções básicas de XML, XPath, XQuery, XSLT, SVG, MathML e XML Schema.
2. É apresentado o suporte nativo do SQL Server para armazenamento e processamento de dados XML, incluindo o tipo de dado xml e XML Schema Collections.
3. São demonstrados exemplos de uso de XQuery para consultar dados XML armazenados e métodos do tipo xml no SQL Server.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
Há pouco mais de um ano, o time de projeto da C# 7 na Microsoft está planejando, debatendo, experimentando e testando as ideias dos próximos recursos a serem incorporados na próxima versão da linguagem. A palestra tem como objetivo explorar o que esperar de um futuro próximo da linguagem.
Hoje, dia 21 de maio de 2016, eu apresentei a palestra: Um novo .NET multiplataforma:
ASP.NET Core, .NET Core e Entity Framework Core. As informações foram atualizadas com informações dos recém-lançados: ASP.NET Core RC2, .NET Core RC2 e Entity Framework Core RC2. A tão esperada versão Release Candidate 2 (RC2) foi liberada há apenas 5 dias: no dia 16 de maio de 2016. A versão final (RTM) está planejada para ser liberada até o final de junho de 2016.
Os anúncios do ASP.NET Core RC2, .NET Core RC2, Entity Framework Core RC2 e .NET Core SDK Preview 1 podem ser lidos em dois posts no blog do time de engenheiros .NET da Microsoft, em inglês: Announcing .NET Core RC2 and .NET Core SDK Preview 1 e Announcing Entity Framework Core RC2.
Eu apresentarei a palestra “ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem” na edição de Brasília. Veja nesta palestra, as novidades mais recentes das novas plataformas de desenvolvimento multiplataforma da Microsoft:
- ASP.NET Core 1.0 (anteriormente chamado de ASP.NET Core 5), que é o novo framework de desenvolvimento web multiplataforma da Microsoft que contém o ASP.NET Core MVC (anteriormente chamado de ASP.NET MVC 6) que, agora, está integrado com o ASP.NET Core Web API.
- .NET Core 1.0 (anteriormente chamado de .NET Core 5), novo framework de uso geral que contém um subconjunto do .NET Framework e outras APIs únicas.
- Entity Framework Core 1.0 (anteriormente chamado de Entity Framework 7), que é o novo framework de mapeamento objeto relacional da Microsoft e não somente isso, pois há extensões para suporta acesso a bancos de dados NoSQL, dentre outros paradigmas de acesso a dados.
O documento apresenta uma palestra sobre as novas tecnologias .NET Core, ASP.NET Core e Entity Framework Core. Aborda os principais conceitos como arquitetura modular e multiplataforma destas tecnologias, ferramentas como .NET Core CLI e Visual Studio Code, além de recursos como Entity Framework Code First e ASP.NET Core MVC.
Agenda:
- Debate inicial
- Suas experiências: XML e SQL Server
- XML e tecnologias relacionadas
- O que é XML?
- XML bem-formado
- XML Schema e XML válido
- XPath e XQuery
- Algumas aplicações de XML
- Suporte XML no SQL Server
- Tipo de dado XML nativo
- XML Schema Collections
- Métodos do tipo de dados XML
- Cláusula FOR XML
- Debate final
- Minhas experiências: XML e SQL Server
Agenda:
- Plataforma de compiladores .NET & Visual Studio 2015
- Plataforma de compiladores .NET (“Roslyn”)
- Evolução do projeto “Roslyn”
- Linha de produtos comerciais do Visual Studio 2015
- Linha de produtos gratuitos do Visual Studio 2015
- Visual Studio Online e Visual Studio Code
- Visual Studio 2015 RTM
- Novidades da linguagem de programação C# 6
- Construtores primários (C# 7)
- Avanços em propriedades automáticas
- Atribuição de propriedades automáticas somente com get no construtor
- using estático
- await em blocos catch e finally
- Filtros de exceção
- Operadores nulos-condicionais
- Expressões nameof
- Expressões de declaração (C# 7)
- Expressões de corpo em membros de função
- Iniciadores de índice
- Literais binários e separadores de dígitos (C# 7)
- Interpolação de strings
- Ferramentas e documentação
- Recursos adicionais
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...Rogério Moraes de Carvalho
O documento discute o Entity Framework 7, incluindo: (1) O que é o EF7 e como ele fornece uma experiência semelhante ao EF anterior mas é mais leve; (2) A evolução do EF das versões anteriores para o EF7; (3) As novas plataformas e fontes de dados suportadas pelo EF7.
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
O MVP Virtual Conference (MVP V-Conf) é um novo evento virtual de dois dias apresentado por especialistas em tecnologia independentes que utilizam tecnologias da Microsoft diariamente. Conecte-se e veja o que a comunidade de usuários avançados está dizendo sobre o mundo de possibilidades mobile-first, cloud-first com tecnologias Microsoft reestruturadas.
Seguem as 5 trilhas do evento:
- IT Pro Track (English)
- Developer Track (English)
- Consumer Track (English)
- LATAM Track (Spanish)
- Brazil Track (Portuguese)
Na minha palestra, eu apresentei informações sobre como executar ASP.NET MVC 6 no Mac OS X e no Linux. A ideia foi apresentar um passo a passo de como configurar os sistemas operacionais Mac OS X e Linux para desenvolvimento de aplicações ASP.NET MVC 6, e ASP.NET 5 em geral.
Eu apresentei os seguintes tópicos na minha palestra:
- .NET no Linux e no Mac OS X
- ASP.NET 5 e ASP.NET MVC 6
- Visual Studio Code
- Linha de produtos Visual Studio 2015
- Ambientes de desenvolvimento
- Tecnologia de contêiner
- Suporte atual em Linux e Mac OS X
- Demonstração e recursos adicionais
Palestra "Plataforma de compiladores .NET, C# 6 e Visual Studio 2015" apresentada no dia 25 de abril de 2015 no evento Global Azure Bootcamp 2015 da Microsoft.
O documento apresenta as principais características da Plataforma de compiladores .NET ("Roslyn"), C# 6 e Visual Studio "14": 1) O projeto "Roslyn" é a nova implementação dos compiladores C# e Visual Basic feita em C# e Visual Basic com APIs públicas; 2) C# 6 introduz novos recursos como construtores primários, propriedades automáticas e expressões nameof; 3) Visual Studio "14" integra o "Roslyn" e traz melhorias na depuração e refatoração.
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Rogério Moraes de Carvalho
O documento apresenta uma sessão sobre programação assíncrona com C# 5 no Visual Studio 2013. A agenda inclui padrões assíncronos no .NET Framework 4.5.1, o padrão Task-based Asynchronous Pattern (TAP) e os operadores async e await. Duas demonstrações são apresentadas, cobrindo TAP, async e await, além de cancelamento e progresso.
Informações sobre as seguintes linguagens de programação: C, C++, Objective-C, Java, JavaScript, Ruby, PHP e C#. Exposição de algumas aplicações destas linguagens em desenvolvimento: de sistemas operacionais (sistemas baseados em UNIX e Windows), desktop (Windows, Mac OS X e Linux), Web (do lado do servidor e do lado do cliente), para smartphones e tablets (Android, iOS, Windows Phone, Windows Store apps), para a nuvem (Amazon Web Services, Windows Azure, Google App Engine), de jogos para múltiplas plataformas, etc.
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...Rogério Moraes de Carvalho
Este documento discute o mapeamento objeto-relacional com o Entity Framework. Apresenta as principais características do Entity Framework 5 e demonstra suas abordagens de desenvolvimento, incluindo Database First, Model First e Code First. Também fornece uma visão geral das novidades esperadas para o Entity Framework 6.
O documento discute o mapeamento objeto-relacional com o Entity Framework, incluindo suas características, abordagens de desenvolvimento, novidades da versão 5 e o que esperar da versão 6.
TDC 2011 Goiânia: Evolução da linguagem de programação C#
1. Rogério Moraes de Carvalho
VITA Informática
@rogeriomc
rogeriomc.wordpress.com
2. A evolução da linguagem C#
Evolução C# 6? Projeto Roslyn
(?)
C# 5 Windows Runtime,
(2012) programação assíncrona, ...
Objetos tipados dinamicamente,
C# 4 parâmetros opcionais e nomeados,
(Mar 2010)
covariância e contravariância, …
Language Integrated Query (LINQ),
C# 3.0 expressões Lambda, métodos de
(Nov 2007)
extensão, tipos anônimos, ...
Generics, Iterators, tipos parciais,
C# 2.0 tipos anuláveis, classes estáticas,
(Nov 2005)
métodos anônimos, ...
Código gerenciado, linguagem POO,
C# 1.0 suporte nativo a propriedades e
(Fev 2002)
eventos, exceções, delegates, ...
3. Sistema de tipos
Linguagem C# 1.0
Suporte a duas categorias de tipos
Tipos por valor
Estruturas (incluindo os tipos simples)
Enumerações
Tipos por referência
Arrays
Classes
Interfaces
Delegates
Sistema unificado de tipos
object é base de todos tipos
Boxing e Unboxing
4. Memória e instruções
Linguagem C# 1.0
Gerenciamento automático de memória
Coletor de lixo (Garbage Collector)
Instruções inspiradas em C/C++ e Java
Blocos, rótulos, variáveis e expressões
Laços: while, do...while, for e foreach
Exceções: try...catch...finally, throw
Condicionais: if e switch
checked e unchecked
using
5. Herança e membros de classe
Linguagem C# 1.0
Suporte a herança simples
Membros possíveis em classes
Constantes
Campos
Métodos
Propriedades
Eventos
Operadores
Indexadores
Construtores
Destrutores
6. Atributos e outros recursos
Linguagem C# 1.0
Atributos
Elementos que permitem fazer anotações
de forma declarativa
Namespaces e assemblies
Versionamento
Resolve o problema conhecido como DLL
Hell do modelo COM
8. Generics e Iterators
Principais novidades da linguagem C# 2.0
Generics
Os tipos genéricos permitem um alto nível
de reutilização de código
Permite a definição de tipos parametrizáveis
Desempenho melhorado em classes de
coleções
Iterators
Torna simples a definição de como
um laço foreach vai interagir com o
conteúdo de uma coleção
9. Tipos parciais e anuláveis
Principais novidades da linguagem C# 2.0
Tipos parciais
As definições de classes, estruturas ou
interfaces podem ser divididas em
múltiplos arquivos
O Visual Studio utiliza esta característica para
separar o código gerado do código do usuário
Tipos anuláveis
Permite a uma variável de tipo por
valor ter um valor indefinido
Úteis ao se trabalhar com bancos
de dados ou outras estruturas
10. Métodos anônimos e ::
Principais novidades da linguagem C# 2.0
Métodos anônimos
Tornam possível a passagem de um bloco
de código como um parâmetro
Em qualquer lugar em que um delegate é
esperado
Qualificador de apelidos de namespace
O novo operador (::) fornece maior controle
no acesso de membros
de um namespace
Habilidade de acessar um
membro no namespace global
11. Classes estáticas e mais
Principais novidades da linguagem C# 2.0
Classes estáticas
Modo seguro e conveniente de declarar
uma classe que contém somente membros
estáticos e não deve ser instanciada
Antes era necessário definir construtores de
instância privados para não permitir que a
mesma fosse instanciada
Permite definir diferentes níveis de
acesso nos métodos de leitura e escrita
de uma propriedade
13. Principais inovações Expressões de
Principais novidades da linguagem C# 3.0 consulta
var mulheres =
from c in contatos
where c.Sexo == Sexo.Feminino
select new { c.Nome, c.Email };
Tipos implícitos
em variáveis Expressões
locais lambda
Árvores de
var mulheres =
expressão
contatos
.Where(c => c.Sexo == Sexo.Feminino) Propriedades
.Select(c => new {c.Nome, c.Email}); automáticas
Métodos de Tipos Iniciadores de Métodos
extensão anônimos objetos parciais
Iniciadores de
coleções
14. LINQ
Principais novidades da linguagem C# 3.0
C# 3.0 VB 9.0 Outras linguagens…
.NET LINQ (Language INtegrated Query)
LINQ to LINQ to LINQ to LINQ to LINQ to
Objects DataSets SQL Entities XML
<agenda>
<contato>
<nome>. . . </nome>
<email> . . . </email>
<fone/> . . . </fone>
<contato/>
...
</agenda>
Bancos de dados
Objetos relacionais XML
19. Objetos com tipagem dinâmica
Principais novidades da linguagem C# 4
Calculadora calc = ObterCalculadora();
int soma = calc.Adicionar(10, 20);
object calc = ObterCalculadora();
Type tipoCalc = calc.GetType();
object res = ScriptObject calc = ObterCalculadora();
tipoCalc.InvokeMember("Adicionar",
object res = calc.Invoke("Adicionar", 10, 20);
BindingFlags.InvokeMethod, null,
int soma = Convert.ToInt32(res);
new object[] { 10, 20 });
int soma = Convert.ToInt32(res);
Tipado estaticamente dynamic calc = ObterCalculadora();
para ser dinâmico int sum = calc.Add(10, 20);
Coversão Invocação dinâmica
dinâmica do método
20. Covariância e contravariância
Principais novidades da linguagem C# 4
out = covariância
public interface IEnumerable<T> T>
IEnumerable<out
somente posições de
{
IEnumerator<T> GetEnumerator();
saída
} Pode ser tratada
como menos
public interface IEnumerator<T> T>
IEnumerator<out específica
{
T Current { get; } IEnumerable<string> str = ObterStrings();
bool MoveNext(); IEnumerable<object> obj = str;
} in = contravariância
somente posições de
public interface IComparer<T> T>
IComparer<in entrada
{
int Compare(T x, T y); Pode ser tratada como
} mais específica
IComparer<object> objComp = ObterComparer();
IComparer<string> strComp = objComp;
22. TAP
Principais novidades da linguagem C# 5
Task-based Asynchronous Pattern
Novo padrão de programação assíncrona
no .NET Framework
Baseado nos tipos Task e Task<TResult> do
namespace System.Threading.Tasks
Implementado por um único método
NomeOperacaoAsync
Deve retornar Task ou Task<TResult>, baseado no
tipo de retorno void ou TResult, respectivamente, do
método síncrono correspondente (NomeOperacao)
Se a classe já tiver um método NomeOperacaoAsync,
então deve-se
usar NomeOperacaoTaskAsync
23. Versão assíncrona via TAP
Principais novidades da linguagem C# 5
Versão síncrona de uma operação
TRetorno NomeOperacao(TParam1 p1, TParam2 p2);
Versão assíncrona da operação síncrona
segundo o padrão TAP
Task<TRetorno> NomeOperacaoAsync(TParam1 p1, TParam2 p2);
Opcionais: cancelamento e progresso
Task<TRetorno> NomeOperacaoAsync(TParam1 p1, TParam2 p2
[, CancellationToken cancellationToken]
Cancelamento
[, IProgress<T> progress]);
Progresso
24. Funções assíncronas
Principais novidades da linguagem C# 5
Tipos de retorno das funções
assíncronas
Deve ser void, Task ou Task<TResult>
Avaliação de funções assíncronas
Inicialmente idêntica a uma função
síncrona
Quando atinge uma expressão await, a
função assíncrona deve retornar
imediatamente ao seu chamador
Se a função assíncrona não for void,
um objeto Task ou Task<TResult>
será retornado para o chamador
25. Windows Runtime
Principais novidades da linguagem C# 5
Windows Runtime
Nova biblioteca da próxima versão do
Windows projetada para ser usada com
JavaScript, C#, Visual Basic e C++
Modelo de programação assíncrona
Interface IAsyncOperation<T>
O compilador automaticamente transforma
código normal em uma máquina de estado
de callback
26. async e await
Principais novidades da linguagem C# 5
O suporte a funções assíncronas será
incorporado à linguagem C# 5
Novas palavras-chaves: async e await
A palavra-chave await é usada para
marcar chamadas assíncronas
Dispensa a criação de funções de callback
A palavra-chave async deve estar na
assinatura de funções que
fazem chamadas assíncronas
await somente pode ser usada
na chamada de funções com
async na assinatura
27. async e await
Principais novidades da linguagem C# 5
async Task<decimal> calcularVendasAsync(string arquivo)
{
using (TextReader leitor = new StreamReader(arquivo))
{
string linha = null;
decimal total = 0M;
while ((linha = await leitor.ReadLineAsync()) != null)
{
string[] campos = linha.Split(';');
total += decimal.Parse(campos[campos.Length - 1]);
}
return total;
}
}
29. Compiler-as-a-Service (CaaS)
Principais novidades do projeto Roslyn
Classe
Laço
Meta-programação public Classe1 Ler-Avaliar-Imprimir
Campo
Modelo de objetos Incorporação de
da linguagem private campo1
DSL (Domain
string Specific Language)
Código-fonte Assembly
Código-fonte Compilador Assembly
.NET
Código-fonte Assembly
.NET
.NET
30. APIs para o CaaS
Principais novidades do projeto Roslyn
Edit and Continue
Go To Definition
Extract Method
Completion List
Object Browser
Signature Help
Navigate To
References
Quick Info
Formatter
Outlining
Colorizer
Serviços
Rename
Find All
da
linguagem
APIs do
compilador
Symbols Binding and
Pipeline do Syntax Symbol IL
Emit
Parser Binder
Flow Analysis
compilador Tree API API
Metadata Emitter
API
Import
APIs
31. Considerações finais
A linguagem C# está em evolução constante
A evolução da linguagem C#
C# 1.0 em fevereiro de 2002 (.NET 1.0)
C# 2.0 em novembro de 2005 (.NET 2.0)
C# 3.0 em novembro de 2007 (.NET 3.5)
C# 4 em abril de 2010 (.NET 4)
C# 5 em 2012 (.NET 4.5)
Suporte ao Windows Runtime
Facilidade na programação assíncrona
Projeto Roslyn
Compiler-as-a-Service (CaaS)
Visual Studio Roslyn CTP
Previsão: meados de outubro/2011