O documento discute o ecossistema .NET e a linguagem C# de programação. Ele descreve as vantagens da tipagem estática, inferência de tipos, LINQ e outras funcionalidades do C#. Também aborda os custos, oportunidades de mercado e desafios em torno da comunidade e código aberto. O autor argumenta que vale a pena apostar no .NET/C# devido à sua constante evolução e capacidade de atender às demandas atuais e futuras do mercado.
A primeira linguagem que todo programador deve aprenderLF Bittencourt
Volta e meia esbarro com programadores que sabem pouco ou quase nada de inglês. A importância do inglês devia ser óbvia, mas não é, então aqui estão alguns exemplos práticos de como isso pode ser determinante para tornar-se e manter-se um ótimo profissional.
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
A primeira linguagem que todo programador deve aprenderLF Bittencourt
Volta e meia esbarro com programadores que sabem pouco ou quase nada de inglês. A importância do inglês devia ser óbvia, mas não é, então aqui estão alguns exemplos práticos de como isso pode ser determinante para tornar-se e manter-se um ótimo profissional.
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
Apresentação criada em 2017.2 para as aulas de Lógica de Programação e Algoritmos; e Programação de Computadores.
Apresenta os principais conceitos da linguagem de programação C.
O magnífico PANTANAL MATO-GROSSENSE, no Brasil, com sua riquíssima fauna e exuberante flora, seus rios piscosos, sua belas lagoas e paisagens que encantam a todos, em especial os turistas estrangeiros, que visitam, fotografam, gravam e divulgam nossas belezas naturais.
O Blog SOSRIOSBR tem feito diversas postagens alertando para a importância da preservação desse riquíssimo ecossistema brasileiro. Os ambientalistas e preservacionistas estão preocupados com um número exagerado de pequenas centrais hidrelétricas (PCHs) que estão projetadas para o Pantanal e podem (se construídas) destruir muito dessa bela paisagem. Apresentação enviada pela colaboradora IRMÃ LUCIA ZANNIN - da SEA FREI ORESTES de Campos do Jordão - SP
Postado por Prof. Jarmuth Andrade - SOSRIOSBR
O LINQ já existe há algum tempo, mas por vezes é visto como um bicho de 7 cabeças, e é muitas vezes descartado quando as alternativas são “mais simples”. Mas o LINQ também é simples, e oferece vantagens quando se pretende obter, pesquisar e actualizar dados em (qualquer) fonte de dados. Mais, fá-lo de uma maneira consistente e sempre utilizando a mesma sintaxe. Quer obter ou pesquisar dados em Objectos? Quer obter ou pesquisar dados em BDs? Quer obter ou pesquisar dados em XML? Quer obter ou pesquisar dados em listas de Sharepoint? O LINQ permite tudo isto e mais através dos seus diversos "providers". Venha então descobrir nesta sessão tudo o que o LINQ tem para oferecer, e descobrir que afinal talvez o LINQ seja a solução ideal para a sua aplicação.
Estes são slides do treinamento que ministrei falando sobre orientação a objetos com o .NET e algumas boas práticas. O público-alvo são pessoas que programam há pelo menos 3 anos.
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016Leonardo Turbiani
O propósito de irmos ao Meetup contar o Case do nosso TCC foi demonstrar o quanto participar de eventos da comunidade, como os Meetups do GDG, nos ajudaram a concluir o TCC, além de nos ajudar a melhorar como pessoas, como alunos e como profissionais.
Uma pequena apresentação explicando sobre a tecnologia .NET, criada pela Microsoft, e a linguagem de programação C#.
Conheça também os princípios da Programação Orientada a Objetos (POO): Classes e Objetos, Atributos e Métodos.
http://gvensino.com.br
O magnífico PANTANAL MATO-GROSSENSE, no Brasil, com sua riquíssima fauna e exuberante flora, seus rios piscosos, sua belas lagoas e paisagens que encantam a todos, em especial os turistas estrangeiros, que visitam, fotografam, gravam e divulgam nossas belezas naturais.
O Blog SOSRIOSBR tem feito diversas postagens alertando para a importância da preservação desse riquíssimo ecossistema brasileiro. Os ambientalistas e preservacionistas estão preocupados com um número exagerado de pequenas centrais hidrelétricas (PCHs) que estão projetadas para o Pantanal e podem (se construídas) destruir muito dessa bela paisagem. Apresentação enviada pela colaboradora IRMÃ LUCIA ZANNIN - da SEA FREI ORESTES de Campos do Jordão - SP
Postado por Prof. Jarmuth Andrade - SOSRIOSBR
O LINQ já existe há algum tempo, mas por vezes é visto como um bicho de 7 cabeças, e é muitas vezes descartado quando as alternativas são “mais simples”. Mas o LINQ também é simples, e oferece vantagens quando se pretende obter, pesquisar e actualizar dados em (qualquer) fonte de dados. Mais, fá-lo de uma maneira consistente e sempre utilizando a mesma sintaxe. Quer obter ou pesquisar dados em Objectos? Quer obter ou pesquisar dados em BDs? Quer obter ou pesquisar dados em XML? Quer obter ou pesquisar dados em listas de Sharepoint? O LINQ permite tudo isto e mais através dos seus diversos "providers". Venha então descobrir nesta sessão tudo o que o LINQ tem para oferecer, e descobrir que afinal talvez o LINQ seja a solução ideal para a sua aplicação.
Estes são slides do treinamento que ministrei falando sobre orientação a objetos com o .NET e algumas boas práticas. O público-alvo são pessoas que programam há pelo menos 3 anos.
Apresentação Meetup Faccilita Corretor Google Brasil - 01/03/2016Leonardo Turbiani
O propósito de irmos ao Meetup contar o Case do nosso TCC foi demonstrar o quanto participar de eventos da comunidade, como os Meetups do GDG, nos ajudaram a concluir o TCC, além de nos ajudar a melhorar como pessoas, como alunos e como profissionais.
Uma pequena apresentação explicando sobre a tecnologia .NET, criada pela Microsoft, e a linguagem de programação C#.
Conheça também os princípios da Programação Orientada a Objetos (POO): Classes e Objetos, Atributos e Métodos.
http://gvensino.com.br
Palestra realizada na Faculdade Una Unidade Barreiro para os alunos do curso técnico,sobre o Mercado Web, tendências da área, novas tecnologias e algumas dicas para aproveitar bem o curso técnico.
Explorando o Mundo Apple, Desenvolvendo Aplicativos para IOS - Felipe Martins...Impacta Eventos
• Público-alvo :
Estudantes de cursos de graduação e cursos técnicos de tecnologia que desejam explorar a linguagem de programação iOS.
Profissionais da área de desenvolvimento de aplicativos móveis, incluindo jogos e aplicativos para celulares, com experiência prévia.
Profissionais autônomos com alguma familiaridade em programação orientada a objetos.
• Objetivo: apresentar conceitos e técnicas relativos ao ambiente de desenvolvimento iOS e sua aderência no cenário tecnológico atual.
• Conteúdo programático:
Apresentação;
Cenário de celulares no Brasil e no mundo;
Participação da plataforma iOS no Mercado;
Áreas de atuação;
Ambiente de programação "xcode";
Programa Apple Developer;
Cases de mercado;
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
Sistemas legados são o terror da maioria dos devs: código dos outros escrito muitas vezes sem seguir boas práticas e em uma linguagem quase completamente desconhecida. A proposta da palestra é discutir sobre:
o que é legado?
o que é linguagem não mainstream no contexto do dia a dia dos projetos?
indicar alguns caminhos a seguir quando se tem um legado a ser enfrentado, utilizando perl como exemplo de linguagem não mainstream.
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Ráfagan Abreu
O objetivo deste artigo é apresentar os principais desafios e abordagens relacionados ao universo do desenvolvimento de aplicações multiplataforma, apresentando-se o contraste entre o desenvolvimento para dispositivos móveis utilizando- se APIs nativas e abstratas. Como forma de aplicação prática dos conteúdos propostos, utilizou-se como estudo de caso a implementação de um simulador visual e multiplataforma do algoritmo A*, e a programação de jogos para Android e iOS utilizando- se a API nativa.
Este é uma aula sobre Typescript, NodeJS, Docker.
Este é o repositório com os arquivos para acompanhar a aula:
https://github.com/kenjishiromajp/typescript_serverside_starterkit
Apresentação do Openredu e chamada de desenvolvedores para construir carreira através da contribuição com a comunidade do software livre educacional Openredu!
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
Visto que hoje cada vez mais os profissionais de qualidade e desenvolvimento de software trabalham em par, precisamos falar das duas áreas juntas para disseminar essa cultura. Esta apresentação aborda boas práticas importantes e utilizadas em desenvolvimento de software, falando sobre como elas são aplicadas no dia a dia das empresas.
GDG DevFest Nordeste - Quer desenvolver aplicações mobile nativas, cross-plat...Paulo Cesar Ortins Brito
Nessa apresentação mostro como podemos desenvolver aplicações mobile nativas para iOS, Android e Windows Phone utilizando C# com o Xamarin e compartilhando até 75% do código entre as plataformas. É uma vantagem e tanto no mundo atual onde devemos atender o maior número de devices com o menor custo possível e atendendo à usuários cada vez mais exigentes.
Como participar de comunidades de software mudou a minha carreira e também po...Paulo Cesar Ortins Brito
Sei, as perspectivas e não são nada boas, o mercado de Salvador é um mercado ruim, as empresas pagam mal, projetos mais parecem a 101 a reprise de um filme de sessão da tarde e aquele emprego que sonhávamos quando entramos na faculdade começa a ficar cada vez mais distante. Já pensou em fazer concurso? Sair da área? Mas você vai deixar de fazer algo que você ama por causa do "Mercado"? E se você se juntasse com outros malucos e fugisse do sistema? Sim, é possível e fizemos isso aqui em Salvador.
Use Xamarin.Forms and surprise your customers when develop native apps, in le...Paulo Cesar Ortins Brito
In this talk we will explore the Xamarin.Forms, framework that enable us to also share code on the UI when using Xamarin, we will use some classes from its API (Pages, Layouts and Controls) and see projects that are already having success using Xamarin.Forms.
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...Paulo Cesar Ortins Brito
Nesta palestra vamos explorar o Xamarin.Forms, framework que permite desenvolver UI de forma compartilhada, uso dos principais componentes (Pages, Layouts e Controls) e conhecer projetos que já estão tendo sucesso ao utilizar o Xamarin.Forms.
Mobilidade é só smartphone? Claro que não! Nessa palestra vamos conhecer novos brinquedos que já estão mudando ou vão mudar a forma com que interagimos no mundo. Se prepare para conhecer mais sobre beacons bluetooth, relógios (smart watches), óculos e até mesmo carros inteligentes!
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...Paulo Cesar Ortins Brito
O mercado mobile tem crescido ano após ano e expectativa é que em 2018 tenhamos um mercado de 7 bilhões de devices, mas como entregar soluções para cada um desses devices? Nessa palestra mostro como podemos utilizar o Xamarin para entregar soluções cross-plataforma utilizando o C# e compartilhando em média 75% do código entre as diferentes soluções.
Essa palestra foi dada no GDG Tech Talk em Salvador no dia 01/11/2014.
Alguns exemplos utilizados na palestra podem ser encontrados abaixo:
TaskyPortable - https://github.com/xamarin/mobile-samples/tree/master/TaskyPortable
Xuzzle - https://github.com/xamarin/xamarin-forms-samples/tree/master/Xuzzle
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...Paulo Cesar Ortins Brito
O mercado mobile tem crescido ano após ano e expectativa é que em 2018 tenhamos um mercado de 7 bilhões de devices, mas como entregar soluções para cada um desses devices? Nessa palestra mostro como podemos utilizar o Xamarin para entregar soluções cross-plataforma utilizando o C# e compartilhando em média 75% do código entre as diferentes soluções.
Essa palestra foi dada no TDC 2014 em Porto Alegre.
Alguns exemplos utilizados na palestra podem ser encontrados abaixo:
TaskyPortable - https://github.com/xamarin/mobile-samples/tree/master/TaskyPortable
Xuzzle - https://github.com/xamarin/xamarin-forms-samples/tree/master/Xuzzle
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...Paulo Cesar Ortins Brito
Nessa apresentação pretendo mostrar como podemos desenvolver aplicações mobile nativas para iOS, Android e Windows Phone utilizando C# com o Xamarin e compartilhando até 75% do código entre as plataformas. É uma vantagem em tanto no mundo atual onde devemos atender o maior número de devices com o menor custo possível.
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...Paulo Cesar Ortins Brito
Nessa apresentação pretendo mostrar como podemos desenvolver aplicações mobile nativas para iOS, Android e Windows Phone utilizando C# com o Xamarin e compartilhando até 75% do código entre as plataformas. É uma vantagem em tanto no mundo atual onde devemos atender o maior número de devices com o menor custo possível.
Palestra falando sobre métricas de código, como linhas de código, complexidade ciclomática, coesão e acomplamento. Também fala dos tipos de visualizações existentes e das ferramentas que existem para extração e visualização de métricas.
9. Mas o que isso tem haver com o
ecossistema .NET ?
• Pessoas com backgrounds diferentes
• Linguagens de programação diferentes
• Ecossistemas diferentes
10. Mas o que isso tem haver com o
ecossistema .NET ?
Java
Clojure
C#
Ruby
Elixir
Python
Objective-C
PHP
C
Scala
Javascript
C++
Go
11. Mas o que isso tem haver com o
ecossistema .NET ?
13. O que é legal e o que não é legal na linguagem
que a gente trabalha ?
•
•
•
•
•
•
•
Features da linguagem
Generalista/Nicho
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
15. E o que há de bom e de ruim no C#?
•
•
•
•
•
•
•
Features da linguagem
Generalista/Nicho
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
16. Tipagem Estática
•
•
•
•
C# é uma linguagem tipada
Melhor suporte para Intellisense
Type Checking
Erros em tempo de
desenvolvimento/compilação
17. Tipagem Estática
// Javascript
var aluno = {
Idade: 17,
Nome: 'Paulo Ortins'
};
function imprimirAlunoAdulto(aluno) {
if (aluno.Idade > 18) {
console.message(aluno.Nome);
}
}
18. Tipagem Estática
public class Aluno
{
public int Idade { get; set; }
public string Nome { get; set; }
}
Aluno aluno = new Aluno()
{
Idade = 17,
Nome = "Paulo Ortins"
};
public void ImprimirAlunoAdulto(Aluno aluno)
{
if (aluno.Idade > 18)
{
Console.WriteLine(aluno.Nome);
}
}
19. Suporte a variáveis dinâmicas
• Suporte a programação dinâmica através da
variável dynamic
• Nos permite escolher como iremos programar
20. Suporte a variáveis dinâmicas
dynamic aluno = new ExpandoObject();
aluno.Nome = "Paulo Ortins";
aluno.Idade = 18;
public void ImprimirAlunoAdulto(dynamic aluno)
{
if (aluno.Idade > 18)
{
Console.WriteLine(aluno.Nome);
}
}
21. Inferência de Tipos
Aluno aluno = new Aluno();
var aluno = new Aluno();
Dictionary<string, List<Aluno>> alunos = new
Dictionary<string, List<Aluno>>();
var alunos = new Dictionary<string, List<Aluno>>();
22. Extension Methods
public class StringUtil {
public static String ObterUltimosCaracteres(String string, int numeroCaracteres)
{
int ultimaPosicao = string.length();
return string.substring(ultimaPosicao - numeroCaracteres , ultimaPosicao);
}
}
StringUtil.ObterUltimosCaracteres("testando", 3);
24. LINQ
• Language Integrated Query
• Feature que nos permite fazer consultas sqllike em coleções:
– Em memória
– Em SQL
– Em XML
25. Exemplos de Uso do LINQ
• Agrupar pessoas por idade
// Query Expressions
var pessoas = from pessoa in people
group pessoa by pessoa.Idade;
// Lambda Expressions/Dot Notation
var peopleGroupedByAge = people.GroupBy(x => x.Idade);
26. Exemplos de Uso do LINQ
• Ordenar uma coleção de pessoas pela idade
// Query Expressions
var ordered = from pessoa in people
orderby pessoa.Idade
select pessoa;
// Lambda Expressions/Dot Notation
var ordered = people.OrderBy(x => x.Idade);
30. C# é uma linguagem generalista
• Web
• Desktops
– Windows
– Unix/MacOS
• Mobile
– Windows 8/ Windows Phone
– Android
– iOS
• Cloud/Big Data
– Azure/HDInsight
• Natural User Interfaces
– Kinect
32. C# for MacOS
• Usa o interface builder para desenhar telas
com componentes nativos do Cocoa.
• Sincroniza esses componentes com o Xamarin
For Mac
• Temos uma App Nativa na Mac Store feita com
C#
39. C# no Windows 8/Windows Phone
• Windows Phone já passou o iOS em vendas na
América Latina.
• Está prestes a ultrapassar o iOS no Brasil.
40. Azure/HDInsight
• Mundo produz cada vez mais dados.
• Dados devem ser processados e armazenados
• Cada vez mais soluções de cloud são
necessárias.
• Azure e HDInsight trazem essa possibilidade
pro ecossistema .NET.
41. Natural User Interface - Kinect
• Comunicação natural homem-maquina sem o
auxilio de outros dispositivos
• Kinect é um sistema de detecção de
movimentos desenvolvido inicialmente para
video games mas que tem sido expandido
para outras áreas.
46. E o que há de bom e de ruim no C#?
•
•
•
•
•
•
•
Features da linguagem
Generalista/Nicho
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
47. Custos
• Windows 8.1
– Standard: $120
– Pro : $200
• VS 2013
– Upgrade: $99 até 2014, depois $299
– Full Price: $499
• Xamarin Studio
– Indie: $299/ano, por plataforma
– Business: $999/ano, por plataforma
48. Custo – Estudantes/Startups
• Microsoft oferece licenças de graça para
estudantes ou empresas em fase inicial,
através do Dream Spark e o BizSpark.
• Xamarin também possui desconto para
estudantes. O preço cai para $99/ano por
plataforma.
49. E o que há de bom e de ruim no C#?
•
•
•
•
•
•
•
Features da linguagem
Generalista/Nicho
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
50. Mercado
• Há um deficit de programadores C# em
Salvador, no Brasil e no mundo.
• A grande maioria dessas vagas é pra trabalhar
em ambientes enterprise.
53. E o que há de bom e de ruim no C#?
•
•
•
•
•
•
•
Features da linguagem
Generalista/Nicho
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
54. Open Source/Comunidade
• A Microsoft tem aberto muito dos seus códigos para
a comunidade, embora o seu desenvolvimento não
seja aberto a mesma.
• Ferramentas, em sua maioria, são:
– São desenvolvidas pela Microsoft
– Desenvolvidas por funcionários da Microsoft (Open)
– Desenvolvidas por outras pessoas porém pagas.
• É difícil concorrer com os “insiders”.
55. Incentivos a comunidade
• Incentivos as pessoas que mais contribuem
com a comunidade
– Licensas gratuitas
– Acesso a discussões sobre o futuro da plataforma
56. E o que há de bom e de ruim no C#?
•
•
•
•
•
•
•
Features da linguagem
Performance
Ferramental
Custos
Mercado
Comunidade/Open Source
Futuro
57. Vale a pena apostar no .NET/C#?
• Na minha opinião, sim, e eu estou apostando.
– Linguagem em constante evolução.
– Ecossistema evoluindo para atender as demandas
do mercado atual e do mercado futuro.
• Cabe a vocês decidirem onde vocês vão
apostar.
Parabenizar a galera por estar participando de um evento, fortalecer comunidade, citar o esforço da galera da InfoJr(SEMCOMP), esforço dos palestrantes, e presença da galera
Normalmente, eu abro as palestras mostrando o meu CV, porém dessa vez vamos fazer algo um pouco diferente e para esse evento faz todo o sentido, por ser um evento de estudantes, e eu gostaria que tivessem me falado isso há 4 anos atrás, falar como esse tipo de evento mudou a forma como eu encarava a minha carreira.
Em 2010/2011, eu comecei a estagiar, só que eu tava em uma equipe pequena e as pessoas não se atualizavam, não curtiam estudar. Eu comecei a programar meio que sem referências. E quando chegou em 2011, eu me achava o rei do código, programador senior, programador master.
Flame Wars, Fan Boys, brigas bestas, bahia x vitoria, windows x linux, xbox x playstation
Podemos aprender com a diversidade, discutir no sentido de ampliar o conhecimento e começar a fazer uma auto-reflexão das tecnologias que você usa, será que sua tecnologia é a melhor para os problemas que você resolve ? Será que não possuem outras alternativas melhores ?
Features, suporte a programação funcional, suporte a programação dinâmica, produtividade, performance boa ou ruim, ferramentas que você pode usar ou não para programar nessa linguagem, essas ferramentas tem um custo ? Como é o mercado dessa linguagem, em salvador, no brasil e no mundo ? Como é comunidade em torno dessa linguagem ? Pra que serve a sua linguagem ? O que o futuro reserva pra ela ?
Mostrar Exemplos, falar sobre erros de compilação, o benefício que isso traz em projetos grandes, auxilio do ferramental, as vantagens de linguagens dinamica, menos burocracia, velocidade no desenvolvimento pois nao precisa ficar compilando toda hora.