1 - Você sabe como as linguagens de programação são formadas? E como elas são compiladas e as etapas de do processo de compilação?
Segue o 🧵
2- Uma linguagem de programação é formada por um alfabeto que é o conjunto de todos os caracteres que podem ser aceitos naquela linguagem. Inclui letras, números e caracteres especiais. Quando você faz um programa na linguagem C por exemplo, você está escrevendo uma palavra +
3- da linguagem C. O número de palavras(programas) que eu posso gerar na linguagem C é infinito. Então linguagem de programação é o conjunto de programas que podem ser gerados por aquela linguagem. +
4- Eu falo um sobre isso a partir do minuto 18:29 do meu vídeo da playlists de teoria da computação bityli.com/WcCM7 Me desculpem a qualidade do vídeo. Eu era iniciante na época e precisava de jogar os vídeos de qualquer jeito para meus alunos acompanharem. +
5- Além disso, uma linguagem precisa de regras para que as palavras possam ser formadas. Essas regras seguem padrões sintáticos e semânticos como em qualquer outra linguagem. Essas regras são chamadas de gramáticas. Quer ver algumas gramáticas de linguagens conhecidas? +
Para criar uma nova linguagem você precisa definir um alfabeto e uma gramática. +
7- Eu resumi muita coisa para a Thread não ficar grande. Mas eu falo um pouco mais sobre gramáticas aqui: bityli.com/PIsdu
Assistindo os vídeos da playlist de Teoria e Compiladores o entendimento de gramáticas fica um pouco mais tranquilo para ser digerido. +
8- Agora a gente precisa de um compilador para analisar as palavras (programas) da linguagem. Existem diversas classes de compiladores. Nesses vídeos eu mostro uma visão geral do processo de compilação: bityli.com/G9EBy +
9- As linguagens de programação modernas como Javascript, Python, Java e outras, independente se são linguagens interpretadas ou compiladas precisam de serem analisadas sintática e semânticamente para verificar se o que o programador digitou está de acordo +
10- com a gramática da linguagem. Por isso quando você está programando e te dá um erro, muitas vezes erros são sintáticos ou semânticos, ou seja, você está fazendo algo que não é permitido de acordo com a gramática da linguagem. +
11- O coração do processo de compilação é a análise sintática e semântica. Existem diversos algoritmos para esse processo, sendo o mais robusto e usado na maioria das linguagens o algoritmo parser LALR(1): bityli.com/3sqPb +
12- Mas para aprender o LALR(1) sugiro que assista sobre o algoritmo parser CLR(1) nos vídeos:
13- Para análise semântica queremos verificar se os valores que eu defini para cada variável estão recebendo os tipos corretos durante a programação. Esse processo é feito juntamente com o parser e se chama tradução dirigida por sintaxe:
14- Somente com a Thread você não vai pegar toda a fundação para aprender sobre compiladores e teoria da computação. Então sugiro ver os vídeos do meu canal, mais especificamente a playlist de Teoria e depois a playlist de compiladores link do meu canal: bityli.com/hpTOe
15- No meu canal eu sigo fielmente o conteúdo dos livros da área. Livros que recomendo para Teoria e Compiladores estão nas imagens. Quando estudamos essas disciplinas a nossa compreensão sobre computação e o entendimento de linguagens aumenta consideravelmente. Fim do 🧵
• • •
Missing some Tweet in this thread? You can try to
force a refresh
--Parte 2--
Thread sobre a carreira de professor, benefícios, plano de carreira, vantagens e desvantagens da profissão. (Essa é a parte final, ufa!). Espero que a leitura pelo twitter seja possível. Depois vou compilar em um blog. Segue o 🧵. 1/23
Nas universidades privadas de nome como PUC, FGV e outras universidades católicas e outras universidades de renome o salário do professor + benefícios é compatível com o plano de carreira das universidades públicas. 2/23
Os salários e benefícios são muito parecidos, isso se não for maior.
Entrentanto é bom ressaltar que existe pouca rotatividade nas universidades particulares. Isso porque o ambiente de trabalho acadêmico é bem mais tranquilo que outros ramos de atuação. 3/23
Você ama ensinar algo na área de computação? E também ama aprender? Se sente realizado quando ensina programação para alguém? Então você pode ter uma carreira de professor na área de computação. Parte 1 (porque ficou grande essa thread).
Segue o🧵 1/17
Creio que antes de entrar em detalhes de quais passos seguir para se tornar um professor universitário é interessante conhecer os benefícios da carreira. Primeiro vamos falar da carreira no Brasil. 2/17
Tanto nas universidades públicas quanto as universidades privadas há bons salários (Compatíveis com o mercado). 3/17
Eu entendo a mente dos devs de sp e sul do país em relação a desprezarem o ensino superior. Ora, uma vez que moram em regiões historicamente favorecidas. Esses devs antes da pandemia conseguiam empregos fácil sem faculdade, pq moravam em regiões com muito emprego e poucos +
Profissionais. Então fica fácil ganhar oportunidades.
O dev paulista e paulistano aqui no twitter não representa o Brasil. O Twitter tem 15 no máximo 20 mil profissionais de TI, entre devs e estagiários, gerentes, etc. Isso não é a quantidade de profissionais do Brasil +
São Paulo e o sul tem realidade muito melhores que o Brasil. Os IDHs são muito diferentes. Só a capital de SP tem metade da população de MG inteira.
Em cidades pequenas e capitais menores a universidade é a chance que uma pessoa tem de chegar na empresa para estágio e evoluir.+
Semana passada decidi entrar em um processo seletivo. O objetivo é ver se consigo passar em um processo seletivo remoto em empresas da gringa.
Me inscrevi na Turing.com
Não há contato com recrutadores.
Primeiro é cadastrar o seu CV e escolher as suas skills
O próximo passo foi responder um questionário de 77 questões sobre soft skills e experiências de trabalho. Você tem 55 minutos para responder o questionário.
O próximo passo é um questionário das stacks que você escolheu trabalhar. Eu escolhi React + Node.js por já ter feito
Coisas nessa stack para a instituição que trabalho.
Sobre o questionário de Node.js (1 hora 57 questões) e React (45 min 57 questões).
Os questionários não são simples. Não é para desenvolvedor júnior entrando no mercado. As questões são profundas e exigem conhecimento