Minha jornada com Rust

Minhas primeiras linhas de código

Minha primeira linha de código foi em Basic, em 1988. Desde então, programar tornou-se não apenas minha profissão, mas minha paixão. Aqueles dias decifrando códigos de revistas e lutando com os "Goto"s foram mais do que uma introdução à programação; foram o começo de uma vida dedicada à criação de software e ao ensino da arte da programação.

Ao longo de 35 anos, passei por uma vasta gama de linguagens, cada uma com seus próprios desafios e belezas. De Basic a Rust, de Pascal a Python, cada linguagem contribuiu com uma peça única para o mosaico da minha compreensão de programação.

Escolhendo Rust, sem radicalismo

Em 2023, decidi fazer uma pausa. Foi um momento para respirar, refletir e redescobrir minha paixão pela programação, longe das exigências e do ritmo acelerado do mercado de trabalho. Foi quando Rust chamou minha atenção. Não foi uma escolha de "tudo ou nada", mas sim um passo adiante no meu contínuo aprendizado. Em tecnologia, acredito firmemente que toda linguagem tem seu valor e lugar, e meu interesse por Rust é movido pela mesma curiosidade e desejo de aprender que me guiaram por toda a vida. Quero enfatizar que não vejo isso como parte de uma "guerra de tribos" entre linguagens; para mim, é sobre expandir horizontes e abraçar novos desafios.

Desafios, aprendizados e crescimento com Rust

Aprender Rust apresentou desafios únicos, especialmente em relação ao sistema de propriedade e às regras de empréstimo. Esses obstáculos não eram barreiras, mas sim oportunidades para aprofundar meu entendimento sobre programação e sobre como diferentes linguagens resolvem problemas comuns de maneiras distintas.

Rust como ferramenta de desenvolvimento pessoal

Este período de aprendizado com Rust tornou-se uma jornada de crescimento pessoal. A linguagem me incentivou a adotar uma mentalidade de desenvolvimento mais disciplinada e consciente, reforçando a importância da precisão e da eficiência.

Aplicando Rust e compartilhando o conhecimento

Ao me aprofundar em Rust, dediquei-me a projetos que permitiram explorar suas capacidades. Essa experiência prática reacendeu minha paixão por solucionar problemas e por compartilhar conhecimentos, levando-me a considerar como posso contribuir e ajudar outros a aprender.

Olhando para o futuro com abertura

Enquanto continuo explorando Rust, permaneço aberto a novas linguagens e tecnologias. Cada uma oferece uma perspectiva única sobre programação e solução de problemas, e meu objetivo é continuar aprendendo e crescendo tanto tecnicamente quanto pessoalmente.

Um Convite à Comunidade

Em minha jornada com Rust, descobri lições que vão muito além da sintaxe e semântica de uma linguagem de programação. O verdadeiro aprendizado reside não só na aquisição de novas habilidades, mas na capacidade de fazer pausas estratégicas, refletir e permitir-se crescer. Rust é a linguagem da minha atual exploração, mas a essência desta mensagem é universal: a importância de pausar e se permitir evoluir transcende qualquer linguagem específica.

Esta pausa para aprender Rust (ou qualquer nova linguagem que desperte seu interesse) não é apenas sobre enriquecer seu portfólio técnico; é sobre enriquecer a si mesmo. Às vezes, é vital dar um passo atrás do frenesi do dia a dia profissional, não por motivos financeiros, mas pela pura paixão de aprender e pelo desejo de se tornar um melhor problem solver, um pensador mais crítico e, no fim, um ser humano mais completo.

E enquanto eu me preparo para minha próxima aventura de aprendizado, convido você a refletir sobre a sua própria. Qual linguagem ou tecnologia está chamando sua atenção? Quais desafios você deseja enfrentar? Compartilhe suas experiências, suas conquistas, e talvez, mais importante, os obstáculos que você encontrou pelo caminho. A troca de conhecimento é uma das ferramentas mais poderosas que temos como comunidade.

Então, eu pergunto: "O que você está estudando?" Deixe-nos navegar juntos nesta vasta e empolgante odisseia da tecnologia, aprendendo uns com os outros e, acima de tudo, crescendo juntos.

Alguns lugares para visitar e começar.

https://www.rust-lang.org/pt-BR

Universidade Duke - Coursera

Um grande abraço,

Uma combinação que eu acho que seria bastante poderosa seria um runtime ruby feito em rust.

Ruby já é considerado memory safety pelo seu garbage collector, imagina um criado para ser mais responsável com a memória

Da pra considerar que sou basicamente um completo iniciante e comecei estudar Rust por conta faz cerca de um mês e posso dizer que Rust em si não aprendi muita coisa, comecei estudando lendo o livro interativo e alguns video no Youtube.

Porém a jornada foi bem mais que isso, pois em um video o criador estava usando neovim, então fui lá eu de curiosidae querer aprender sobre isso, mas para usar o neovim eu descobri que a maneira mais eficiente é digitando corretamente com os 10 dedos, (eu digitava somente com os indicadores), então pesquisei e descobri o keybr, onde tento praticar sempre, assim que comecei digitar de forma aceitável o comecei usar o Vim Hero pra facilitar o aprendizado de Vim e usando ele com extensão do Vim no vscode.

Mas tive problema a maneira que eu estudava não era muito prática, eu lia o livro fazia o código, repetia os exercícios, e foi bem até assim, até chegar em Propriedades e Empréstimos kkk, até agora não entendo tudo mesmo tendo vista várias várias vezes.

Foi ai que começou a busca pelo aplicativo de estudos perfeito, já usava o Notion, mas faltava algo, tentei o AnyType, gastei tempo aprendendo, fiz uma dashboard bonita para meu meu gosto com cronograma, rastreador de habitos e tudo mais, mas fiquei mais na criação que na execução em si.

Então vi uma noticia de que o formato JSON CANVAS do obsidian agora é de código aberto no Reddit, e era isso que faltava uma ferramenta de mapa mental, nisso lembrei do milanote que é um quadro branco que eu gostava, porém o plano gratuito não é muito generoso, e consegui emular com um pouco mais de trabalho a função que eu mais gostava que é a de placa sobre placa do milanote no canvas.

Com isso tive algumas ideias de como usar o Obsidian já que ele já é integrado com o Canvas e finalmente criei minha primeira nota de Introdução a Rust que demorou muitas horas já que só nisso tive que aprender e pesquisar sobre vários conceitos que não conhecia como oque é um double free, um user after free, Null pointers, porque as variáveis em rust sempre precisam de um valor, oque é LLVM etc. Mesmo não me aprofundando muito em todos temas, custou muitas horas.

Então hoje finalmente vou tentar migrar pro neovim, usando o astrovim pra começar, e também descobri que Obsidian tem uma espécie de Vim Motions que ativei e espero me ajudar aprender Vim, mais rápido, além de ajudar interligar ainda mais meus conhecimentos. E para finalizar só preciso dar um jeito de alocar inglês nisso, que também é uma "Ferramenta" Necessária.

E assim eu completei meu sistema de estudos perfeito, oque me deixou empolgado e ansioso, já que vi que o progresso será bem mais lento(principalmente se eu continuar fazendo sidequest). Espero que eu consiga encontrar meu caminho na programação com Rust e depois com outras linguagens(alguma que me dê um emprego kkk).

Por sinal esse é o mapa de aprendizado que criei:

Plano de Estudos

tbm comecei a estudar rust, mas para sair um do CRUD, to saturado com ps projetos que estou atuando, sempre os mesmo problemas, como vc ve o mercado usando rust ?