Skip to content

biohazel/base-converter-cpp-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Base Converter in C++ and Rust

Introduction

I have coded a base converter by hand without using any external libraries in both C++ and Rust. This project demonstrates the process of converting a number from one base to another, handling various bases such as decimal, hexadecimal, and binary.

Project Overview

C++ Version

The initial version of the base converter was written in C++. This version uses basic C++ features and data types to perform the base conversion operations.

Rust Version

The C++ version was then converted to Rust. The Rust version leverages Rust's safety features and modern syntax to provide a more robust and error-free implementation.

Presentation

For a detailed walkthrough of the project, you can view the presentation here.

Why the Rust Version is Better

  1. Memory Safety: Rust guarantees memory safety by enforcing strict rules about ownership and borrowing. This eliminates many common bugs such as null pointer dereferencing and buffer overflows.
  2. Immutable References: Rust uses immutable references by default, which reduces the chances of unintended side effects and makes the code more predictable.
  3. Error Handling: Rust’s error handling is more robust with the Result and Option types, reducing the likelihood of runtime crashes.
  4. Performance: Rust provides low-level control similar to C++, but with safer abstractions, resulting in highly performant code without sacrificing safety.

Shoutout to Tmux

Tmux is an invaluable tool for managing terminal sessions efficiently. It allows you to multiplex a single terminal into multiple panes, which is incredibly useful for development and debugging.

Useful Tmux Resources

Rust Resources

For those interested in learning more about Rust and improving their Rust skills, here are some useful resources:

Conclusion

This project showcases how translating a base converter from C++ to Rust can improve code safety, readability, and maintainability. Rust's modern features and emphasis on safety make it a superior choice for many applications, providing both performance and peace of mind.

Thank you for exploring this project, and I hope it inspires you to delve deeper into Rust and its capabilities. Happy coding!


Feel free to reach out if you have any questions or suggestions regarding the project or the languages used.

Enjoy your coding journey with Tmux and Rust!


Conversor de Bases em C++ e Rust

Introdução

Eu codifiquei um conversor de bases manualmente sem usar bibliotecas externas tanto em C++ quanto em Rust. Este projeto demonstra o processo de conversão de um número de uma base para outra, lidando com várias bases como decimal, hexadecimal e binária.

Visão Geral do Projeto

Versão em C++

A versão inicial do conversor de bases foi escrita em C++. Esta versão usa recursos e tipos de dados básicos do C++ para realizar as operações de conversão de base.

Versão em Rust

A versão em C++ foi então convertida para Rust. A versão em Rust aproveita os recursos de segurança e a sintaxe moderna do Rust para fornecer uma implementação mais robusta e livre de erros.

Apresentação

Para uma apresentação detalhada do projeto, você pode ver a apresentação aqui.

Por que a Versão em Rust é Melhor

  1. Segurança de Memória: Rust garante segurança de memória aplicando regras estritas sobre posse e empréstimo. Isso elimina muitos bugs comuns, como desreferenciamento de ponteiros nulos e estouros de buffer.
  2. Referências Imutáveis: Rust usa referências imutáveis por padrão, o que reduz as chances de efeitos colaterais não intencionais e torna o código mais previsível.
  3. Tratamento de Erros: O tratamento de erros em Rust é mais robusto com os tipos Result e Option, reduzindo a probabilidade de falhas em tempo de execução.
  4. Desempenho: Rust fornece controle de baixo nível similar ao C++, mas com abstrações mais seguras, resultando em um código altamente performático sem sacrificar a segurança.

Agradecimento ao Tmux

Tmux é uma ferramenta inestimável para gerenciar sessões de terminal de forma eficiente. Ele permite multiplexar um único terminal em vários painéis, o que é incrivelmente útil para desenvolvimento e depuração.

Recursos Úteis de Tmux

Recursos de Rust

Para aqueles interessados em aprender mais sobre Rust e melhorar suas habilidades em Rust, aqui estão alguns recursos úteis:

Conclusão

Este projeto mostra como traduzir um conversor de bases de C++ para Rust pode melhorar a segurança do código, a legibilidade e a manutenibilidade. Os recursos modernos e a ênfase na segurança do Rust o tornam uma escolha superior para muitas aplicações, proporcionando tanto desempenho quanto tranquilidade.

Obrigado por explorar este projeto e espero que ele inspire você a mergulhar mais fundo nas capacidades do Rust. Boa codificação!


Sinta-se à vontade para entrar em contato se tiver alguma dúvida ou sugestão sobre o projeto ou as linguagens usadas.

Aproveite sua jornada de codificação com Tmux e Rust!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published