Welcome to the To-Do List Application repository! This project showcases a simple yet effective To-Do List application implemented in various programming languages. The goal of this project is to demonstrate how similar functionality can be achieved using different programming paradigms and features offered by each language.
This repository contains implementations of the To-Do List application in the following programming languages:
- C: High performance and low-level control make it suitable for system-level programming.
- C++: Combines object-oriented features with performance, ideal for complex applications.
- C#: Rich framework support and cross-platform capabilities through .NET enhance development speed.
- Rust: Offers memory safety and concurrency without sacrificing performance.
- Go: Simple syntax with built-in support for concurrency, making it great for scalable applications.
- Java: Platform-independent with a robust ecosystem of libraries and frameworks.
- Python: Easy to learn with extensive libraries, perfect for rapid application development.
- JavaScript: Essential for web development, enabling dynamic user interfaces and asynchronous programming.
- TypeScript: Adds static typing to JavaScript, improving code quality and developer productivity.
- Zig: Low-level control with safety features, allowing for optimized performance at compile time.
- Elixir: Excellent concurrency support and fault tolerance, ideal for real-time applications.
- Erlang: Designed for distributed systems with high availability and fault tolerance.
Each implementation includes core features such as:
[x] Adding tasks [x] Viewing tasks [x] Removing tasks [x] Clearing all tasks [x] Persistent storage as txt files
- Cross-Language Comparison: Explore how different programming languages handle similar tasks.
- File I/O: Each implementation demonstrates how to read from and write to files for task persistence.
- User Interaction: All lang versions provide a user-friendly command-line interface for user interaction.
To run any of the applications, follow these steps:
git clone https://github.com/nidexingg/todo.git
cd C and run this command: gcc app.c -o app && ./app
cd C++ and run this command: g++ app.cpp -o app
cd CSharp and run this command: dotnet run app.cs
cd Rust and run this command: cargo run --bin app
cd Go and run this command: go run app.go
cd Java and run this command: javac app.java && java app
cd Python and run this command: python app.py
cd JavaScript and run this command: node app.js
cd TypeScript and run this command: tsc app.ts && node app.js
cd Zig and run this command: zig build-exe app.zig && ./app
cd Elixir and run this command: elixir app.exs
cd Erlang and run this command: erl -s app start -noshell -s init stop