e
isso é o podcast Fronteiras da
engenharia de software o podcast para
refletir sobre o presente e o futuro da
nossa área este podcast tem o apoio da
Azul innovation empresa que cria
tecnologia impulsiona o crescimento
exponencial do
[Música]
e
hoje na Fronteiras da engenharia de
software vamos conversar com Fernando
Quintão professor da Universidade
Federal de Minas Gerais UFMG o tema do
episódio de hoje será linguagens de
programação Tudo bem Fernando você pode
se apresentar para as pessoas que nos
escutam Oi Adolfo Ingrid Obrigado pelo
convite um prazer estar aqui com vocês
pois então eu me sinto Fernando eu eu
vivo em Belo Horizonte em Minas Gerais
Eu sou professor no departamento de
ciência da computação da Universidade
Federal de Minas Gerais desde de 2009 Eu
terminei o doutorado no em dezembro 2008
em janeiro de 2009 eu vou ter Brasil fez
doutorado na Universidade da Califórnia
em Los Angeles meu orientador é na época
não havia resposta então Desde aquela
época eu tô na UFMG onde eu ensino
linguagem de programação eu faço
pesquisa com compiladores Então hoje a
gente tem o laboratório de compilador c
e eu acho eu dou acordar na com e
horinha faz alunos de mestrado e
doutorado EA gente realiza projetos
também com algumas empresas envolvem
teoria de compilação em qualquer na
prática da construção de compiladores e
é bem isso nossa Fernanda é um prazer
ter que ter aqui no nosso podcast né E
que foca em engenharia de software e
quando a gente fala nisso né com relação
a implementação a linguagem ou as
linguagens de programação escolhida para
o projeto de software tem uma
importância muito grande eu poderia dar
uma visão Geral do Panorama que a gente
tem hoje em dia de paradigmas de
linguagens de programação
a gente tem em Teoria em princípio né
vários paradigmas de programação algumas
formas de organizar softer Então a gente
tem o parar de enganar objetos que já é
antigo por outro lado é ainda é muito
popular a gente tem o paradigma de
programação funcional
eu chego nessa surgiu com isso nos anos
60 Mas até hoje tem alguma popularidade
vem crescendo Cruze a gente tem o
paradigma para segurar o que é
normalmente a forma como os alunos de
ciência da computação e sistemas de
informação são alfabetizados em em
programação que é algo que também já é
assim uma técnica de programação muito
antiga né já vinha de forte olhar 250
mas que cresceu muito com linguagens
como o rei da seresta Pascal a gente tem
alguns paradigmas que eu chamar ela de
novo exatamente esotéricos né mas é
muito pouco usados principalmente na
indústria né que seria por causa
paradigma lógico onde a gente tem é
prólogo que come o representante mas
embora existam outras linguagens né no
mundo de quantidades como deitar logo
por exemplo então é esse a gente tem uma
riqueza muito grande né em linguagens de
programação agora é enterro de
desenvolvimento de software é esse
paradigma imperativo né que segue modelo
da máquina de turing onde a gente tem
está e hoje a gente tem contabilidade
ele é ideia dominante né assim vai as
mais populares elas de fato vão seguir
esse modelo e não conseguir só
organizacional a gente ainda tem a
orientação a objetos não é muito forte
muito popular principalmente no mercado
brasileiro Então a gente tem linguagens
como Java por exemplo que é uma
linguagem de programação muito popular
no mundo mas extremamente popular em
software houses no Brasil mas a gente se
linguagens multiparadigmas que vem se
tornando cada vez mais populares eu acho
que talvez a grande Vedete nessa linha
seja pai então eu antes da entrevista
aqui até dar uma olhada hoje esse
rolamento 2021 já com vários Spice
acetona linguagem mais popular
entre os programadores Então é por
exemplo em termos de busca no Google e
termos de número de tutoriais é é uma
linguagem de programação extremamente
Popular muitas pessoas vão usá-la como
linguagem orientada a objeto mas muitas
pessoas é uma linguagem funcional por
exemplo aqui na UFMG a gente tem um
curso de extensão que é programação
funcional em paz ela gente ensina na
essa forma de pensar nessa forma essa
metodologia de pensar no programa de
maneira funcional sendo o programa em
transformado os dados né É em paz então
a ciência de dados né eu crescimento
ciência de data de evento dessa dessa
dessas técnicas de mineração de das
tornaram o planeta uma linguagem de
cinema desculpa lá e não é exatamente
Claro qual o paradigma de programação
que ela ao colo saber qual nasceram
linguagem multi paradigma tão inscritos
paz após análise de dados não serão
necessariamente orientada a objetos
sentido de que eles não essas
programadores Não se preocupa com padrão
hoje projeto ou com princípios consolas
por exemplo Eles escrevem ou
transformava de dados um deitar grande é
isso que que eu escravos eram ela falou
que tinha de transformar dados de se
escreve pequenos transformadores de
idade Então acho que é isso Mais ou
menos né é interessante eu
Olá eu sou grande fã da comunidade
Brasileira de paz o velho só camisa do
evento super exclusivos já entrevistei
algumas mulheres da comunidade Lá na
milhas podcast Inclusive eu acho que
agora a Presidenta da organização do
Brasileira de Paiva PIB né Associação
pai tão Brasil é uma mulher pela
primeira vez e eu particulamente tenho
trabalhado bastante com elixir mas
ensinando né vídeos no podcast a lixeira
em Foco participando da comunidade ele
tinha costurado uma linguagem funcional
apesar de não ser linguagem puramente
funcional mas é funcional funciona o
concorrente né porque tem a Binho por
trás a máquina costal 2 lanças e a gente
fica curioso quem faz parte da
comunidade quem conhece as linguagens
funcionais e eu acho que até talvez até
para outras linguagens Como faz que é o
anel lisp Ok meu o pessoal adora assim a
linguagem e fica por quê que elas são
são tão populares e dos e como as
linguagens loretta orientadas a objetos
com Java Java script Python que você
acabou de falar que é meio
multiparadigma né Existe alguma razão
que você com sua experiência consegue
ver para essas outras serem mais
populares que fatores devem ser levados
em consideração para escolher um
Paradigma e uma linguagem de programação
é essa é uma questão curiosa né Se a
gente for analisar uma linguagem assim
que alguém chamaram de um negócio assim
estritamente funcional negócio mais
funcional com g natural programar de
forma funcional por exemplo o resto que
o Essa Não Quem a mesmo OLX é ruim elas
não tem comunidades pequenos comparados
com essas outras linguagens são os bebês
mortos da das linguagens de programação
né então já vai ter uma comunidade de
milhões de usuários para Então vai ter
uma comunidade longe usuários E essas
outras linguagens assim quando muito
pelas motel em 3D de usuários né por
outro lado é uma coisa curiosa quando a
gente olha um programa igual falei antes
não é a gente pegar um programa de um
cientista de dados ele vai carregar um
arquivo csv erro arquivo e a Mel ele vai
processar aquilo de alguma forma aí
filtrar os dados que ele quer ele vai
mapear alguns dados em outro tipo de
informação é possível criar como de
alguma informação ali some passou a
média enfim eu não vou escrever uma
classe para para fazer isso é muito
Possivelmente ele assim jamais pensarem
de qualquer forma usar técnicas mais
complicadas programação o como herança
por exemplo para analisar esses dados a
gente vai ver um programa funcional ali
então é mesmo por exemplo a gente vai
ler JavaScript a gente pega um programa
que faz algum tipo de processamento em
Pense também aqueles varão entra por
exemplo também é a mesma coisa a gente
vê é muitos essas Kombi o mapa de
filtros de aglutina Dores então é
exatamente um programa é orientado já
5:00 a gente possa programação orientada
a objetos enviados por isso parece
recortar escrito Então é eu acho que é
de fato a as imagens mais populares elas
não seriam funcionais assim me deixa a
Maria já vai ter uma linguagem funcional
ou já vi escrito não embaixo funcional
mas o pai de baixo Nacional mas a
programação funciona pelo menos as
técnicas de programação funcional elas
elas existem ali e mesmo linguagens que
onde seria muito antinatural programar
de forma funcional por exemplo essas
iguais foram evoluindo e hoje elas
incorporam é características de
problemas funcionais por exemplo Java
eventualmente adotou este polimorfismo
paramétrico né a lista de é assim o tipo
genérico que é uma característica que
vende linguagens funcionais Né desde ml
tava presente resque ou então já acabou
do time sem nos anos 90 eventualmente né
assim depois de o tipo de muito Java
adotou as funções lambda neocolours não
ser possível passar uma função
comparando já antes ela era horroroso né
para fazer para simular alguns padrões
simples em Java por exemplo passar um
algoritmo de ordenação genética né que é
rodeada pra cima para baixo a gente usar
esse padrão os projetos é templo as
metas 3D então assim eu teria que
estender classes classes anônimas eu
hoje Java tem essa noção de closures ela
a gente consegue fazer esses algoritmos
com lacunas né ela tem o esqueleto de um
algoritmo e eu preencher algumas lacunas
ali a operação de comparação por exemplo
com funções de alta ordem O que é um
padrão de programação extremamente
funcional então ainda que não seja
natural eu programar de forma funcional
em Java a programação funcional tá ali
vem aumentando assim os programas se
tornam mais funcionais com a adoção de
características que é presença em
linguagens de programação funcional o
outro exemplo super marca é pai tão
Paiva agora vai ter casamento eu faço...
Dessa já veio com um casamento de
padrões que é algo a seguir
provavelmente é o Instituto da
programação funcional
em bom programa orientado a objeto a
gente cápsula as partes internas do
dados né e usa polimorfismo tipo de
Paraty para fazer invocação que a gente
quer sobre aqueles dados aprovar o
programa funciona o abre aqui você deve
casar nos padrões a gente constrói o
tipo transpõe para o
código cliente né O que que eu o tipo
tem internamente Então se são maneiras
bem diferentes de de organizar o
software e agora vai ter isso então é
possível desconstruir uma classe
desconstruir uma lista de concessões
curiosidades expor as minúcias da
implementação daquelas habilidades
programador via casamentos padrões agora
porque ele vai as estritamente
funcionais no São é tão populares quanto
a alguns razões sem
principalmente razões históricas assim
tem que começa normalmente frente a
popular mais atentamente bom Então agora
temos problemas um programa estritamente
funcional Você programa puramente
funcional ele tende a ser menos
eficiente Imagina eu quero fazer uma
tabela hash se eu não vou conseguir usar
o arranjo você não consigo não tem muita
habilidade né então eu vou ter que fazer
aquilo que uma árvore e acaba tendo uma
componente logarítmico aqui tem problema
de decoração então de comprar um
programa funcional uma vez que essa
noção de estado não é tão forte no
programa funcional eu coloco um
break-point eu vou inspecionar o que
então é onde que eu coloco para o
expoente em Paulínia a ordem que as
coisas acontecem e já não é tão
importante né eu deveria não ser tão
importante Então como que eu faço para
depurar um programa desse O que que é
uma boa ati para esposo programador no
momento Snapchat da execução do programa
eu tenho que ser uma boa ferramenta para
isso programação também alguns gráficos
e os programas industriais dos seus
gráficos apresentam up de telefone vai
entrar e com usuário de alguma forma tem
um sistema de janelas ali isso tende a
envolver Estado então Como que escreve
tração entre os vários da do aplicativo
e o aplicativo então em programa
funcional já é mais difícil eu tenho que
é simular esse estado eu vou ter que
passar esse estado como parâmetro para
próxima função né que a Continuação
daquele daquele código então isso acaba
sendo não sempre eficiente de certa
forma não é tão natural é embora é claro
que pudesse ser feito também se falou do
Elite assim é a gente tem servidores
Neve e sistemas de banco de dados é
implementado de forma funcional o senhor
recursivamente eu passo a quantidade
próxima função mas já não é algo assim
tão natural que seria no modelo mais
interativo de programação tá você tem
esses esses problemas nesses essas
deficiências é deficiência certa forma
que o programa funcionará quanto daria
para lidar como os sistemas que envolvem
estar de votação Onde está então deixa
fazer uma pergunta assim um pouco
polêmica por quê e quando a gente pensa
a linguagem de programação no meu
entendimento a gente tem que pensar nós
sabe expressões que vão reduzir a
probabilidade do programador introduzir
erros na e também facilitar evolução na
do sistema e até assim quando Java
surgiu né ouvi se tirou certas
propriedades do que ia vir em duas
plantas na justamente por causa desses
erros comuns por exemplo manipulação de
ponteiros herança múltipla né em Java
deliberadamente não existe a nossa
multiplica por causa dos problemas
da herança músculo e daí quando a gente
faz fala de linguagens multiparadigmas
né senha tu olha o código fica na
responsabilidade do programador usar
isso de uma maneira Consciente e
organizada eu tô fazendo por exemplo um
estudo com o projeto JavaScript tu ver
de tudo lindo é fácil de interface aí
uma hora tu ver função uma hora do ver
classe não existe da redação do código
então assim eu entendo o que pode ser
mais rápido para eu fazer agora a tarefa
que eu esteja precisando né eu vou lá às
vezes faz rápido com uma certa maneira
conseguindo certo paradinho mas isso aí
já era um spaghetti alla no código então
isso aí não pode ser uma coisa se não é
eu acho que é uma faca de dois gumes Mas
será que assim não isso não sem pode
gerar o senso de produtividade que a
longo prazo não se palha eu acho que a
pergunta é nesse número de linguagens de
programação a linguagem que oferece mais
esse oferecer mais uma ilusório né no
sentido que você pode ir aumentando a
complexidade do software onde é certa
forma é claro mas a gente eu gosto de
pensar em Natividade programação como
uma atividade ainda artesanal
extremamente artística no sentido de que
é possível pintar de diversas formas
diferentes né então a gente tem estilos
de pintura por exemplo e é possível
escrever um programa de diversas formas
diferentes também e algumas são
esteticamente muito bonitas né Por
exemplo
ontem a gente tava bom ensinou a
programação de cada objeto também então
a gente tava discutindo testes de
primalidade
Então é os meninos estavam tentando
reduzir o tamanho do programa em
caracteres ASCII mesmo então ele tava
escrevendo aí um
incrível net um crivo em baixo com 23 ou
24 mesmo assim eu vou conseguir de
estudar muito pequena dia que é que tem
ele tem pai é o programa da Letícia né
quem pode a de novo não está dando nunca
fica aquilo tá fazendo mas é mas existe
essa beleza artística nesse essa beleza
Criativa no desenvolvimento de programa
então eu isso programador eles são
criativos sim em Ciência da Computação
existem esses dois limites é que os
programadores eles têm que obedecer não
precisa se naturais né eu tô grávida e
no painel resolvido é tem então esses
limites para trás que impõe limite
complexidade limite decidibilidade a
gente tem do lado essas vezes atrás e
depois a gente não criatividade das
pessoas assim elas vão fazer qualquer
coisa que elas puderem fazer só porque
elas têm a liberdade de fazer aqui e
pode ter problemas de produtividade Sem
dúvida é uma linguagem eu acho que
conhecer você mais mais em Java você
mais mais hoje já falei mas muito grande
mas ainda no início dos anos 90 né
quando eu chegava Subtil era uma
linguagem muito menor então assim até
hoje já viu ainda tem um pouco desse
legado né assim não eu não consigo criar
uma função foge magoasse então assim é
uma decisão para diminuir o tamanho da
linguagem então sim toda a função ela
tem que ter sobrenome que é o nome
daquela classe não falou lá foi criado é
um pouco diferente você mais mais por
exemplo mano você é mais mais já vê como
esse super conjunto de ser ser mais raça
muito mais aberta do que já rápido assim
é possível escrever programas de forma e
embora hoje já foi mudou bastante então
é hoje Java está bem mais próximo de ser
mais mais ou não mande a conta modelo de
memória mas um programa Java já consegue
se parecer mais com um programa l por
exemplo não é assim você mais mais
mistérios do que quando eu já tá surgiu
não estava sem foi perdendo um pouco
dessa desse ligou é sentido e forçava
programas orientados a objetos e mas até
assim embora até hoje eu tenho legado
disso ele é um função tática entrava
ainda manter o povo Espero que voy o
nome da função o negócio muito nervosa
Mas enfim Java surgiu dessa forma mais
estrita e foi se abrindo foi
receber Eu falei o bicho paramétrico
recebeu classe liberação recebeu várias
bibliotecas de concorrência diferentes
funções lambida por exemplo que demorado
acharem ser mais mais também então eu
acho que a comunidade daquela linguagem
quando cresce ela acaba pedindo é por
extensões contexto é tão diferente assim
até hoje então é isso aconteceu com a
chave acontecer com JavaScript né Hoje é
possível escrever um problema com praças
Jardins públicos quando métrica diabos
que sempre foi o exemplo da linguagem
agendar o dia sem classe então e as
pessoas que assim acabaram demandando a
essa noção solicitação de classe para
organizar os problemas porque escolhemos
um crescendo também quando a comunidade
da linguagem cresce normalmente a
linguagem cresce se ela embaixo e não
cresce a comunidade não cresce mais e
fez volta eu acho que a gramática de
volta ao creme ajuda essa palavra chave
a linguagem super pequena então assim a
gente tem essa noção de dados e
mensagens e eu escrevo programas dessa
forma e tipos primitivos nas montanhas
mas antes motivos é mais assim o número
de operadores e todas as coisas dos
componentes cidades linguagem são
objetos são lo de muito pequeno de de
programação mas esmalte toque sempre
teve uma comunidade muito pequena quando
a linguagem surgiu sem assim a problemas
deficiência Eu também na a imagem que eu
fiz e quem é que fosse a linguagem
orientada a objeto para todos combinar e
isso nunca aconteceu você mais mais
chegou esse supriu um problema que você
tinha né que era falta de habitações
para desenvolver programa de pontos
grande carregando os outros usuários
maldoc você ninguém eventualmente para
chamar mesmo o toque mais porque havia
essa alternativa muito mais eficiente
muito mais prática com essa problemática
que era ser mais mais Então é assim
assim sem problemas de produtividade mas
como com crescimento da comunidade da
linguagem linguagem cresce ou ela morre
massa e ainda fazendo assim esse
Panorama do antes e depois né eu me
lembro lá quando eu tava na graduação
assim você realmente a gente tinha que
escolher Dois caminhos né hoje a gente
era desenvolvedor.net ou desenvolvedor
Java na nem precisava saber os dois
escolheu um e se especializavam naquilo
E aí você gente olha hoje em dia não
existe uma grande variedade tão primeiro
porque que existe essa cenário de
proliferação de linguagens e segunda é
realmente precisa tantas opções assim ou
isso traz algum benefício
então primeiro porque existem muitas e
muitas linguagens
quantas linguagens são muitas linguagens
né quando eu dou aula de linguagens de
programação assim o primeiro ouro na
primeira aula né a gente contas iguais
Valeu que pede a páginas linguagem sem
contar que quando uma 600 então assim
tem uma 600 linguagens de programação
com barragens na Wikipédia que não são
aqueles são distantes né assim artigos
que tem alguém escrever alguma coisa é
600 iguais programação muito linguagem
né ninguém nunca vai conseguir programar
ver todas elas por outro lado esse mundo
não é não é o mundo democrático não é
assim a gente com filtrar linguagem que
tem mais de mil usuários ali é
provavelmente a gente corta sei lá no
esquadro química da desse dessas
linguagens é ninguém programa aí para
mim* assim então assim normalmente a
gente não a gente não acabou encontrando
essas linguagens mas ele chega em torno
de a gente será que a gente vai ter cima
as imagens programação com mais de 1
milhão de usuários é provavelmente não é
linguagem com 10 milhões de usuários
sobre as ele acha umas seis sete
linguagens de programação hoje talvez
então eu mundo ainda é dividida né a
gente ainda tem
vb.net esse short nesse mundo da net da
Microsoft que a gente essa imagem se de
software aberto embora é claro nessa
interação ganhando cada vez mais
importância porque hoje a gente vive
nesse mundo em que uma BMW Brasília
consumir assim tão que é zero na
internet né se eu vou usar a sorte lá
dentro então é é muito difícil competir
com a comunidade só cidade é só será
aberto nesse sentido de preço agora
porque tem plantas iguais porque vocês
podem fazer né Assim táxi não é
patenteável é o seu ninguém pode existir
um copo argentino
do consciência aberto não consegue
fechado por exemplo né então e as
pessoas vão normalmente construir essas
linguagens de programação agora a gente
tem uns nichos então O que é uma
linguagem de programação que vai ser boa
em todos os nichos sem a gente temos
negócio é muito famosa por exemplo Java
é uma linguagem que assim tende a
brilharem em vários nichos diferentes
por outro lado a gente não vai encontrar
nenhum sistema operacional nenhum
navegador bem um desses videogame de
Alto desempenho que são feitas em Java
com que a gente está falando de
linguagem sistema não sei se é mais mais
agora de graça você não é também para
esse nicho da mochila mas você ainda é
igual a vila dos galpões laje Asterix né
assim eu só mando dominaram toda a
França e sobrou aquele que tá aquilo ali
que ainda não é essa é isso é mais mais
nesse mundo desses então uma então assim
a gente
naturalmente acabam surgindo alguns
nichos em que alguns linguagem você mas
é predominantes por exemplo movimento de
lábios até hoje PHP que não é uma em
termos de projetos em baixo programação
em várias oficinas Mas até hoje pega até
um ano É nesse nesse mundo de WhatsApp é
muito em parte por causa das bibliotecas
que surgiram também né assim as pessoas
não querem começar a escrever código do
zero é uma solução que o que já tem
pronta a gente tem esse mundo é sinistro
de ciência dos dados e que já vão nunca
brigou e a gente é a que a gente acaba
tendo linguagens como o pai vão né Agora
sim é que domina segunda de ciência dos
dados mas a gente tem R lá a gente tem
Júlia de certa forma né um pouco agora
então são linguagens que
normalmente a gente não vai encontrar um
programa no estado objetos nesse nesse
nicho né mas você mais em Salvador de
dados então naturalmente começa a gente
tem os nichos de
Que Clama por algumas necessidades
diferentes acaba surgindo linguagens que
vão ser dominantes Naquele lixo mas como
nós esse tantos nichos assim a gente tem
poucas linguagem dominante então assim
como eu falei eu acho que especialmente
a gente vai encontrar mais dessa embaixo
a gente programação
10 milhões de usuários mas e nada hoje
que conseguiria escrever um pouquinho
pelo amor naquela linguagem e lua é lua
é uma linguagem muito bacana no sentido
de que é com cinza é um negócio pequena
sem a gramática de lua vai ser
pequenininho em cima e é uma linguagem
extremamente pragmática no sentido de
que ela executa em qualquer lugar basta
tem um compilador de c é sem chances e
que a gente consegue instalar e fazer
lua funcionar eu acho que não tem uma
coisa super elegante né ela quer é uma
linguagem construída em torno das
estruturas de dados em tão
desconcertante tabela então é
normalmente a linguagem oferecem algumas
historicidade assim eu vou linguagem
orientada a objetos vai ter muitas
estruturas de dados e os programadores
resolver outras estruturas de dar a lua
é uma linguagem de programação
conspirador nos conselhos tabela do
mesmo jeito visto por exemplo foi a
linguagem programação conseguir em torno
do conceito de lista Então nesse sentido
filosóficos as barragens programação eu
acho super bacana porque com tabelas eu
consigo conseguir funções eu consigo
construir objetos ou seja ela tem uma
tabela com as funções né método J ordem
alguns atributos são restritas ao objeto
eu consigo fazer tudo então acaba tendo
uma gramática pequena o modelo de
execução elegante passo é fácil instalar
e fácil de alguma resposta embarcados
por exemplo assim que e acaba
encontrando uma comunidade de
desenvolvedores que se constrói em torno
dessa simplicidade então no ponto de
vista de simplicidade já chegou uma
linguagem extremamente elegante Eu acho
que eu faço de diabo escritos tecido a
linguagem na internet talvez você é um
acidente porque na época não é que
quando colocar não quero discutir não né
troquei se conhecesse lua Talvez hoje
que você iria a Brenda Nike né tivesse
decidido mexer com a coluna na época
talvez de uma Hoje seria a linguagem na
internet porque eu acho modelo muito o
Diego esse uma sim táxi mas fica ligado
porque ele já fiz que eu acho que isso é
uma coisa que eu não sou de longe nenhum
especialista em História linguagem
programação às vezes quando eu vejo uma
coisa ou outra parece muito muito das
coisas que acontecem é pela caso né e
com relação à lua eu aproveito para
recomendar quem tá no tem um episódio do
podcast os programadores muito bom que
ele Marcelo quer
criador desse podcast ele entrevistou
Roberto ierusalimschy
aqui eu acho que assim para um Siena é
um dos criadores de lua junto com o
Valdemar pele e Luiz Henrique de
Figueiredo destruição professores da PUC
e considerando o cenário atual ou é o
Pedro eu tenho vontade de jacko tem
escrevi pequeninos programa sem lua mas
é Um Desafio pessoalmente para
desenvolvedores profissionais conhecer
muitos linguagem de programação é só não
vai conseguir dominar e não basta se
conhecer sim táxi de uma linguagem lua
tem a syntax mas eu acho que você ser
realmente produtivo lua OLX Uberlândia
você conhecer as tecnologias as
bibliotecas os Formou eu acrescentaria
que talvez participar da comunidade para
ver o que que tá acontecendo de novo
porque às vezes você tá fazendo uma
coisa de um jeito e a comunidade de
estar fazendo toda ela de outro jeito
usando outra biblioteca e se você pensar
em não conseguir um emprego ou ocupação
nessa nessa comunidade e uma empresa que
faz parte da que usar linguagem faz
parte da comunidade que você pode ficar
por fora então pensando nisso é só nem
ter uma carreira profissional existe uma
estratégia melhor Fernando
você deve se especializar em uma
linguagem duas em três em cinco conhecer
10 15 linguagem superficialmente seja
você tem Como orientar as pessoas nisso
e como o mercado de trabalho se
diferencia nos diferentes paradigmas de
linguagens e eu não sei eu não sei se
altamente se
você não era só poderia né dizer dar uma
recomendar algo dessa forma eu não sei
se vale a pena Talvez o programada se
especializar profundamente né em baixo
programação a conhecer ao algumas eu
acho que os caminhos podem ser bons é
assim não pode virar profissional é
claro que vai depender muito da
competência da seção é por outro lado
uma das linguagens de programação
fascinante então assim sendo possível
conhecer mais de uma é claro que me a
minha posição é tendenciosa porque o
ensino de baixo programação não acredito
mas em sendo possível conhecer mais de
uma é eu acho que as pessoas abriram
agarrar essa oportunidade é um pouco me
falar mais de uma língua Sim Isso é abre
portas para a gente a gente vai conhecer
a comunidade a gente vai conhecer essa
forma de programar outra forma de se
expressar agora é o programado que se
especializa em uma única linguagem
programação é uma o Pálio é se ele corre
o risco Óbvio é daquela plataforma se
tornar obsoleta Então é isso acontece
por exemplo Object Object se a linguagem
do iOS a ex linguagem do iOS né assim a
durante muitos anos as os sistemas
embarcados da da Apple eles eram
escritos em Object se mas que é uma
linguagem antiga assim que é claro deixa
muito a desejar mas quando surgiu o
iPhone com surgiram assim essa
comunidade ecossistema de ai coisas
negócio pessoas falam aí tem as pessoas
começaram a usar muito objeto desse e é
comunidade objeto que você saiu do
completo ostracismo se tornou é grande
por outro lado é alguns anos atrás a
Apple não sou Swift que hoje é a
linguagem utilizada para programar o iOS
e quando a gente olha a quantidade de
repositórios do hip-hop em objective-c
em Swift é um X perfeito enquanto a
mulher que se somente caem
e somente aumenta então assim claramente
Comunidades a senhora Swift da
canibalizando os usuários de objetos que
sim então os programadores que conheciam
somente Object Object se você tiver que
aprender essa missão Ou eles saíram do
mercado não consegui trabalhar E isso
acontece com outras linguagens também
por exemplo
typescript scripts que são formas
alternativas de desenvolvimento de
aplicativos web é no cliente Hoje quase
ninguém usa Top Secret mas a linguagem
quando surgiu era uma promessa de suprir
deficiências de diabo scripts mas é mas
então surge split ela sente de fato uma
linguagem que tem suporte corporativo
que tem eh ferramentas ideias e e a
gente também contra o ser humano que se
a quantidade de gente repositório de uma
linguagem na outra vitamina eu x
enquanto corre scripts desaparece táxi
cresceu hoje é uma linguagem bastante
Popular deve estar entre os iguais
certamente dos quinze em bairros mais
populares e assim Já possui vários
vários índices diferentes Então existe
essa esse perigo né de você colocar
todas as laranjas na os seus ovos da
mesma na mesma cesta assim então no
conjunto pragmático é existe esse esse
perigo mas se como eu disse antes Eu
acho que quando a gente aprende mais de
uma linguagem preferência linguagens
diferentes age isso abrir um pouco a
visão da gente sobre o que que é um
programa então um programar você mais
mais não vai conseguir escrever um deles
em Java do mesmo jeito que um
programador Java Talvez fosse bom
aprender a escrever de leite e ser mais
mais de vez em quando então é porque as
linguagens e de fato são diferentes um
programador funcionam não tem que nem
abrir uma classe para fazer processo
algum tipo de dado certo do mesmo jeito
que alguém pode querer aprender a lidar
com o Estados É uma opção e calma que
são padrões para a gente tipo coisa no
bairro orientadas a objetos então a
gente cresce enquanto programado antes
de virar professora eu estagiei na
Google isso aí A moradora e na época
isso em 2008 a gente precisava para
conseguir o que ele chamava de
herdabilidade assim capacidade de ler
código em três linguagens diferentes né
e as linguagens recomendados eram já vão
ser mais mais e pai então é ou seja
assim a prova empresa né tinha essa
noção de que ser interessante que os
programadores pudessem conhecer é mais
de uma linguagem de programação é o
Quando eu fez graduação eu teve uma
disciplina que era modelos de linguagem
de programação que eu acho que está
presente na maior parte dos cursos né e
o objetivo é justamente esse tu ver os
diferentes paradigmas né com exemplo em
algumas linguagens
representativa e pelo menos tu conhecer
as diferentes Abstrações disponíveis né
e assim tu conhece as ferramentas e
depois podes especializada que acordo
com sua necessidade mas tanto que a
gente tem conversado até aqui como no
caso dessa disciplina né É focando no
aprendizado e em linguagens de
programação mas a gente olhar para os
currículos de bacharelado de ciências da
ciência da computação né Eu acho que em
outros cursos da Computação isso também
aparece tem disciplinas como linguagens
formais e compiladores né eu me lembro
quando eu fiz a graduação seu famoso
livro do dragão para calculadoras e
tinha senão conhecimento aprofundado em
linguagens de programação inclusive para
desenvolver novas linguagens qual a
importância disso na formação de um
profissional da área eu sou pergunta
polêmica também uma Jefferson ganhar
esse ano agora né os autores do dois
autores do livro do dragão e quando a
gente olha os ganhadores do prêmio
thoreau chutaria que um quarto deles
mexendo aqui embaixo programação de
alguma forma a gente tem o
vacas com forte ou uma carte com lista o
hit com o seu coque com a Intel é quem
tava Sampaio tel bom então assim é a
gente é assim esses profissionais né de
ciência da computação espera Impacto
muito grande Ciência da Computação agora
com treinadores por exemplo não é uma
disciplina obrigatória
no curso de ciência da computação de
acordo com o currículo da cm por exemplo
então é o curso de paradigmas de
linguagem programação ele é obrigatório
Você tem uma parte dele que é
obrigatório de acordo com o currículo da
ciência é compiladores não é e eu faço
pesquisa compiladores não é claro né
cabeça deveria ser mesmo um bom
programador não precisa conhecer
compiladores para programar bem por
outro lado eu acho que se ele conhecer
mais sobre compiladores eu acho que ele
vai programa melhor então assim não
precisa disso para pagar bem mas eu acho
que consegue além do que ele consegue
fazer conhecendo como que um compilado
Funciona porque isso acaba também é
Existem muitos falácias que a gente tem
de imaginação são naturais né e que não
são por exemplo é quando a gente Oi
gente o rabanete os alunos em Ciência da
Computação eles eles tendem a usar o
nome da variável que eles acham que está
poupando memória do do do programa põe
atende não né esse até bonito da
ingenuidade Mas eu sempre calculadora
que eles não tem nada a ver um com o
outro não sei que eu desaparece esses
novos que programado a ver eles têm eles
eram fantasmas do programa o combinado
arranjar arranjar aquilo de uma forma
que o programa Vai provavelmente a ser
muito melhor do que qualquer programa
que ele pudesse escrever se esforçando
muito então é assim a gente acaba
relegando no congelador essa tarefa de
utilizar o código né eu vejo por exemplo
às vezes alunos declararam o imperador
do contador que fazer interação do Astra
como um charme sesmt porque eu já que
vai só até
25 m2550d menos menos bonitos aqui eu
comprei lá que eu vou fazer aquilo para
ele para nós vamos que não conheço
aparecer esse era tão pequena não dá
para desenrolar aqui eu vejo assim as
pessoas discutindo por exemplo E aí vou
fazer uma máquina aqui porque não deu
curso de chamar a atenção é
provavelmente o campeonato é integrar
aquele código também então ou então as
pessoas discutindo por exemplo armas só
tem herança sendo que chama ao método
vai ser mais gostoso é quando na verdade
aqui numa linguagem estaticamente espada
igual Java ou você é mais mais vai fazer
diferença nenhuma então eu acho que o
programador ela acaba conhecendo um
pouco melhor como que é a ferramenta que
ele usa que te falar Tu é o compilador
uma máquina virtual que seja né que
também vai ter um compilador de assim
time ali muitas vezes então acabou
usando a a ferramenta de trabalho dele
de forma é melhor e eu acho que o mesmo
raciocínio análogo ele se aplica a curso
de métodos formais por exemplo as
pessoas torcem o nariz para a recursão é
por outro lado é recursão dá margem a
uma técnica de prova chamada indução
estrutural que que é super natural e
ajuda a gente entender que um programa é
correto né então assim é merda do senhor
mais certa e a gente vai escrever código
que que tende a ser mais sólido que
sempre que tende a ser mais consistente
agora é não é necessário que essas
disciplinas estão presentes no currículo
do curso não é por exemplo no curso de
sistemas de informação aqui na UFMG não
existe uma disciplina obrigatória e
metas formais não existe disciplina
obrigatória de compiladores é embora
exista o curso de combinado hoje é
obrigatório no curso de ciência da
computação e e mesmo no curso de ciência
da computação não tá claro na minha
cabeça que essa é a melhor a melhor
forma de organizar o curso eu acho que a
gente não tivesse seja se diz o
currículo da sendo estritamente e
deixasse confinadores conectar tivesse
não seria ruim é também ou o aluno que
tivesse especializar especializar em
programação é em programação Industrial
poder fazer o curso por exemplo né e
outro quiser seguir uma carreira
gerencial que talvez fosse passar por
cima disso não conceder isso mas aí como
eu falei quem que é ser um programador
melhor eu acho que convém conhecer pelo
menos como combinado Funciona porque é a
fim Se ele deixasse a fazer ela falou eu
fiz isso porque assim essa ideia assim
ah tá ele não vai usar no dia a dia
nunca vai escrever um computador então
não precisa então seria quase que pensa
assim vamos passar o que o profissional
preciso para diretamente sentar numa
mesa de trabalhar essencialmente do
preciso ensinar uma linguagem de
programação prontos o curso de
computação mas eu eu vejo assim que sem
por exemplo se conhecer arquitetura de
computadores tu conhecer compiladores né
É isso que vai fazer diferença de Tu
realmente tem um cientista da Computação
da Computação um profissional na área e
não simplesmente alguém que sentou aí
eles vão curso de programação para
começar a escrever código em alguns
meses e eu como eu tenho essa trabalho
the application level Cash né eu vejo
que para te entender performance né É
fundamental tu entender como funciona a
máquina né Como como o seu programa vai
rodar o que que assim teu noções do por
baixo dos panos para te conseguir na tua
camada de abstração trabalha bom então
assim realmente se não é porque se eu
não vou usar no dia a dia não é a gente
pode realmente descartar e colocar com
uma seletiva o curso difícil da
Computação o curso de sistema de
informação Hoje nossa ele tem 3 mil
horas então é eu falo do curso de
sistemas de informação eu não gosto de
ciência da computação Ele tem 13 horas
ele envolve Ciência da Computação ele
envolve ciências contábeis ele envolve
administração e ele envolve a
organização de informação que eu assim
arquivologia e biblioteconomia então ele
tem mais ou menos um pouquinho mais
assim é quase dois terços do currículo é
formado de disciplinas obrigatórias e o
resto é formado de disciplinas optativas
então os alunos eles vão ter a chance de
escolher qual caminho eles vão seguir é
vários vários alunos vão querer de fato
que tá aparecendo é carreira mais esses
aspectos mas gerencial da indústria de
informação é outros de fato vão se
tornar um dos profissionais assim hoje
vários nós sabe onde de sistemas de
informação trabalham grandes empresas de
computação enquanto programadores então
esses talvez queiram aprender um pouco
mais sobre compilação por exemplo para
entender por exemplo de onde que vende
entende programas Quando que o programa
estabiliza porque a primeira vez que
esse culto Igreja Que devagar e depois
ele começa a executar mais rápido é que
mágica aqui que acontece com o programa
agora outros alunos eles vão querer
aprender a programar gente lidar com
pessoas eles vão querer aprender
técnicas de organização de times de
cinco meteorologista Criar e organizar
empresas então o curso é amplo por isso
que não curso de sistemas de informação
por exemplo é o curso de compiladores
ele não é obrigatório assim e embora ele
exista e como uma disciplina optativa
não consiste essa comparação de fato não
é obrigatório sem porque não
entendimento é de quem matou o currículo
não e as pessoas que montaram na época a
disciplina é importante e como fala aí
né não é mesmo no curso da CM o curso de
compiladores ele ele não é obrigatório
mas é assim mas eu falo isso mas é claro
assim eu defendo que o salão aqui da
barn comigo tá todos eles são
eventualmente fazer o que os
controladores o concessionário estática
de código porque eles vão se
especializar é nessa área e pensando em
queira atuar especificamente na área de
linguagens de programação trabalhar com
linguagens compiladores e
interpretadores qual seria o mercado de
trabalho para esse profissional no
Brasil e no exterior Eu imagino que você
tem exemplos concretos de seus alunos o
alunos de Mestrado doutorado que estão
atuando na área é eu tive que fazer um
memorial para progressão nas carreiras
Então hoje já formaram comigo 31 alunos
27 alunos de mestrado e 4 alunos do
parar nesses 11 anos nesse g1fg e desses
deixa eu fazer uma pergunta para você
sabe me informar
a 31 é mestrado e doutorado quantos
vocês acham que tô na academia hoje
33 que coisa absurda
Não não eu tiro que eu sei que pessoal
de Mestrado geralmente a maioria não vai
para academia é só doutorado o dinheiro
tá cada vez mais difícil você
praticamente aqui do Brasil considerando
que você é um professor jovem entrar na
academia e o resto não é todos os alunos
22 alunos na verdade dois desses fazendo
doutorado hoje tem um Marco civil que o
foi para Tóquio e o Gabriel ele tá
buscando o doutorado em está forte eles
ainda não terminaram mas é todos os
outros alunos hoje tá uma indústria
alguns trabalham diretamente com a
linguagem de programação por exemplo é
dois alunos trabalham na com sites que a
empresa do pai forte do pai é sim com os
prédios horizontes então o Gomes atender
40 que a gente assim o patrão desse
agora é o Caio parecia que trabalha na
garra é diretamente implementação de
Atos que lhes cortam é assim ó o motor
de a biscoito do safari no Browser são
cinco anos hoje na Microsoft pão é então
assim que emigraram né acabaram de sair
do país tem uma ndml dois anos na que aí
nessa tem dois anos na área trabalham
diretamente com compiladores para
esses também migraram um deles fica na
Inglaterra ou tá na França mas é e tem
várias empresas de análise estática de
código que hoje começa aqui para Minas
Gerais então eu contei quatro então a
gente precisa algumas e inclusive do um
bolso dimensionados para gente é bolsa
de iniciação científica é quatro
empresas californianas é hoje contratam
alunos aqui para ficar bem aqui E é
claro que para eles estão minas de ouro
né assim os engenheiros nas Formosas MG
São várias vezes melhores do que
qualquer engenheiro que vai ser formada
melhor a Universidade da Califórnia
assim em graduação assim ó
e essa muito mal enquanto programado
hoje eu digo assim já correspondência
que eu tenho mas eu coloco a minha mão
no fogo eu vou colocar Universidade
Brasileira é Federal Não é o clico pra
entrar é muito pesado Sim Isso é uma
selva nessa Então alguns alunos para uma
vaga então aqui é algo totalmente fora
da realidade americana por exemplo então
assim o naturalmente as nossas
universidades federais a fio vamos lá
vamos então forma-se excelentes alunos
diferentes programado hoje que hoje
conhecem duas bem então e o nosso fuso
horário dos Estados Unidos não é ruim
então é várias as empresas começam a
contratar lá Salmos aqui por exemplo a
última ligação que a gente recebeu foi
da sai eles contrataram Oi Pablo no já
do laboratório de compiladores é
Engenheiros para trabalharem aqui eu
chuto que eles paguem mais ou menos é um
terço do salário de um engenheiro de
software na Califórnia é o que
provavelmente aqui é mais do dobro do
que uma pessoa receber em início de
carreira no Brasil porque é um
profissional especializado em
compiladores né aí a cobra muito difícil
de encontrar então é isso Acabou valendo
dinheiro ele tem valor um valor alto no
mercado de trabalho é na minha época de
Google trabalhava não tinha de
compiladores a gente fazia código podia
ser era um pouco mais de 20 pessoas
assim só mexendo acontecer a gente
imagina que você queria ser nessa montar
um um compilador de código aberto ele é
mantido por hobbistas né entusiasmadas é
Solitário na mesa dele você vai num de
noite depois do trabalho profissional
deles aqui não tem nada a ver com a
realidade assim que ser hoje é um
compilador extremamente Industrial
senhor lcm que a gente usa pesquisa né
também é um compilador extremamente
Industrial é e vira e mexe aparece
anúncio de emprego Sine tem muita alunos
empregos aqui é para trabalhar com ele
ele vem então é hoje ou é deve ser
mantido pela Google pela Apple
principalmente né por causa dos Swift
então é é gratuito de fato é só será
aberto mas ele é mantido por
profissionais que pagam assim que por
empresa que paga a programar a ver com
essas ferramentas e alguém tem que fazer
isso então existe muito raro existe
muita linguagem de programação Alguém
tem que te faz é construir as pontes
entre uma árvore a linguagem de
programação agora é a maior parte dos
seguintes alunos que forma como eles vão
trabalhar em segurança
segurança internet é analisando o
programa então por exemplo tem o Leandro
que trabalham nas yf os meninos são é
empresa que fazem certa forma segurança
de dados por exemplo eles ficam
condições sintetizador de gramática para
aprender o formato linguagem de log para
saber se é o buscar né para esconder a
informação que seja nós agora com essa
lei de proteção dos dados então é muito
bacana assim oh eles tem o banco de
dados vai tirando logo que eles não
conhecem gramática ele descobre a
gramática daqui é usando técnicas
formais e sintetizam o buscador para
aquelas ferramentas então assim hoje a
gente tem assim é ser essas
possibilidades não é de gerar ferrar Oi
gente alto valor agregado que envolvem a
teoria muito bonita aqui no Brasil mas
para a indústria estrangeira então se eu
vejo os meninos portando eu faço eu falo
meninos mas assim a gente ó uma duas
meninas aqui formaram-se em nosso
laboratório mas é pouco ainda
infelizmente em termos de diversidade a
gente tem é falhado Mas a gente pode
falar essa hora mas mas enfim é hoje eu
acho que é possível a gente suportar
serviço intelectual em vez porta essas
hora de ferro é a gente consegue de fato
sim é receber essa essa esse serviço
você demora de serviço trabalhar com
isso aqui no Brasil e mandar o retorno
na intelectual de volta sem uma cidade
que o mundo é tão tão globalizado e
falando da tua pesquisa é tu tem
diversos artigos publicados sobre a
alocação de registradores que seria isso
e porque esse é um problema é importante
para se investigar científicamente assim
eu fiz o doutorado é uma oração
adminstradores mas não achava algo
fascinante né Esse é um problema
combinatório é que tem aplicação prática
muito grande então os essa que depois
modernas estão passando os computadores
modernos ele tem uma hierarquia de
memória e no topo dessa hierarquia eu
tenho assim os pontos de memória que são
muito rápidos Mas eles existem em
quantidade pequena então é no topo de
Será que eu tenho certificadores então
São Gonçalo unidade de memória é que
existem em quantidade pequena em cima
por exemplo 8 16 32 registradores uma
máquina tem mas que as podem ser lidos e
escritos é sem penalidade no parque lá
em da máquina nessa não precisa fazer um
um louro João Vitor para alterados né
então é como vem deixar as variáveis que
você usadas mais tempo no programa em
registradores então na época que eu fiz
eu acho que na época em que eu trabalhei
com locação de tratores Fronteira linha
né uma de problema deixou de fato de ser
interessante né poucos artigos surgiram
depois então É mas na época a gente ele
percebeu assim eu e ela O que foi foi
até uma coincidência que é programas em
determinado formato é possível fazer
alocação ótima economia esse em qualquer
programa podia ser colocado naquele
formar então é disso veio né o meu
projeto de doutorado o algoritmo acabou
fechado é a gosto da Intel Então é assim
é patente até agora tirou agora em 2019
e a gente mais novo Então esse foi assim
ah o que eu trabalhei durante o
doutorado e depois que eu terminei o
doutorado eu ainda trabalho um pouquinho
com a locação de geradores mas muito
pouco e assim eu achava interessante
Fatos e até hoje acho fascinante que é
muito exceção entre geometria e
linguagem de programação mas é assim eu
comprava de forte assim e 54 já fazia na
caixa registradora então é um problema
que de fato apanhou até morrer da
comunidade de pesquisa é difícil de
levar para os resultados é disso hoje em
alocação utilizados
um artigo seu bastante se tá o killbits
vocês assim que fala que o bicho é
location alocação de bits e que fala
sobre o problema da locação de Clubes em
computadores quânticos O que diferencia
as linguagens de programação atuais das
possíveis futuras linguagens para
computadores quânticos não sei se já
existem linguagens para computadores
quânticos e talvez vale apenas os
introduzir para aqui para a nossa
audiência O que é um computador quântico
é esse esse aqui o Pizza location ele
foi trabalho do Marcos do Marcos e o tio
é o que hoje faz doutorado na
universidade de Tóquio ele ganhou essa
dissertação do SPC desse concurso de
dissertações tá se você das pessoas que
passam é com esse trabalho então é o Max
genial né então o médico disso é todo
mesmo o senhor se ele ficar no Japão
Japão ganha muito se ele voltar pro
Brasil a gente que Mas enfim então é
deixa começa a última pergunta não quer
computador quântico é um computador
quântico ele é um uma calculadora super
especializada bom então é um eu posso
imaginar eu acho que é melhor talvez uma
analogia seria imaginar um computador
ponte como uma GPU sentar as cálculos
superespecializados é claro que o
computador quântico graduação em
computação gráfica né mas ele faz
cálculo superespecializados ele consegue
é capitalizar em cima de fenômenos
quânticos É principalmente essa é uma
coisa que os físicos gosta de chamar de
sobreposição então é um um estado
quântico ele na verdade é um ajuntamento
de probabilidades de estado quando você
mede o estado só mas assim a vários
probabilidades ele é de estados então é
enquanto você não mede todos Eles
continuam é o curioso até quando todos
eles continue assistindo assim é mesmo
que seja somente as prováveis é para
fins de cálculo Eles continuam existindo
então é possível usar um computador
quântico para
simular uma quantidade de policial de
representar quantidades potencial de
estados então se eu tenho ele que eu
pizza o
design é estados possíveis ainda que só
tem um estado ali todas as
probabilidades de estados elas a gente
vai fazer cálculos com elas é computação
computadores quânticos eles podem
acelerar o acredito que naqueles podem
acelerar é comutação e seriam não tem
factíveis no computador clássico eu acho
que vai dar exemplo talvez você
fatoração de números primos Então existe
um algoritmo alguns algoritmos de
fatoração em computadores quânticos é o
principal algoritmo de shor então é é
possível faturar pelo menos em princípio
na teoria números primos muito grandes
usando esse fenômeno disse preposição e
a menstruação posterior então É nesse
sentido a bom sem os físicos e os
cientistas tentação acreditam que a
computação quântica pode fazer mudar
algumas áreas da Computação como busca
em banco de dados a criptografia né Por
causa da essa questão da Federação Então
são essas Procuradores é super
especializados é esse algumas físicas
hoje né a IBM para e é Como consegue
comercializar computadores quânticos é é
possível inclusive utilizar computadores
quânticos na um serviço de nuvem da IBM
Mas eles em poucos clubes então você não
é algo necessário para atingir o que a
gente na área de supremacia conte e
mesmo aparecer essa aqui Essa oração é
assim até surdina relatórios números
grandes que foram para tornar fazer mais
a gente o maior número de Eldorado assim
consistentemente até hoje eu Suponho
seja 15 então é mas eu imagino que assim
É já é possível passar disso é óbvio né
mas assim talvez uma certa consistência
é isso ainda é um pouco fugidinha né Tem
muito erro computação quântica tem muito
erro eu te de mensurar Essa agora é E
essas arquiteturas agora tem que ser
programadas então esse senão a gente de
programação para comprar Sampaio mas eu
acho que tem um dia analogia é hoje o
que a gente tem de abstração para
programação de computador quântico seria
mais ou menos um círculo de portas
lógicas então é pior do que acendem em
termos de abstração ou programador vai
escrevendo é realmente plugando portas
lógicas é essas portas assim sem uma
lojinha né mas são operações que a gente
executa sobre estes que são É de fato é
essa unidade de armazenamento de dados
que podem ser sobrepostas e que de fato
são passíveis de efeitos quânticos Então
a gente tem alguns operadores para
sobrepor kyubit para fazer o quê de mim
tem bônus dos times têm operadores para
Leis Que objeto alterar as diversas
formas ou caso me deu é o que é a SMT a
linguagem mais comum em e compra em
contato quântica né ela parece com a
partitura musical assim a cada nota
seria uma porta lógica e a gente tem o
fluxo de tempo do programa né como as
minhas musicais então assim ainda são
são linguagens carecem de de Abstrações
Net programação pois não faz muito
sentido tem muitas situações quando a
gente consegue manipular 5 e para sempre
na verdade mesmo que isso transformar é
confiável então É mas é algo que
provavelmente ainda tem entende assim já
falei demais e sem algo que vai deve
comer demais e Fernanda
como estudantes entusiastas
podem contribuir para o desenvolvimento
de linguagem de programação de código
livre hoje hoje isso é muito fácil né
porque muda muito pedindo então é a
maior parte das linguagens as imagens
mais populares hoje elas são abertas por
exemplo e em ferramentas mais populares
eu tenho vence abertas também a gente
usa muito lvn para fazer pesquisa ou ela
vem minha mãe fruto de compilação e são
é uma sigla para ela leva o show na
China então é um compilador industrial
de código aberto com a comunidade super
receptivo inclusive Então é os alunos
ex-alunos e entusiastas né hoje eles
conseguem por exemplo
resolver bancos né pegar ela é aberto
nessas linguagens consegue resolver
vários desses bancos eles conseguem
interagir com a comunidade via fórum
Então essa em cada comunidade tem a sua
o seu canal de comunicação né ainda tem
fóruns de emails não tem tempo discordo
é vários tipos diferentes canais de
comunicação então assim é possível
entrar nessa comunidade até respondendo
perguntas por exemplo e tem essas
iniciativas abertas né que são
financiadas por grandes empresas por
exemplo
a Google tem o Summer of code então em
vários alunos aqui do lac no trabalho a
taxa acumulada hoje é participar não
sabe os posts em várias embaixo cima
diferentes não a gente a TV dois na Rose
lá assim para desenvolver o compilador
Java scripts já teve três com lvm a
gente teve um só não ficou descongelar
gás e que é o compilador derretam então
é o aluno recebe uma como uma bolsa né
Assim hoje hoje é só que eu acho que só
é $5000 eu fazer um trabalho Há quase
quatro meses e e nesse assim tem ele vai
entrar com tutor da comunidade quase
aberto mas há outras também né Por
exemplo a linguagem de negócio
programação dele financiou o Wilson
ficou deles então eles têm o Então a
gente tem um aluno bolsista também que
contribuiu para a linguagem dele então
assim a várias dessas iniciativas mas eu
acho que o o primeiro caminho é buscar
conhecer a comunidade sem ler os fóruns
é possível alguém ser a resolver algum
algum Bank É possivelmente responde a
perguntas assim até mesmo no exterior
overflow que é possível que seja a
ferramenta mais útil que a gente para
todos os programadores Então é eu acho
que você tenta buscar inicialmente é
conhecer a comunidade bem interessante
eu concordo plenamente com essa
comunidade eu aproveito e faço um lanche
aqui para o pessoal da Islândia
consciência fondation Se alguém quiser
especificamente contribui com a
comunidade de elixir Lang tem os outros
em qualquer pessoa pode entrar fazer
parte da fundação e e dá até para
conseguir alguma ajuda financeira casar
eu quero resolver esse problema aqui é
uma não sei dizer não acompanha as
outras comunidades mas sei que nessa
comunidade tem a possibilidade de óleo
preciso de dinheiro para quero fazer
isso aqui ou você pede o dinheiro como é
que foi estudante até de dinheiro às
vezes não dá o dinheiro mas ele te dão
um ingresso para eventos né que
ultimamente só tem acontecido online mas
aí agora a gente vai chegar naquela
pergunta que meio que define o nosso
podcast mas eu já aviso que a gente não
espera que você Prevejo o futuro somente
que você diga alguma coisa que você acha
que vai acontecer que pode acontecer
para você Fernando Qual é a próxima
fronteira da engenharia de software
essa bom de fato eu acho que talvez a
fronteira algo que vai acontecer é que
programação vai se tornar é algo de todo
mundo é pai também mostrando isso né a
gente tem O que é programadores formados
em cursos técnicos de informática
experiência com minha esposa programa
pouco em paz e ela nunca fez essa
comparação é ela mexe com bioquímica da
professora também e eu vejo muito isso
no na próxima doação de bioinformática
as pessoas programa limpar então por
exemplo então é tá então tem
popularizado a programação isso a gente
pensa bem é mais da metade da população
do mundo tem um telefone celular por
exemplo assim vai baixar o que a gente
mude é para você vai interagir com
aquilo é quantas pessoas fazem esses
apps não é impressionante que no mundo
de sete milhões e meio de pessoas a
quantidade de pessoas escrevem os
programas que todo mundo usa é tão
pequena assim é quantas pessoas
influentes em linguagem de programação
no meio dessa 7.5 é milhões de pessoas
será que a gente encontra 100 milhões de
pessoas que conseguem escrever programas
assim programa só vai 50 é linhas de
código e é possivelmente que não é eu
não sei assim 100 milhões de pessoas no
grande excesso de compensar É nisso
então eu acho que programação ela tende
a se tornar algo cada vez mais presente
na vida das pessoas por exemplo fazendo
parte do currículo de escolas
secundárias secundaristas por exemplo e
tchau que vai acontecer também é que a
programação da desvencilha em um pouco
do formalismo de uma sim táxi é algo que
eu vejo muito em em conferência de
linguagem programação são artigos sobre
síntese de programas e a gente vai isso
na prática né que usa Excel é talvez
tenha percebido mas não é que saiu hoje
consegue sintetizar alguns programas não
triviais é a parte de exemplos eu tenho
a coluna eu marco alguns elementos na
coluna é eu escrevo a a saída do que eu
quero e ele consegue sintetizar por
exemplo transformar o formato de data em
outros formatos de data não é a partir
de exemplos que usuários e tchau muito
trabalho até uma pessoa só né que eu
sumi seguro ano eu tentei aqui no Brasil
2015 talvez 2015 não não não seja sorte
ou é que você achou a síntese de
programa o Google spreadsheet ele
sintetiza alguns programas muito simples
né ele consegue a parte de alguns
exemplos é preencher colunas por exemplo
Então eu imagino que se Universo de
síntese né assim a partir da
especificação de altíssimo nível que é
assim que a ferramenta né máquina seja
capaz de sintetizar um código que atenda
daquela especificação eu acredito que
isso tende a se tornar ao cada vez mais
corriqueiro cada vez mais comum É
principalmente para trazer programação
para junto das pessoas que não são
expert em programação temos que fizeram
curso de complexidade aqui não precisa
no curso de algoritmos que não são
fluentes na syntax for Mouse embaixo
programação então Imagino que e aqui a
gente milhões de desafios né porque
situações formais Elas têm assim o pé a
línguas então começa que lidar com
qualquer ambiguidade mas mas a gente tem
todo um ferramental de processamento de
linguagens naturais que já vem sendo
adotado em em desenvolvimento de
programas né então talvez seja uma
consequência desse
dessa popularidade é popularidade do de
técnicas de aprendizagem automaticamente
regressões estocando as dicas Então eu
imagino que o que vai algo que tem de
acontecer isso que cada vez mais pessoas
que não seja espertas é tem a
possibilidade de escrever programas é
programas complexos assim programas
nível app sim que consegue interagir com
usuários e consegue fazer cores esse
monte complexo essa sua resposta Me
lembrou um pouco do trabalho da Celine
Hair mas não sei se você já ouviu falar
o trabalho dela que ela acho que ela fez
doutorado sobre planilhas Eu acho que o
orientador dela eu lembro que ela tem
como que você quiser encontrar da
felinos se encontra palestras que ela
vai eventos de pessoas resolvi a
escrever um livro agora de programas
Breno então tem ela ela própria era
co-host eu acho ainda tu S rádio né que
é o podcast da três é não me engano mas
ela falou que ela ela foi fazer o
dourado e o orientador Gustavo vai lá
naquele lugar onde pessoal tá usando
planilha e Bolinha uma dsl Aí eu disse
não não preciso pessoal tá você tá
fazendo programação companhia né Essa é
a ideia geral que eu lembro o trabalho
dela E aí eu acho que ela fez o trabalho
sobre Bad smell sem planilhas mas depois
ela já fez muita coisa a gente já faz
uns 5 6 anos pelo menos então eu
agradeço muito Fernando Foi um prazer
conversar com você novamente a gente
conversou presencialmente naquela época
do passado que existiam eventos
presenciais né lá no simpósio brasileiro
de engenharia de software para quem não
sabe quem nunca foi cidade assim o
Congresso Brasileiro de software dentro
dele que é o simpósio brasileiro de
engenharia de software e teu simpósio
brasileiro de linguagem de programação
né geralmente é um pouquinho menor o
engenheiro de software mais sem
interessante ficar todo mundo junto lá e
dá para interagir a comunidade de
linguagem de programação com as diversas
subcomunidades engenharia de software
Então passa a palavra para você Fernando
para você se despedir dos nossos nossos
ouvidos é Eu que agradeço a oportunidade
tá aqui
sim o sblp ele acontece junto com o S10
Eu já vi vocês dois né mas sabe a Ingrid
na você dorme também e algo interessante
aqui assim você falou que o expert tepee
que não der comparado com esse Best
Western que é microscópico não é a nossa
comunidade linguagem programação aqui no
Brasil ela é pequenininha cima o que é
uma tenda porque fui eu porque o Brasil
ele tem uma certa tradição em linguagens
de programação da medida de que possa a
gente vai o José valia brasileiro então
a gente pode imaginar aqui O Alex é uma
imagem brasileira né Nós Talvez assim
ele tem desenvolvido ela fora também
você mora na Polônia mas assim o negócio
brasileira e a gente tem lua né tô um
dos melhores animes que esses colegas na
puc-rio então assim se a gente foi
imaginar aqui abaixo do Equador é minha
bota Paris desenvolver a linguagem de
programação que tem assim a comunidade
usuários tão grande é então o braço
pensa importância e temos ele vai a
gente programação hoje faço comunidade a
linguagem de programação é muito pequena
O que é uma tenda porque como eu disse
antes é a um excelente oportunidade de
emprego sim isso não é demagogia mim né
se eu usar não se formaram no seu like
hoje eles são muito bem empregados
alguns a indústria pesada de informática
é vários em desenvolvendo serviço
técnico para assim muito especializados
para prestar táxi Laranjeiras também
então é e e é fascinante então é
interessante que a gente tem essa
abertura para conversar com as pessoas
trazer mais pessoas para para para esse
Universo de linguagem de programação
para que a gente tenha mais
especialistas uma massa crítica maior
aqui no Brasil para a pesquisa é cada
vez mais avançada aqui no Brasil e me
para que a gente consiga atingir a
independência tecnológica né o Brasil
infelizmente aí nós faz muito dependente
tecnologicamente o que novamente também
é uma pena né a gente exporta muito com
Mods e pouco serviço intelectual então é
e quebrar esse ciclo passa por construir
uma comunidade Expert né que que tem que
ser cuidada sem a gente a gente tem que
cuidar das pessoas que têm interesse por
isso e trazer mais pessoas para essas
comunidades com a gente eu acho que é
isso eu sempre tento concordo contigo
sobre o nosso capital humano assim eu eu
tive oportunidade de visitar vários
universidades no exterior em diferentes
países e Eu Fico impressionada com a
qualidade do pessoal aqui no nosso
potencial de Capital humana e se a gente
conseguisse trazer todo mundo aqui de
fora de volta na tenho certeza que o
Brasil seria uma potência em termos de
Tecnologia e talvez o que falte seja
parte de empreendedorismo e inovação
para a gente ter empresas aqui dentro
contratar esse pessoal né é que eles
Tragam o potencial para gente eu queria
colocar alguma coisa respeito disso Sim
essa a gente trouxe essas pessoas de
fora né seria excelente se a gente
conseguisse manter os nossos alunos aqui
seria excelente mas eu queria as altas
ponta do capital humano é assim eu eu
Doutor em né no Universidade estrangeira
então eu tive oportunidade ensinar lá
também e eu sei que ela mente existe uma
diferença muito grande entre os alunos e
alunas que ele conta aqui no braço e os
alunos e alunos se encontrava na inicial
é não que eles fossem ruins Mas mas por
exemplo lá é é mais ou menos um ano
assim cinco alunos tentando a cada uma
vaga é no curso aqui depois e com o
exame nacional e aqui conciso a gente já
tá passando de 30 anos tentando uma vaga
Então é assim a gente vai ter esse tipo
de fio e ainda na China é assim no Goiás
no site da Índia nas grandes empresas
chinesas então de fato a gente tem uma
nas universidades federais um
ajuntamento muito grande é de capacidade
intelectual muito alta então É de fato é
um tesouro que a gente tem mesmo os
alunos que vão embora eu não sei se isso
é ruim também porque eu fui lá no final
das contas é eles contribuem também é de
volta né mas mas de fato é é e eu acho
que o Brasil é bom assim é claro que dá
das suas proporções é pelo menos na
América Latina a gente é uma potência em
termos de software e e comparado com
alguns países europeus também né então
assim é claro que a gente muito atrás
dos Estados Unidos assim na China também
da Alemanha na Inglaterra em termos de
produção de software Mas a gente não
está tão atrás da França e fica frente
detalhe Espanha que são para aí só para
resolver o que você muito avançadas né
em termos de produção de software Então
eu acho que é o capital que a gente tem
que cuidar aqui em conta pro a obrigação
de cuidar mas que isso é interessante
que Dulce nacional que percebesse também
né o valor que que isso tem a ver com
certeza bom então conheço a gente fecha
o nosso Episódio de hoje Fernando muito
obrigada por todo teu compartilhamento
de conhecimento assim é
impressionante assim o domínio né que tu
tem sobre linguagem de programação e
várias né É obrigada pela compartilhar
isso com a gente e aguardamos por