"Espero que um dia coloque no gh.".
Se tudo der certo, até o final do ano que vem (que tenho que apresentar o TCC) ele estará lá, por enquanto ele só está em um respositório privado. Pretendo fazer um post aqui no tabnews quando terminar para apresentar meu projeto para as pessoas. Estou o fazendo como uma forma de aprendizado pessoal, e creio que se conseguir escrever um bom código, legível e simples, pode ser uma boa forma de aprendizado para outras pessoas. Principalmente com relação a baixo-nível e Rust. Kernels didáticos existem aos montes, kernels em Rust nem tanto. Agora, kernels em Rust com documentação em português... não é tão comum. Bem por isso pretendo escreve-lo em Rust, pode ser uma boa adição para a comunidade de Rust e baixo-nível no Brasil.
"Você sabe que o autor do termo 'orientado a objeto' considera que a linguagem mais OO é Lisp e não a criação dele? Dá para discutir isso e já o fiz em alguns textos meus."
Já li sobre isso. O interessante é que Alan Kay parece descrever o conceito como algo mais abstrato, o que me lembra um pouco minha visão. Eu estudei um pouco sobre a história da POO, e Simula, considerada a primeira linguagem orientada a objetos da história, foi pensada para fazer simulação. Que é uma forma de representar sistemas do mundo real em sistemas computacionais. Com este objetivo em mente, Simula apresenta classes, heranças, procedimentos virtuais etc. Depois, Alan Kay parece ter pegado como base os trabalhos de Nygaard e Dahl e desenvolvido o seu próprio a partir disso. No meio do processo, cunhou o termo orientação a objetos, mas não como um sinônimo de simulação, mas como um conceito distinto, onde os programas seriam modelados a partir de entidades chamadas de objetos que se comunicariam uns com os outros. Os recursos apresentados em Simula para fazer simulação, pareciam vir a calhar para este fim. Portanto, temos dois conceitos diferentes e não necessarimente relacionados. Por serem distintos, é possível um programa de simulação não orientado a objetos e um programa orientado a objetos sem simulação. A grosso modo, a simulação falaria mais sobre modelagem de dados e a orientação a objetos mais sobre a comunicação desses dados. O que parece ter acontecido (não tenho como comprovar, é só uma suposição) é que alguém pegou o conceito de simulação, misturou com a palavra orientação a objetos (juntamente com alguns conceitos elaborados por Kay, como polimorfismo) e transformou em uma coisa só. E tentamos desde então, encontrar coerência em um conceito que já nasce de uma confusão. Neste caso, orientação a objetos seria sinônimo de simulação? Eu não sei. Mas a maioria das pessoas parece achar que sim. Típicos exercícios de POO que se vê por aí, parecem muito mais exercícios de simulação. Por exemplo elaborar um sistema bancário em Java. Se me perguntasse hoje o que é orientação a objetos, eu responderia claramente que não sei. Você tem culpa nisso inclusive kkkkkk.
"Concordo que para o aprendizado geral do desenvolvimento de software da melhor forma exige saber linguagens/paradigmas diferentes. Para o aprendizado inicial eu acho que não, é muita informação. Também admito que hoje em dia dá pra ser mais limitado e conseguir algum resultado na carreira, desde que não tenha falahas em todo o resto."
Realmente, talvez para um aprendizado inicial seja meio pesado. Eu mesmo acho que não teria conseguido assimilar muita coisa se o que me fosse apresentado sobre programação no início fosse essa abordagem mais "completa". Mas talvez tornar mainstream esse ponto de que programação não se resume a loops e variáveis, pelo menos façam as pessoas aprenderem o de sempre com a conciência de que há outras visões. Quando conheci a programação funcional, foi justamente com o comentário de algúem mostrando que não é porque se sabe C, por exemplo, que se sabe qualquer linguagem. Ele falou que se tentasse Haskell a pessoa iria travar. Então, dei uma olhada em um program simples em Haskell e travei kkkkkkkk. Não precisei saber Haskell para entender a mensagem, na verdade, o fato de não saber Haskell e não ser capaz de ter uma idéia mínima do que estava acontecendo foi o que abriu minha mente. No geral, acho que é mais uma questão de comunicação, falar nas tais aulas de lógica de programação que se estudará o paradigma imperativo e apenas mencionar a existência de outros de forma supercificial, já melhoraria muita coisa.
"Você parece bem encaminhado, coisa rara em hoje em dia. Eu acho que está fazendo certinho, se eu tivesse metade disso com 2 anos na área, hoje eu seria um programador maravilhoso..."
Fico muito honrado que diga isso, tenho ideias de seguir carreita acadêmica, muito porque gosto de pesquisar, pensar e debates conceitos (acho que deu para perceber kkkk), mas de qualquer maneira vou querer ter experiência no mercado. Há como aprender programação sozinho, mas trabalhar em equipe, trabalhar com prazo e trabalhar para uma base de usuários real, são coisas que aprenderei mais facilmente no mercado. E principalmente, quero melhorar minha comunicação, e trabalhar em equipe me parece uma ótima forma de fazer isso. Como você disse, se dará certo, não sabemos, mas esperamos o melhor :D
No mais, pretendo fazer mais posts aqui no tabnews, quero melhorar minha habilidade de escrita e comunicação. A maioria seria sobre alguma coisa teórica, seria ótimo ver suas respostas.
To começando a usar redes sociais mais por agora. Meu Linkedin tá uma bosta (não tem nem foto kkk), preciso dá uma melhorada nele. Mas sobre manter contato, deixei meu e-mail, Instagram e Linkedin na bio do tabnews. Era para ter colocado antes mas sempre acabava esquecendo.