O ThoughtWorks Technology Radar menciona várias linguagens desde 2010. Analisando esse histórico, Luciano Ramalho discute características marcantes das linguagens mais usadas em empresas hoje e, possivelmente, daqui a 10 anos.
[XConf Brasil 2020] Ajudando a Natura a escalar usando modularização do appThoughtWorks Brasil
O documento descreve a jornada de transformação digital de duas aplicações móveis de uma empresa para consultoras de beleza. O cenário inicial era complexo com duas aplicações separadas e times distintos, dificultando o crescimento. A estratégia adotada foi modularizar as funcionalidades, criar bibliotecas compartilhadas e um sistema de design para integrar e internacionalizar as aplicações. Isso permitiu entregas contínuas através de automação e feature flags para ligar funcionalidades na hora certa.
Estratégia para Desenvolvimento de Produtos DigitaisRobson Santos
O documento apresenta uma estratégia para o desenvolvimento de produtos digitais, descrevendo o processo da empresa de construção de negócios digitais que inclui entendimento do negócio, pesquisa, design, implementação e acompanhamento.
O documento discute os principais paradigmas de linguagens de programação, como:
1. Linguagens imperativas, que incluem as estruturadas/procedurais e orientadas a objetos.
2. Linguagens declarativas, como funcionais e lógicas.
Existem diferentes categorias de linguagens que refletem diferentes abordagens de resolução de problemas, influenciadas por fatores como domínios de aplicação, arquitetura de computadores e metodologias de projeto. Muitas linguagens modernas suportam múltiplos paradig
O documento apresenta um mini-curso sobre a linguagem C, com informações sobre o professor, objetivos do curso, sugestões de material de apoio e agenda.
O documento discute as principais linguagens de programação, incluindo Python, JavaScript, Java, C++, C#, Swift, TypeScript, Kotlin, Go e Rust. Cada linguagem é descrita brevemente com seus usos, paradigmas, mercado e frameworks populares. O documento conclui que escolher a linguagem certa para cada projeto é importante e deve ser baseado nas necessidades do projeto e preferências da equipe.
O documento resume a história, paradigmas, aplicações e influências da linguagem de programação C++. Especificamente, descreve que (1) C++ foi desenvolvido inicialmente por Bjarne Stroustrup em 1980, (2) suporta os paradigmas orientado a objetos e estruturado/imperativo, e (3) foi influenciado pelo desejo de criar uma linguagem próxima ao humano mas também próxima à máquina.
O documento fornece uma visão geral de tópicos relacionados à tecnologia da informação, incluindo sistemas operacionais, software livre vs pago, design patterns, cloud computing, entre outros. Resume conceitos-chave da área de TI em menos de 3 frases.
O documento fornece uma visão geral de tópicos importantes de TI, incluindo sistemas operacionais, tipos de software, design patterns, cloud computing, serviços web, business intelligence, ferramentas de desenvolvimento, controle de versão e servidores.
[XConf Brasil 2020] Ajudando a Natura a escalar usando modularização do appThoughtWorks Brasil
O documento descreve a jornada de transformação digital de duas aplicações móveis de uma empresa para consultoras de beleza. O cenário inicial era complexo com duas aplicações separadas e times distintos, dificultando o crescimento. A estratégia adotada foi modularizar as funcionalidades, criar bibliotecas compartilhadas e um sistema de design para integrar e internacionalizar as aplicações. Isso permitiu entregas contínuas através de automação e feature flags para ligar funcionalidades na hora certa.
Estratégia para Desenvolvimento de Produtos DigitaisRobson Santos
O documento apresenta uma estratégia para o desenvolvimento de produtos digitais, descrevendo o processo da empresa de construção de negócios digitais que inclui entendimento do negócio, pesquisa, design, implementação e acompanhamento.
O documento discute os principais paradigmas de linguagens de programação, como:
1. Linguagens imperativas, que incluem as estruturadas/procedurais e orientadas a objetos.
2. Linguagens declarativas, como funcionais e lógicas.
Existem diferentes categorias de linguagens que refletem diferentes abordagens de resolução de problemas, influenciadas por fatores como domínios de aplicação, arquitetura de computadores e metodologias de projeto. Muitas linguagens modernas suportam múltiplos paradig
O documento apresenta um mini-curso sobre a linguagem C, com informações sobre o professor, objetivos do curso, sugestões de material de apoio e agenda.
O documento discute as principais linguagens de programação, incluindo Python, JavaScript, Java, C++, C#, Swift, TypeScript, Kotlin, Go e Rust. Cada linguagem é descrita brevemente com seus usos, paradigmas, mercado e frameworks populares. O documento conclui que escolher a linguagem certa para cada projeto é importante e deve ser baseado nas necessidades do projeto e preferências da equipe.
O documento resume a história, paradigmas, aplicações e influências da linguagem de programação C++. Especificamente, descreve que (1) C++ foi desenvolvido inicialmente por Bjarne Stroustrup em 1980, (2) suporta os paradigmas orientado a objetos e estruturado/imperativo, e (3) foi influenciado pelo desejo de criar uma linguagem próxima ao humano mas também próxima à máquina.
O documento fornece uma visão geral de tópicos relacionados à tecnologia da informação, incluindo sistemas operacionais, software livre vs pago, design patterns, cloud computing, entre outros. Resume conceitos-chave da área de TI em menos de 3 frases.
O documento fornece uma visão geral de tópicos importantes de TI, incluindo sistemas operacionais, tipos de software, design patterns, cloud computing, serviços web, business intelligence, ferramentas de desenvolvimento, controle de versão e servidores.
O documento fornece um resumo de um treinamento sobre habilidades de TI para profissionais de RH, abordando tópicos como: 1) a diferença entre software e hardware; 2) tipos de projetos de TI; e 3) a estrutura típica de uma área de TI.
O documento é uma apostila sobre a linguagem de programação C++. Ele contém 12 módulos abordando tópicos como a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle de fluxo, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos. O foco é fornecer uma introdução abrangente aos principais conceitos e recursos da linguagem C++.
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
Código legado não é feito de um dia pro outro. Pode começar com nomear coisas, compartilhamento de lógica, papéis que entidades desempenham. Mesmo que você conheça Domain Driven Design, seu código pode ficar mais difícil de manter se você for pelo caminho do over engineering. Quando nós realmente precisamos implementar DDD? Qual o equilíbrio ao desenvolver software? Existem algoritmos e métricas capazes de nos ajudar a manter código? Você vai descobrir as respostas nessa talk
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Renato Groff
Apresentação realizada em 03/05/2018, durante um meetup promovido pelo grupo DevOps Professionals na cidade de São Paulo-SP.
Tópicos da apresentação:
- Testes de software: uma visão geral
- Um pouco sobre BDD (Behavior-Driven Development)
- Indo além com BDD...
Este documento fornece uma introdução aos métodos ágeis de desenvolvimento de software, comparando-os aos métodos tradicionais. Discute princípios como iteratividade, adaptabilidade e envolvimento do cliente. Apresenta o framework Scrum, destacando papéis como Product Owner e Scrum Master, assim como eventos como Sprints e revisões.
O documento fornece uma introdução à linguagem de programação C#, descrevendo sua história, características, comparando-a com C, C++ e Java, e apresentando exemplos de projetos e códigos desenvolvidos com C#.
Palestra "Ruby on Rails e o Mercado", apresentado no auditório do SENAC de Joinville/SC (Brasil) no dia 11 de novembro de 2007 (2007-12-11) para, aproximadamente, 100 pessoas.
1. O documento discute técnicas para escalar aplicações React e TypeScript, incluindo estrutura de projetos, boas práticas de código, testes e monitoramento.
2. O autor tem experiência desenvolvendo sites com milhões de visitas diárias e discute como projetos podem crescer rapidamente sem problemas de desempenho ou manutenibilidade.
3. Escalabilidade envolve estruturar o código e projeto para que novos desenvolvedores possam entender facilmente, adicionar novas funcionalidades rapid
Este documento apresenta um índice geral de uma apostila sobre a linguagem de programação C++. O índice inclui 12 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle de fluxo, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e programação orientada a objetos. O foco principal é ensinar os conceitos básicos e fundamentos da linguagem C++.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e entrada/saída. O foco principal é ensinar os conceitos básicos e avançados da linguagem de uma forma estruturada.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e entrada/saída. O foco principal é ensinar os conceitos básicos da linguagem de forma estruturada.
Este documento apresenta uma apostila sobre a linguagem de programação C++. Resume os principais tópicos ensinados nos onze módulos, incluindo a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos.
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
O documento discute a importância de não depender apenas do framework para o desenvolvimento de projetos, mas sim de entender os princípios de back-end e de escolher o framework correto para o projeto. Também apresenta exemplos de frameworks populares e um caso de sucesso do Instagram, desenvolvido inicialmente por dois programadores sem muita experiência em back-end.
O documento fornece uma visão geral de tópicos relacionados à tecnologia da informação, incluindo sistemas operacionais, software livre vs pago, design patterns, cloud computing, segurança e ferramentas. O cronograma inclui discussões sobre Linux, Windows, modelos de software e ferramentas como IDEs e controle de versão.
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
1. O documento discute como trabalhar com sistemas legados desenvolvidos em linguagens não mainstream como Perl, abordando conceitos como o que é legado e como melhorar a manutenção de códigos antigos.
2. É explicado que legado não significa necessariamente código ruim e que linguagens mais antigas podem ter boas práticas e comunidades ativas de desenvolvedores.
3. São dados conselhos como documentar tudo, escrever testes, usar frameworks existentes em vez de reinventar a roda, e manter uma mente aberta.
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Sandro Andrade
O documento discute o trabalho no século XXI usando software livre, como o uso de software livre aumentou significativamente nas empresas e onde ele será usado nos próximos anos. Também descreve a jornada do autor no software livre e seu trabalho com a comunidade KDE, incluindo o que a KDE faz e como as pessoas podem começar a contribuir.
[XConf Brasil 2020] Alinhando times em uma cultura DevOpsThoughtWorks Brasil
Automação importa sim, mas pessoas também! Nessa conversa, Amanda Mattos e Rodrigo Rech compartilham suas experiências com questões culturais comuns ao se adotar práticas DevOps, e discutem como lidar com elas.
O documento fornece um resumo de um treinamento sobre habilidades de TI para profissionais de RH, abordando tópicos como: 1) a diferença entre software e hardware; 2) tipos de projetos de TI; e 3) a estrutura típica de uma área de TI.
O documento é uma apostila sobre a linguagem de programação C++. Ele contém 12 módulos abordando tópicos como a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle de fluxo, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos. O foco é fornecer uma introdução abrangente aos principais conceitos e recursos da linguagem C++.
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
Código legado não é feito de um dia pro outro. Pode começar com nomear coisas, compartilhamento de lógica, papéis que entidades desempenham. Mesmo que você conheça Domain Driven Design, seu código pode ficar mais difícil de manter se você for pelo caminho do over engineering. Quando nós realmente precisamos implementar DDD? Qual o equilíbrio ao desenvolver software? Existem algoritmos e métricas capazes de nos ajudar a manter código? Você vai descobrir as respostas nessa talk
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...Renato Groff
Apresentação realizada em 03/05/2018, durante um meetup promovido pelo grupo DevOps Professionals na cidade de São Paulo-SP.
Tópicos da apresentação:
- Testes de software: uma visão geral
- Um pouco sobre BDD (Behavior-Driven Development)
- Indo além com BDD...
Este documento fornece uma introdução aos métodos ágeis de desenvolvimento de software, comparando-os aos métodos tradicionais. Discute princípios como iteratividade, adaptabilidade e envolvimento do cliente. Apresenta o framework Scrum, destacando papéis como Product Owner e Scrum Master, assim como eventos como Sprints e revisões.
O documento fornece uma introdução à linguagem de programação C#, descrevendo sua história, características, comparando-a com C, C++ e Java, e apresentando exemplos de projetos e códigos desenvolvidos com C#.
Palestra "Ruby on Rails e o Mercado", apresentado no auditório do SENAC de Joinville/SC (Brasil) no dia 11 de novembro de 2007 (2007-12-11) para, aproximadamente, 100 pessoas.
1. O documento discute técnicas para escalar aplicações React e TypeScript, incluindo estrutura de projetos, boas práticas de código, testes e monitoramento.
2. O autor tem experiência desenvolvendo sites com milhões de visitas diárias e discute como projetos podem crescer rapidamente sem problemas de desempenho ou manutenibilidade.
3. Escalabilidade envolve estruturar o código e projeto para que novos desenvolvedores possam entender facilmente, adicionar novas funcionalidades rapid
Este documento apresenta um índice geral de uma apostila sobre a linguagem de programação C++. O índice inclui 12 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle de fluxo, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e programação orientada a objetos. O foco principal é ensinar os conceitos básicos e fundamentos da linguagem C++.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e entrada/saída. O foco principal é ensinar os conceitos básicos e avançados da linguagem de uma forma estruturada.
O documento apresenta uma apostila sobre a linguagem de programação C++. Ela está dividida em 11 módulos que abordam tópicos como história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros e entrada/saída. O foco principal é ensinar os conceitos básicos da linguagem de forma estruturada.
Este documento apresenta uma apostila sobre a linguagem de programação C++. Resume os principais tópicos ensinados nos onze módulos, incluindo a história e características de C++, compiladores, tipos de dados, funções, estruturas de controle, matrizes, strings, ponteiros, entrada e saída de dados e programação orientada a objetos.
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
O documento discute a importância de não depender apenas do framework para o desenvolvimento de projetos, mas sim de entender os princípios de back-end e de escolher o framework correto para o projeto. Também apresenta exemplos de frameworks populares e um caso de sucesso do Instagram, desenvolvido inicialmente por dois programadores sem muita experiência em back-end.
O documento fornece uma visão geral de tópicos relacionados à tecnologia da informação, incluindo sistemas operacionais, software livre vs pago, design patterns, cloud computing, segurança e ferramentas. O cronograma inclui discussões sobre Linux, Windows, modelos de software e ferramentas como IDEs e controle de versão.
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
1. O documento discute como trabalhar com sistemas legados desenvolvidos em linguagens não mainstream como Perl, abordando conceitos como o que é legado e como melhorar a manutenção de códigos antigos.
2. É explicado que legado não significa necessariamente código ruim e que linguagens mais antigas podem ter boas práticas e comunidades ativas de desenvolvedores.
3. São dados conselhos como documentar tudo, escrever testes, usar frameworks existentes em vez de reinventar a roda, e manter uma mente aberta.
Software Livre e Novas Formas de Trabalho - InfoUNEB 2016Sandro Andrade
O documento discute o trabalho no século XXI usando software livre, como o uso de software livre aumentou significativamente nas empresas e onde ele será usado nos próximos anos. Também descreve a jornada do autor no software livre e seu trabalho com a comunidade KDE, incluindo o que a KDE faz e como as pessoas podem começar a contribuir.
Semelhante a [XConf Brasil 2020] Linguagens no Technology Radar da ThoughtWorks (20)
[XConf Brasil 2020] Alinhando times em uma cultura DevOpsThoughtWorks Brasil
Automação importa sim, mas pessoas também! Nessa conversa, Amanda Mattos e Rodrigo Rech compartilham suas experiências com questões culturais comuns ao se adotar práticas DevOps, e discutem como lidar com elas.
Uma introdução à malha de dados e as motivações por trás dela: os modos de falhas de paradigmas anteriores de gerenciamento de big data. A proposta de Zhamak Dehghani é comparar e contrastar a malha de dados com as abordagens existentes de gerenciamento de big data, apresentando os componentes técnicos que sustentam a arquitetura de software.
[XConf Brasil 2020] Abalos sísmicos e negócios digitais modernos: a visão da ...ThoughtWorks Brasil
Neste palestra, Camilla Crispim e Alexey Villas Bôas abordam os abalos sísmicos que a ThoughtWorks tem visto no mundo da tecnologia: as grandes tendências moldando o futuro e seus impactos em todo o globo.
[XConf Brasil 2020] Modelo do queijo suíço: engajando todo o time na estratég...ThoughtWorks Brasil
Nesta palestra, a dupla de QAs Carol Tozzi e Juba Trajano abordam como o uso do modelo de prevenção de acidentes da aviação – o modelo de queijo suíço – pode ser aplicado em um projeto de desenvolvimento de software.
[XConf Brasil 2020] Redefining confidence: cognitive biases in development lifeThoughtWorks Brasil
Nesta palestra, Birgitta Böckeler aborda alguns dos vieses cognitivos que podem enganar pessoas arquitetas e desenvolvedoras de software, além de possíveis formas de amenizar o impacto potencialmente negativo desses vieses.
[XConf Brasil 2020] De volta ao front-end: o futuro já chegou?ThoughtWorks Brasil
This document discusses the evolution of web technologies from 2007 to 2020. It covers the transition from websites serving primarily informational purposes to becoming more interactive platforms. Key technologies discussed include JavaScript frameworks, component-based architectures, service workers, IndexedDB for caching, microfrontends, and Li-Fi as an emerging wireless standard. The document emphasizes the importance of governance, purpose, and prioritizing people in technology development.
[XConf Brasil 2020] Escalando uma das principais startups de Insurtech da ÁsiaThoughtWorks Brasil
A Lead Consultant Tania Gonzales Villa compartilha sua experiência com uma cliente da ThoughtWorks Singapura, contando como a consultoria ajudou escalar a startup com tecnologia e visão de produto.
Desenvolvimento para Big-Screen - fragmentação = entropia infinita?ThoughtWorks Brasil
This document lists various smart TV operating systems and their manufacturers. Apple TV uses tvOS and Objective-C, while Chromecast uses Chrome and HTML. Playstation uses Orbis OS based on BSD, Roku uses Roku OS and Brightscript, and Samsung uses Tizen OS. It also provides price ranges for TV screen sizes in Brazilian Real and lists the operating systems used by various TV manufacturers, including LG's Netcast and WebOS, Samsung's Orsay and Tizen, and Sony's CEB and Android TV.
DevOps is a cultural and professional movement based on continuous improvement. It aims to accelerate software delivery, amplify feedback, and facilitate continuous learning. A Digital Platform unlocks key business assets and capabilities to enable innovation through a combination of technological capacity like cloud, APIs, and monitoring as well as a culture of experimentation. Both DevOps and Digital Platforms focus on removing friction, exposing capabilities, and enabling efficient experimentation and learning.
O documento discute as tendências do mundo mobile, incluindo: 1) O alto impacto do mobile nas organizações; 2) Um resumo do cenário mobile atual com estatísticas sobre dispositivos e apps; 3) As principais abordagens para desenvolvimento mobile usadas atualmente como cross-platform, sites responsivos e nativo.
The document discusses principles and techniques of evolutionary architecture. Evolutionary architecture supports guided, incremental change across multiple dimensions. Key principles include delaying decisions as long as possible, architecting for evolvability and testability, and recognizing that organizations will influence system design through Conway's Law. Techniques include database refactoring, continuous delivery, choreography, and contract testing to support flexible, evidence-based changes. The goal is to maximize available information and minimize technical debt through an incremental, test-driven approach.
Como a colaboração entre artistas e engenheiros fomenta a pesquisa de tecnolo...ThoughtWorks Brasil
Collaboration between artists and engineers can drive emerging technology research by combining creative thinking and technical skills. The document discusses partnerships where artists work with engineers at events like Art-a-Hack to explore new applications of technology through an artistic lens. For example, one collaboration involved an artist working with engineers to use DNA analysis to transform genetic data into portraits, showing how artistic perspectives can shape the development of sensitive new technologies.
Padrão de estrangulamento na prática – A jornada de modernização de um legado...ThoughtWorks Brasil
O documento descreve a jornada de modernização de um sistema legado de 20 anos em Perl através da estratégia de estrangulamento. O time priorizou as capacidades de negócio, identificando os domínios mais críticos e migrando-os gradualmente para novas aplicações enquanto mantinha a funcionalidade original. Eles validaram o progresso a cada etapa e observaram melhorias na qualidade, velocidade e satisfação do time.
Palestra realizada no dia 8 de Março no Cubo.
(contato: Clarissa Martins <cmartins@thoughtworks.com>)
A única forma de evoluirmos como sociedade e solucionar os problemas que teremos no futuro é garantindo espaços justos e seguros para todas as mulheres. Faz-se urgente uma ação coletiva para darmos os passos necessários que construam uma realidade de igualdade de oportunidades.
Vamos juntas amplificar as vozes de mulheres profissionais, mostrar suas visões e contar suas histórias, e ao mesmo tempo queremos compartilhar o que estamos fazendo para que os espaços ocupados sejam cada vez mais justos.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
17. Adote Experimente
março 2017 Elixir
novembro 2017 Python 3 Kotlin
maio 2018 Kotlin
novembro 2018 TypeScript
abril 2019 TypeScript Rust
novembro 2019 Flutter (Dart)
maio 2020 Rust
outubro 2020 Rust
45. ● Menos herança, mais composição
● Suporte a polimorfismo
independente de herança
● Ênfase em interfaces, protocolos
e tipos estruturais
● Extension methods
● Linguagens que exemplificam:
Go, Julia, Python, TypeScript
Elementos de OOP 2.0
47. Body size default to 16 px Open Sans
Light. Place your image and “send to the
back” to make use of the white mask to
create the angle required.
● Body size default to 16 px Open Sans.
● Body size default to 16 px Open Sans.
Text and an image
48. Body size default to 16 px Open Sans
Light. Place your image and “send to the
back” to make use of the white mask to
create the angle required.
● Body size default to 16 px Open Sans.
● Body size default to 16 px Open Sans.
Text and an image
50. ● Linguagens com tipos dinâmicos
adotam tipagem estática gradual.
Ex: TypeScript, Python 3.5, Ruby 3
● Linguagens com tipos estáticos
adotam um tipo dynamic.
Ex: C#, Kotlin/JS*, Go**
O caminho do meio
* Não Kotlin para JVM ** interface{}
63. Body size default to 16 px Open Sans
Light. Place your image and “send to the
back” to make use of the white mask to
create the angle required.
● Body size default to 16 px Open Sans.
● Body size default to 16 px Open Sans.
Text and an image
80. Como se preparar:
● Estude uma linguagem funcional
Características funcionais
viram essenciais
81. Como se preparar:
● Estude uma linguagem funcional
● Experimente uma linguagem funcional
com tipos dinâmicos, para facilitar a
curva de aprendizagem.
Ex: Clojure, Elixir
Características funcionais
viram essenciais
84. Características > paradigmas
Como se preparar:
● Monitore o roadmap de suas linguagens
preferenciais.
● Experimente, divulgue internamente, e
adote novas características relevantes.
Alguns exemplos:
85. Características > paradigmas
Como se preparar:
● Monitore o roadmap de suas linguagens
preferenciais.
● Experimente, divulgue internamente, e
adote novas características relevantes.
Alguns exemplos:
○ Concorrência sem threads ou callbacks
86. Características > paradigmas
Como se preparar:
● Monitore o roadmap de suas linguagens
preferenciais.
● Experimente, divulgue internamente, e
adote novas características relevantes.
Alguns exemplos:
○ Concorrência sem threads ou callbacks
○ Tipos estruturais
87. Características > paradigmas
Como se preparar:
● Monitore o roadmap de suas linguagens
preferenciais.
● Experimente, divulgue internamente, e
adote novas características relevantes.
Alguns exemplos:
○ Concorrência sem threads ou callbacks
○ Tipos estruturais
○ Processamento lazy
88. Características > paradigmas
Como se preparar:
● Monitore o roadmap de suas linguagens
preferenciais.
● Experimente, divulgue internamente, e
adote novas características relevantes.
Alguns exemplos:
○ Concorrência sem threads ou callbacks
○ Tipos estruturais
○ Processamento lazy
features!
90. Democratização da
programação
Como se preparar:
● Entenda que pessoas diferentes têm
necessidades diferentes ao adotar
ferramentas, linguagens e técnicas
91. Democratização da
programação
Como se preparar:
● Entenda que pessoas diferentes têm
necessidades diferentes ao adotar
ferramentas, linguagens e técnicas
● Não nivele “por cima” nem “por baixo”
92. Democratização da
programação
Como se preparar:
● Entenda que pessoas diferentes têm
necessidades diferentes ao adotar
ferramentas, linguagens e técnicas
● Não nivele “por cima” nem “por baixo”
● Planeje o caminho de migração de
soluções emergentes para produção
em escala, quando necessário