Skip to content
/ todo Public

To-Do List application implemented in various programming languages.

License

Notifications You must be signed in to change notification settings

nidexingg/todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nidexingg To-Do

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.

Various of Programming Languages Used

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

Features

  • 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.

Getting Started

To run any of the applications, follow these steps:

1. Clone this repository

git clone https://github.com/nidexingg/todo.git

2. Open your favorite language directory and run the application

C

cd C and run this command: gcc app.c -o app && ./app

C++

cd C++ and run this command: g++ app.cpp -o app

C#

cd CSharp and run this command: dotnet run app.cs

Rust

cd Rust and run this command: cargo run --bin app

Go

cd Go and run this command: go run app.go

Java

cd Java and run this command: javac app.java && java app

Python

cd Python and run this command: python app.py

JavaScript

cd JavaScript and run this command: node app.js

TypeScript

cd TypeScript and run this command: tsc app.ts && node app.js

Zig

cd Zig and run this command: zig build-exe app.zig && ./app

Elixir

cd Elixir and run this command: elixir app.exs

Erlang

cd Erlang and run this command: erl -s app start -noshell -s init stop