[Música] Olá pessoal bem-vindo bem-vindo a todos a essa aula nós estamos na segunda aula da semana um na disciplina de formação profissional em computação então nessa aula de hoje nós vamos falar sobre a evolução da Computação né e os paradigmas de programação para falar da evolução da Computação a gente preparou aí esse primeiro slide né esse primeiro slide aí Traz uma sequência de Marcos importantes que aconteceram aí na evolução da Computação né se você pensar né a evolução da internet até os dias atuais né ela trouxe grandes mudanças para nossas vidas e a vid de
várias pessoas aí na terra né E se você pensar tudo isso começou em 1969 né A internet ela completou 51 anos de história e desde então ela vem passando aí por grandes mudanças até os dias atuais né é uma das grandes descobertas aí do homem no último século né hoje em dia você você não consegue pensar em passar nemum dia sem internet né Não dá para imaginar isso deixaria um caos né Qualquer um imagina a loucura que o que o mundo seria sem internet a grande evolução da internet ela começou aí na área militar do
governo americano né com a ideia de proteger o país contra as guerras né no caso principalmente contra a guerra fria né os conceitos né militares da internet eles tiveram início aí na década de 70 porém foi só na década de de 60 na verdade né que efetivamente a ideia se desenvolveu tanto nos Estados Unidos né como na antiga União Soviética é em 62 né já tinha uma ideia de uma rede aí que eles chamavam de uma rede intergalática eles queriam conectar computadores né Eh e 7 anos depois eh isso conseguiu realmente acontecer né em 69
E aí deu início do surgimento do nascimento da internet então por isso a internet aí tá completando 51 anos eh nos anos 70 e 80 né Eh dá seu início ao termo internet né nesta década surgiram os protocolos que aí vocês devem já conhecer os protocolos tcpip né o uso do termo internet ele aconteceu só em 1974 com a primeira publicação aí sobre o protocolo TCP né nos anos 80 e 90 surgiram as grandes redes né as redes One né em 1983 se deu Grande Marcos das redes aí tcpip e todas as redes com o
mesmo endereço de IP puderam então estar conectado para troca de arquivos e mensagens né mas a grande popularização da internet ela aconteceu lá no ano 88 né onde houve abertura dessas grandes redes aí com fins comerciais né já no final do dos anos 80 começou a conexão aí da eap né e porém se vocês eh quem lembrar né a grande explosão da internet no mundo foi a partir de 1989 né quando os Estados Unidos Resolveu comercializar a internet pro resto do mundo né o world wide web né nossa conhecida www que se utiliza antes de
qualquer navegação né foi criado aí pelo famoso né e célebre Tim bernes le né e ele nasceu com a intenção de ajudar aí a organização europeia nas suas investigações nucleares assim várias pessoas né Elas poderiam estar trabalhando juntas no mesmo assunto no mesmo documento eh nos anos 90 Aí surge o https né que assim garantia que esses dados enviados eles fossem criptografados né E aí a gente consegue enxergar onde nasceu a nossa Internet atual né A partir dessa época o interesse mundial foi grande em torno da internet onde eh acabou causando aí grande explosão assim
as pessoas começaram também a ter os hardwares a preços mais baixos né combinando com essa questão aí eh do da mudança de arquitetura de hard né da minimização aí os chips né E aí todo mundo começou a era do computador pessoal né juntando aí a ideia de ter um PC com acesso discado aí à grande rede né ainda se vocês olharem na década de 90 né foram criados aí os grandes portais né O um deles o yahu né bate-papos mensagens instantâneas serviços de e-mail gratuit né o Hotmail os sites de buscas né a Google na
sequência né E hoje na atualidade a gente tem aí eh computadores né internet das coisas né tudo já eh embutido em qualquer tipo de equipamento né inclusive vestuários que a gente conhece né Então essa aí é um um pouco da história pensando aí nessa linha do tempo traçada por esse slide eh nos anos 2000 né como começou a grande novidade da web né com a a facilidade da aquisição de computadores e com a internet disponível aí pro público em geral né a tecnologia foi evoluindo E aí nós tivemos grandes avanços eh significativos né um desses
avanços foram as redes sociais né assim como a Google eh isso foi assim uma grande evolução uma grande acontecimento para esse período embora o Facebook não tenha sido o primeiro né A primeira rede social ele é considerado o caso mais bem-sucedido de uso de aplicação da internet como meio de comunicação e informação né ele fornece acesso Inclusive a notícias permite que as pessoas se comunicam em tempo real né outro grande exemplo é o YouTube ele é um meio de entretenimento hoje né eventualmente ele substitui até as mídias tradicionais como TV e rádio né Hoje é
muito mais fácil você chegar numa casa e encontrar pessoas né que em vez de uma televisão ela tem um computador e aí assiste programas no YouTube eh com a chegada massiva de usuários na internet as empresas acabaram percebendo tendo enorme potencial né de impactar o seu público por meio dos canais de redes sociais né E que hoje é impossível falar de internet sem publicidade né hoje a gente tem muito serviço gratuito da Internet por causa dessa publicidade né Ela acabou desencadeando a quarta Revolução Industrial né levando o mundo aí é o que chamamos de era
da informação Inclusive a internet 2.0 já está sendo tratada como uma nova etapa que permite que os usuários deixem de ser apenas um espectador passivo né E passa a interagir e a colaborar entre si inclusive criando conteúdos né A internet 2.0 ela é uma tendência né baseada em desenhar sites encontrados aí e centrados em usuários que facilita aí o compartilhamento e a troca de informações eh ainda pensando na internet né você tem aí a questão da internet que sai de uma internet eh discada a internet de banda larga aí com a criação de redes 3G
4G e agora Prometida 5g né hoje em dia a internet acabou virando uma necessidade diária tanto pro uso Empresarial quanto nas nossas cas as né hoje eh a gente tem um despertador na internet a gente precisa aí no dia a dia esse acesso à internet agora ela está também sendo colocada para outros objetos e lugares né para oferecer outros valores né como agora mostra o surgimento da internet das coisas né a linha do tempo da nossa Internet né Ela é formada por diversas as evoluções aí e diferentes valores compartilhados que levaram a humanidade a transformar
Inclusive a maneira como eles eh tem o seu estilo de vida como eles vivem como eles se comunicam né E são mudanças que veio para mudar para sempre hábitos e costumes aí da humanidade eh dentro dessa ideia de evolução né a gente falou na aula passada sobre a questão de saber para programar para não ser programado né como uma necessidade essencial do ser humano hoje em dia né como a necessidade de saber ler e escrever e para saber programar uma das Ferramentas que a gente tem são as linguagens de programação né a linguagem de programação
ela é uma maneira de se comunicar né Ela é um padrão de comunicação como outras linguagens né E ela é um padrão de comunicação para para se comunicar através de instruções com o computador né E aí para fazer essa comunicação a gente usa palavras e símbolos Então como em outras linguagens a linguagem de programação também ela tem regras de sintaxe e regras de semânticas que são traduzidas em um programa de computador né Assim como as linguagens humanas quanto mais linguagens de programação vocês conseguirem aprender vocês souberem né imagina-se que serão maiores as suas chances aí
de conseguir se virar em qualquer ambiente de desenvolvimento aí no futuro vislumbrando essa evolução aí da computação permeando e suportando as diferentes áreas eh de profissões aí no futuro a versatilidade que se tem né Eh sabendo diversas linguagens de programação ela acaba sendo cobrada né Lógico que pros profissionais da área de computação de ti mas ao mesmo tempo para profissionais de diferentes áreas né Eh mesmo que você não queira se especializar na área de computação né sempre é bom ter uma base aí das principais linguagens né o dinamismo do mercado tecnológico ele acaba demandando cada
vez mais que nós profissionais pessoas da área de TI nos mantenhamos sempre ados e por dentro de novidades né e com aquela ideia de aprender a aprender né Sempre aprendendo né Eh então é importante vocês aí estarem em Foco com algumas linguagens né e a gente agora vai falar sobre a questão da linguagem e seu paradigma né uma linguagem de programação ela segue um paradigma né então uma definição de paradigma né é uma maneira eh de classificar as linguagens pensando nas suas funcionalidades né é uma maneira de definir paradigma é dizer que é um meio
de classificar as linguagens eh com foco principal né nas suas funcionalidades então só para vocês terem uma metáfora de um exemplo né Imagine que você esteja se mudando de residência né e precisa levar todas as suas coisas para sua nova casa né Você já sabe qual é o problema né mas eh de qual forma ou de qual paradigma você vai usar né vai se vai ser aer para resolver essa questão eh existem diversas formas de classificar né diversas formas de dividir as principais linguagens de programação Então se você for pensar na questão né de paradigmas
você pode dividir as linguagens de programação em linguagens do tipo imperativo e do tipo declarativo a imperativa é a linguagem que especifica os passos a serem seguidos e a linguagem declarativa ela trabalha na relação ou função entre os dados né então o foco dela é são os dados dentro da linguagem imperativa nós temos linguagens que são procedurais e linguagens orientada a objetos a procedural ela trabalha com procedimento né E aí esses procedimentos são instruções são passos a serem executados né E aí você tem vários exemplos né fortran koball Basic né o Pascal né agora a
gente tem dentro das linguagens imperativas também as linguagens orientadas a objeto né a ideia aí a organização é diferente né Porque em vez de trabalhar com procedimentos e Passos agora na orientação objeto você define objeto e a relação Entre esses objetos né então vocês muitas vezes acaba abstraindo objetos do mundo real físico né não sempre a gente consegue né a gente vai ter objetos que são lógicos também né mas a ideia é você ter esses objetos e as suas relações representados nessas linguagens e aí você tem grandes exemplos de linguagens famosas como Java eh csharp
pon rubby a gente tem diversas linguagens nessa linha o intuito da criação então é mesmo a questão de aproximar né a ideia das estruturas de um programa né com a ideia de coisas né objetos do mundo real né então por isso vem o próprio nome da desse tipo de linguagem né orientada a objetos né como um objeto algo genérico que pode representar uma coisa Qualquer que seja tangível dentro da linguagem eh do paradigma declarativo né a gente tem as linguagens do Tipo funcional né A ideia é definir funções né matemáticas para realizar computações e aí
evita dados ou estados que são mutáveis dentro desse tipo de linguagem Nós temos dois grandes exemplos aí que são a linguagem prolog e a haskel tá eh Nós também temos uma classificação de linguagens pensando em tipos de linguagens de programação quanto a est dos seus tipos Então nós vamos ter a classificação das linguagens como fracamente tipada fortemente tipada dinamicamente tipada e estaticamente tipada dentro das linguagens fracamente tipada né Nós temos as variáveis que não é definido é o tipo das variáveis né E aí elas podem facilmente ser modificadas né o grande exemplo desse tipo de
linguagem é o PHP né a fortemente tipada são as linguagens que os tipos das variáveis são imutáveis e pré-definidos por exemplo Java né Java é uma linguagem fortemente tipada linguagens dinamicamente eh tipadas São linguagens mais modernas são as linguagens que os tipos das variáveis é definido em termos de tempo de execução E aí você tem Python Rubi eh Rubi como os principais exemplos e tem as linguagens estaticamente tipada né ela tem um tipo das variáveis que é definido na na no momento de compilação E aí você tem Java e c como grandes exemplos tá eh
continuando classificação de linguagens né a gente tem as linguagens também de eh de programação que podem ser classificadas de acordo com o seu grau de abstração Então a gente tem a o grau de abstração como uma escala paraa linguagem né Quanto mais baixo mais próximo da linguagem de máquina e quanto mais alto mais próximo da linguagem humana Então nesse caso a gente vai ter linguagens de baixo nível né são linguagem basicamente eh que tem símbolos né que representa o código de máquina né Nós temos as linguagens aí de médio né de médio nível que aí
a gente vai ter linguagem que possui símbolos que podem ser diretamente traduzidos para o código de máquina e nós temos finalmente a linguagem de alto nível né Então aí a gente tem outras classificações tá E também tem a classificação de acordo com as gerações aí eh que eu deixo aí para vocês eh Depois de falar das classificações das linguagens de programação né Nós podemos pensar no tradeoff dessas linguagens né Eh existem alguns critérios aí conflitantes para as linguagens de programação a citar dois critérios conflitantes são a confiabilidade e o custo de execução né eles são
conflitantes porque por exemplo a linguagem Java ela exige que todas as referências doos elementos de um vetor sejam verificadas E aí ela acaba garantindo que os índices estejam em suas faixas válidas e com esse passo de verificação acaba se aumentando o custo né de execução dos programas em Java que contém aí um grande número de referência a vetores né elementos de vetores né e os projetistas dis javam eles acabam optando pela eficiência de execução né eles trocam né eles pedem eficiência de execução Mas eles acabam ganhando em confiabilidade né então é uma decisão já baseada
nesse tradeoff né você tem que saber que isso é uma opção outro conflito que é bastante citado entre as linguagens de programação né outro tradeoff é a questão da facilidade de escrita e a legibilidade né Por exemplo ponteiros em c+ mais né eles são facilmente modificados né eles são facilmente manipulados de diversas maneiras né isso possibilita a questão de endereçamento de dados de uma maneira muito mais flexível né agora devido a essa eh flexibilidade né Essa facilidade de manipulação né Eh podem acontecer problemas aí de confiabilidade com o uso de ponteiro né E eles por
isso já foram excluídos de Java né então a gente sempre vai ter essa questão aí de eh de offs e saber escolher a linguagem correta pro domínio de aplicação né pro que a gente pretende considerando essas características das linguagens né Eh em resumo para fechar para vocês aprender linguagem de programação é importante né é interessante você aprender mais de uma né várias linguagens que você puder né Eh de diferentes categorias também é bem interessante né ela vai acabar isso eh aumentando a sua capacidade de comunicação no mundo computacional né E aí acaba aumentando a a
capacidade de usar diferentes maneiras de construir e escrever diferentes soluções né diferentes programas eh aprender diferentes linguagens também vai deixar você mais eficiente né para escolher as linguagens na hora de você criar os seus projetos né E você vai poder trabalhar essa Escol de uma maneira mais inteligente né e é aquela questão né quando você aprende mais linguagem mais facilidade de aprender novas linguagens você tem né Isso não vale só para idiomas mas vale para linguagens de programação também né Eh e finalmente o projeto e a avaliação de uma linguagem de programação dependem de um
domínio né então a gente precisa tomar muito cuidado de não cair naquela armadilha de escolher a linguagem que a gente mais conhece Mas sabe para desenvolver uma aplicação né sem pensar na aplicação e nas características da linguagem né então entre os critérios mais importantes para a avaliação da linguagem né você tem que pensar na questão da legibilidade da facilidade da escrita a confiabilidade e a questão do custo né aí nessa figura tem um resumo para vocês né uma uma uma figura na verdade tirada de um site que mostra né o ser humano tem uma ideia
né E com essa ideia ele consegue aí montar uma descrição do problema e usando um raciocínio lógico aí ele pode utilizar-se de uma linguagem de programação para fazer um algoritmo né E aí ele vai usar e vai escolher uma linguagem de programação né para fazer um programa de computador né esse programa de computador ele vai escrever aí numa linguagem de alto Médio baixo nível né que vai ser transformada numa linguagem de máquina executada né pela máquina aí então esse seria os passos de transformação desde a ideia do ser humano né até a linguagem de máquina
Então você vai ver que vai se trabalhar diferentes Abstrações aí do problema ou da solução né com isso eu finalizo a aula de hoje deixo para vocês a bibliografia que foi utilizada espero que vocês tenham aproveit tá a aula utilizem da bibliografia para se aprofundar mais no texto e a gente se vê numa próxima aula então da semana dois um abraço a todos e até a próxima pessoal [Música]