Executando verificação de segurança...
2

Parabéns pelo projeto e estudo.

Vou aproveitar aqui para mostrar como a linha de teoria e prática não costuma ser compreendida claramente.

Eu sei que hoje as pessoas estão buscando muito a prática, não querem saber da teoria e isso é um enorme problema, porque a pessoas não aprende o certo, ela aprende o que funciona, e isso tornará um profissional ruim, porque ela aprenderá o erro, vai treiná-lo vai ensinar outro errado e vai brigar por ele.

Fiat 147 todo detonado andando pelas ruas

Sem a teoria muito bem aprendida vira um castelo de cartas pronto para cair. Pior, pode estar gastando muita energia em algo que alguém já fez melhor. Especialmente em compiladores eu tenho experiência de fazer direto na prática, até porque eu não tinha acesso a recursos que pudessem me ensinar, eu tinha zero conhecimento sobre compiladores e fiz um monstrengo completo errado mas que "funcionava".

Depois eu fiz um projeto de compilador estudando só um pouquinho a teoria, vendo como alguém fez um compilador. Ficou absurdamente melhor, parecia em compilador de verdade mesmo, e estava muito mais certo, embora não perfeito, ele funcionava e razoavelmente bem, mas longe de ser um bom compilador.

Até que fui estudar a teoria a fundo, ler os livros certos, ver as novidades que alguns compiladores estavam adotando mais recentemente que muda muito como os compiladores funcionam e comecei por em prática. Nunca terminei esse projeto mas ele tem condições der ser uma obra prima da engenharia. Mérito meu? Claro que uma pitadinha sim, eu soube fazer, mas o grosso do mérito foi a teoria que aprendi com outros que fizeram muitos compiladores.

Isso vale para qualquer tipo de software, mas especialmente em compiladores ter uma abordagem apenas prática beira o impossível, e ter só um pouco de teoria vai produzir um resultado ruim, será treinar o erro de alguma forma. Compiladores provavelmente é a disciplina que se tem mais estudo e conhecimento acumulado do que é bom, e não faz sentido não aproveitar isso.

Há vários questionamentos no campo pedagógico sobre essa ideia de aprender só fazendo projetos e pode ser que em algum momento tenha algum estudo que prove ou indique fortemente que isso não funciona tão bem quanto alguns achavam ou até que é prejudicial. Isso aconteceu com o uso de computadores para auxílio na aprendizagem, tem países que tiraram porque a experiência não foi boa, as pessoas estavam apenas decorando receitas de bolo, fazendo pesquisas na internet e agora então estariam usando IA. Isso é dar um tiro no pé daqueles de arrombar tudo.

Funcionaria do ponto de vista pedagógico fazer um compilador direto na prática? Isso poderia dar certo, mas só se depois fizesse outro projeto calcado na teoria para aprender do jeito certo. Assim você estimula a pura criatividade, a imaginação de como algo funciona sem saber como realmente é, e ensinaria o correto.

Quando se fala em estudar, algumas pessoas entendem que é aprender teoria, mas na verdade é aprender. Não existe estudo adequado que foque só na teoria, quando se fala para você estudar, a prática está implícita.

Agora pegando o caso específico aqui, a descrição de como foi feito o projeto indica que um pouco de teoria foi estudado.

Assim como os computadores podem ser ferramentas de aprendizado boas, desde que usada corretamente, sem fraudes, quando a pessoa já tem uma maturidade de raciocínio, projetos podem ser ótimas ferramentas para fazer a pessoa estudar algo, lembrando que envolve a teoria em alguns momentos do aprendizado. Quando você está aprendendo totalmente novo, se você não fizer exercícios pequenos, treinando só o mecanismo daquele momento, algo dará errado no aprendizado. Você não pode ensinar programação mandando a pessoa fazer um projeto. Poderá pedir projetos quando a base já está boa, quando você sabe os mecanismos e agora vai juntar tudo de forma adequada.

Minha experiência vendo algumas pessoas fazendo o aprendizado baseado em projetos, é que ela acaba copiando o que existe e não força o raciocínio, que é a parte importante. Ela pula várias coisas interessantíssimas que ela não enxerga, e faz algo mediano na melhor das hipóteses, a não ser que seja um pequeno gênio. Isso funcionou para muita gente e ainda vai funcionar um pouco, para quem quer só o resultado, pode ser ok. Isso é aprender e fazer do jeito que a IA faz, ou seja, você está se rebaixando ao nível dela e ela fará melhor que você, e você será descartado. Nem vou falar quando ela copia um projeto ruim, e que muitas vezes é popular (o ruim se torna popular mais facilmente que o bom, pode ver em várias áreas).

Bem, tudo isso que estou falando é para formar bons engenheiros, mas dá para criar programas razoáveis seguindo o atalho. Infelizmente eu sei que a maioria hoje só quer o resultado, não o melhor resultado possível.

Nunca vi de fato alguém ser crítico e autônomo sem uma base sólida de teoria e de prática também.

Vira e mexe eu encontro postagens de pessoas falando sobre coisas absolutamente erradas, e eu vou lá e corrijo, pelo menos para quem vai ler. Às vezes a pessoa concorda e agradece, diz até mesmo algo como " não tinha ideia que era assim, obrigado", alguns silenciam, provavelmente ignorando o que eu corrigi, alguns começam brigar porque ela aprendeu errado, treinou isso, e agora vai defender o erro com unhas e dentes.

E é pior quando tem uma fonte errada na internet que todos vão olhar. E aí até pessoas experientes caem em armadilhas, porque falta criticidade e autonomia real, ela se baseia sempre em conteúdos de terceiros.

Vou dar um exemplo de algo não técnico, mas que é uma grande mentira que as pessoas acreditam e vejo profissionais com enorme experiência, que são respeitado e conseguem bons empregos, mas compram uma mentira a ajudam ela "se tornar verdade porque foi repetida mil vezes". Veja: https://www.tabnews.com.br/maniero/c-ganha-como-linguagem-do-ano-no-tiobe.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

Carregando publicação patrocinada...