Curso POO Teoria #01a - O que é Programação Orientada a Objetos

Curso POO Teoria #01a - O que é Programação Orientada a Objetos

Introdução ao Curso de Programação Orientada a Objetos

Apresentação do Curso

  • O curso de programação orientada a objetos é introduzido pelo professor Gustavo Guanabara, que grava o início das aulas no escritório do Google.
  • O curso abrange PHP e Java, atendendo a uma demanda crescente dos alunos após cursos anteriores sobre algoritmos e linguagens de programação.

Formato e Acessibilidade

  • Um novo formato dinâmico foi implementado, com foco em acessibilidade para alunos com deficiência auditiva, mantendo o professor visível na tela.
  • Serão lançados três vídeos por semana, permitindo que os alunos escolham quais conteúdos assistir.

Pré-requisitos para o Curso

Importância do Conhecimento Prévio

  • É recomendado ter conhecimento básico em algoritmos antes de iniciar o curso de programação orientada a objetos.
  • Os conceitos fundamentais como variáveis e procedimentos serão abordados; portanto, um entendimento prévio é essencial.

Cursos Recomendados

  • Para as aulas práticas em PHP e Java, é necessário ter completado os cursos correspondentes dessas linguagens.
  • Alunos podem optar por estudar apenas teoria ou praticar em ambas as linguagens conforme desejarem.

Estrutura das Aulas

Organização Semanal

  • Cada semana terá uma aula teórica e duas aulas práticas (uma para PHP e outra para Java).
  • As aulas práticas focarão na preparação dos ambientes necessários para trabalhar com objetos nas duas linguagens.

Conteúdo da Primeira Aula

  • A primeira aula aborda a origem da programação orientada a objetos, um tema recorrente nos cursos oferecidos.
  • O curso se concentrará tanto em PHP quanto em Java, permitindo que os alunos pratiquem os conceitos aprendidos na linguagem de sua escolha.

Conceitos Fundamentais da Programação Orientada a Objetos

Definição e Siglas

  • A sigla POO (Programação Orientada a Objetos), frequentemente vista nos textos relacionados ao tema, refere-se à abordagem utilizada no desenvolvimento de software.

Objetivos da Programação Orientada a Objetos

A Evolução da Programação: Da Baixo Nível à Orientada a Objetos

Introdução à Programação Orientada a Objetos

  • O objetivo da programação orientada a objetos (POO) é aproximar o mundo digital do mundo real, facilitando o aprendizado para novos programadores.
  • A nova filosofia de desenvolvimento tem simplificado o processo de aprendizagem para iniciantes, conhecidos como "gafanhotos".

História da Programação

  • Antigamente, na década de 40 e 50, a programação era feita em baixo nível, onde as instruções eram dadas em binário e dependiam do tipo de computador.
  • Essa abordagem dificultava o aprendizado, pois não havia um padrão; cada computador exigia uma forma diferente de programação.

Evolução das Linguagens de Programação

  • Com o tempo, surgiram linguagens de alto nível que tornaram a programação mais compreensível, mas ainda limitadas pela sua linearidade.
  • A programação estruturada surgiu como uma evolução da linearidade, permitindo que pequenos pedaços de código fossem executados fora da ordem natural.

Avanços com Programação Modular

  • A programação modular permitiu criar módulos estruturados que valorizavam dados e funcionalidades em pequenas cápsulas.
  • Apesar dos avanços, a programação modular teve vida curta devido ao surgimento da POO.

O Paradigma da Programação Orientada a Objetos

  • A POO representa uma evolução significativa nas linguagens de programação, permitindo maior flexibilidade e organização no desenvolvimento.
  • Alan Kay é reconhecido como um dos pais da POO; ele tinha formação em matemática e biologia e focou seus projetos na educação infantil.

Conceitos Fundamentais Criados por Alan Kay

  • Alan Kay formulou um postulado sobre computadores funcionarem como organismos vivos, onde cada célula (ou objeto) opera autonomamente mas se relaciona com outras para alcançar objetivos comuns.
  • Sua visão integrava conceitos lógicos e biológicos na definição do funcionamento dos sistemas computacionais.

Aplicações Práticas da POO

  • Os conceitos criados por Alan Kay podem ser explicados através de objetos cotidianos; qualquer objeto pode ilustrar os princípios fundamentais da POO.

Recado Importante e Oportunidades de Emprego

Introdução ao Curso e Patrocinadores

  • O vídeo interrompe a programação normal para um recado importante sobre uma proposta de emprego relacionada ao curso de programação orientada a objetos.
  • A Hostnet, uma das maiores empresas de hospedagem do Brasil, é um dos patrocinadores do curso em vídeo, apoiando o projeto desde o início.
  • A Hostnet oferece serviços de hospedagem e é recomendada para quem já fez cursos como PHP e HTML, destacando sua qualidade.

Oportunidade com a Hostnet

  • A Udinese está buscando representantes que saibam construir sites, oferecendo uma oportunidade de emprego para os alunos do curso.
  • Os interessados devem acessar o site da Hostnet para verificar as oportunidades disponíveis.

Sistema Educandos: Preparatório Militar

  • O segundo patrocinador mencionado é o Sistema Educandos, conhecido por ser o maior curso preparatório militar no Brasil.
  • Resultados significativos foram alcançados pelos alunos do curso, incluindo altas notas na marinha e aeronáutica.

Contribuição dos Gafanhotos

  • Muitos gafanhotos estão patrocinando o curso em vídeo; há um convite para que mais pessoas contribuam financeiramente.
  • Atualmente existem 124 apoiadores que garantem a continuidade das aulas. Contribuições são bem-vindas independentemente do valor.

Alan Kay e Inovações Tecnológicas

Vida Profissional de Alan Kay

  • Alan Kay desenvolveu conceitos inovadores sobre interação educacional utilizando computadores durante sua carreira na Xerox.

Projetos na Xerox

  • Na Xerox, ele participou de projetos importantes como o mouse e a interface gráfica no Palo Alto Research Center (PARC).

Dynabook: Um Protótipo Visionário

  • Alan Kay idealizou o Dynabook, um dispositivo educativo projetado para crianças com tela interativa e teclado.
  • Embora tenha sido criado em papelão nos anos 70, suas ideias previam tecnologias que hoje são comuns como tablets.

Legado do Dynabook

A Importância da Programação Orientada a Objetos

O Legado de Alan Kay

  • Alan Kay é reconhecido por seus conceitos que influenciaram o desenvolvimento de tecnologias modernas, mesmo que seu projeto inicial tenha permanecido como protótipo.
  • Ele criou uma linguagem de programação para suportar suas ideias, pois as linguagens existentes não eram compatíveis com os conceitos dinâmicos que ele propunha.
  • A primeira linguagem de programação orientada a objeto foi desenvolvida sob sua liderança, incorporando conceitos como classes, objetos, atributos e métodos.

A Trajetória Profissional de Alan Kay

  • Após seu trabalho na Xerox, Alan Kay colaborou com empresas renomadas como Apple e Disney, além de ter passado pela HP.
  • É considerado o "pai da orientação a objeto", sendo fundamental entender a evolução da programação para apreciar sua importância.

Comparação entre Programação Estruturada e Orientada a Objetos

  • Na programação estruturada, dados são tratados em massa por procedimentos que nem sempre utilizam todos os dados disponíveis.
  • Isso pode resultar em um sistema confuso onde procedimentos filtram dados antes do uso.
  • A proposta de Alan Kay foi simplificar isso através do conceito de objetos, onde cada objeto possui seus próprios dados e métodos relevantes.

Vantagens da Programação Orientada a Objetos

  • Métodos associados aos objetos utilizam apenas os dados pertinentes ao seu contexto, eliminando a necessidade de filtros adicionais.
  • Um exemplo prático é o controle remoto: programá-lo em uma linguagem orientada a objetos foca nas funcionalidades dos botões em vez dos detalhes internos do circuito.

Linguagens Compatíveis com Orientação a Objetos

  • Existem várias linguagens no mercado que implementam conceitos de orientação a objetos; algumas não são totalmente compatíveis ou são baseadas em classes.
  • Exemplos incluem C++, Java e PHP. C++ é fundamental para orientação a objetos mas não é estritamente orientado; Java exige essa abordagem enquanto PHP permite flexibilidade.

Vantagens da Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos

  • A Microsoft e a Apple contribuem para linguagens de programação como C# e Objective-C, respectivamente. A maioria das linguagens modernas é orientada a objetos, o que torna essencial entender esses conceitos.

Principais Vantagens da Programação Orientada a Objetos

  • Seis vantagens principais são frequentemente citadas na programação orientada a objetos. É importante memorizar essas vantagens para facilitar o aprendizado e as provas.

Mnemônico "COMER NADA"

  • O mnemônico "COMER NADA" ajuda a lembrar as seis vantagens: Confiável, Oportuno, Manutenível, Extensível, Reutilizável e Natural.

Detalhamento das Vantagens

1. Confiabilidade

  • A confiabilidade se refere ao isolamento entre partes do software; alterações em uma parte não afetam outras. Por exemplo, um controle remoto pode funcionar com diferentes tipos de pilhas sem necessidade de modificações externas.

2. Oportunidade

  • Um software oportuno permite que partes sejam desenvolvidas em paralelo. Isso significa que componentes como o controle remoto e suas pilhas podem ser criados separadamente.

3. Manutenibilidade

  • Atualizações em um software são mais fáceis; pequenas modificações beneficiam todas as partes que utilizam um objeto específico, facilitando o processo de manutenção.

4. Extensibilidade

  • Softwares devem crescer para permanecer úteis. Um controle remoto pode ser atualizado com novas funcionalidades sem precisar ser recriado do zero.

5. Reutilização

  • Objetos podem ser reutilizados em diferentes sistemas; por exemplo, uma classe criada para alunos em uma escola pode ser reaproveitada em um sistema de academia.

6. Naturalidade

  • A programação orientada a objetos deve ser intuitiva e fácil de entender, focando mais nas funcionalidades do que nos detalhes técnicos complexos.

Considerações Finais sobre Aprendizado

Aula de Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos

  • A programação orientada a objetos (POO) é apresentada como um conceito natural, utilizando exemplos do dia a dia para facilitar o entendimento.
  • O acrônimo "COMER NADA" é introduzido para lembrar as vantagens da POO: Confiável, Oportuno, Manutenível, Extensível e Reutilizável.

Preparação do Ambiente de Desenvolvimento

  • Para iniciar com PHP, recomenda-se instalar um servidor e um editor de código; o servidor sugerido é o XAMPP e o editor NetBeans.
  • O NetBeans será utilizado tanto para PHP quanto para Java, destacando sua compatibilidade com Windows 10.

Escolha do Ambiente

  • É importante que os alunos escolham qual linguagem querem aprender: PHP ou Java. As aulas são divididas conforme essa escolha.
  • Instruções são dadas sobre como acessar as aulas específicas para configuração dos ambientes de PHP e Java.

Organização das Aulas

  • Recomenda-se assistir às aulas através de playlists organizadas para melhor aproveitamento do curso.
  • O instrutor enfatiza a importância da inscrição no canal para melhorar o suporte e patrocínios ao projeto.

Agradecimentos aos Colaboradores

  • O instrutor agradece aos colaboradores que ajudaram na realização do curso, mencionando que seus nomes serão exibidos nas aulas futuras.

Apresentação de Nomes e Agradecimentos

Lista de Participantes

  • O apresentador menciona diversos participantes, incluindo Danilo Pedro de Sousa da Paraíba, Maicon Patrocínio do Espírito Santo e outros, destacando a diversidade geográfica dos colaboradores.
  • Continuando a lista, são citados Mário Moreira do Maranhão, Paulo Campos de Minas Gerais e Diego Farias de Pernambuco, entre outros.
  • Vítor de Sousa de São Paulo e Jefferson Costa do Distrito Federal também são mencionados, reforçando a ampla participação nacional.
  • A lista inclui nomes como Alessi Paiva do Rio de Janeiro e Henrique Barros do Piauí, mostrando a inclusão de diferentes estados brasileiros.
  • O apresentador expressa gratidão aos participantes que foram nomeados e reconhece aqueles que não puderam ser mencionados nesta primeira aula.

Reconhecimento e Colaboração

  • O apresentador agradece profundamente a todos os colaboradores mencionados, enfatizando que o projeto depende deles para existir.
  • Ele destaca que o nome dos participantes será registrado em todas as aulas futuras, mesmo que nem todos sejam citados individualmente em cada sessão.
Video description

Nessa aula de POO, vamos aprender o que é Programação Orientada a Objetos e quais são as suas principais vantagens em relação a outros tipos de Linguagem de Programação. Gostou da aula? Então torne-se um apoiador do CursoemVídeo acessando o site apoie.me/cursoemvideo Nós do CursoemVideo sempre recomendamos assistir a aula completa, mas se quiser aprender diretamente uma parte específica, clique nos marcadores de tempo a seguir: 0:19 - Qual é o assunto da aula? Aula do Curso de Banco de Dados com MySQL criado pelo professor Gustavo Guanabara para o portal CursoemVideo.com. Curso em Vídeo Site: http://www.cursoemvideo.com YouTube: http://www.youtube.com/cursoemvideo Facebook: http://www.facebook.com/cursosemvideo Twitter: http://twitter.com/cursosemvideo Google+: http://plus.google.com/112666558837414979080 Patrocínio HOSTNET: http://www.hostnet.com.br EDUCANDUS: http://www.sistemaeducandus.com.br GAFANHOTOS: http://apoie.me/cursoemvideo Ask Rufus de Audionautix está licenciada sob uma licença Creative Commons Attribution (https://creativecommons.org/licenses/by/4.0/) Artista: http://audionautix.com/