Before I make my library, I want to first ask what type of formatting you guys prefer between the two I'm going to show you.
The first one is Rust-like curly brackets as the placeholder. If you leave them empty the format is automatically chosen based one the type. Or you can specify a different format inside the curly brackets. Examples:
print("My name is {}! Nice to meet you!\n", "Maria");
print("I am {} years old! And in binary, that is: {b:b}\n", 19, 19);
In the first case, "Maria" is a string so it will get formatted automatically as a string. In the second case, 19 is a number so it will automatically get formatted as a signed number. But in the second placeholder is is specified that we want the value to be formatted as a signed number in the binary (2) base.
The second format type is C-like format using the "%" character and then one more character to specify the type. This is simple and pretty much everybody knows it so I'm not going to waste you time and make any examples.
Personally, I prefer the first way of doing things. The first time a learned about Rust (I don't use Rust tho just to be clear), I LOVED IT!!! It is so much clean and another things is that in pretty much any keyboard layout curly brackets will be closer and easier to press than the percent sign and to add on that, most people have curly brackets to automatically add the closing and so it will be blast to use!!!
Now I want to make clear that I'm mostly on this approach but I just wanted to ask in case someone can convince me that the C-like way is better. Well... I can see that one thing that is better with the C-like way is that you always see the formatting type so it may be better to some people. Also the design of the Rust-like way will be harder to implement (not that I mind) and it will need discussion. For example we are using "t: type" to specify the type, "b: base" to format as a signed number and specify the base, "f: number" to format as a float and specify the number of floating points etc.
Thoughts?