[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Thank you to Ole, and Question 1 (choice of colon operators)
From: |
Ole Tange |
Subject: |
Re: Thank you to Ole, and Question 1 (choice of colon operators) |
Date: |
Thu, 18 May 2017 23:44:42 +0200 |
On Wed, May 17, 2017 at 10:41 PM, paralleluser
<paralleluser@fastmail.net> wrote:
:
> Question 1:
> The choice of ::: and :::: are unique. Yes, they are arbitrary and they can
> be changed with parallel command line arguments. But how/why where they
> chosen? I have a good guess as to why ":" and "::" were not used, but how
> did Ole decide on ::: and :::: and why did he skip : and :: ?
There were several thing that caused the choice of :::.
= It could not be anything you would write in a normal command =
I had seen other commands using -- to separate arguments from options
(e.g. 'ls -- -l') and I knew I would be using GNU Parallel with
commands having --. That ruled out --.
I have used UNIX since 1990 and I have never ever written a command
line with ::: which tells me it is a very unique separator. I have
used both : and :: so even though they are not used often I wanted
something even less used.
= It should be easy to enter =
It was also important that the separator could be written easily on
most keyboards. So 'æøå' as separator would not be a wise choice.
= It should not need quoting =
At that time I only know csh, tcsh, sh and bash, and I needed
something that would not need quoting in any of those shells. So <
would not be a good choice as you would then have to quote that all
the time:
parallel --arg-sep '<' echo '<' 1 2 3
= It should visually separate the command from the arguments =
I wanted it to be easy to scan the line to find where the command
ended and where the arguments started. I did shortly consider ¤, but
was not sure if that was easy to type on all keyboards.
Most importantly though: It was not a long thought process back in
July 2010. I figured if the choice was bad the users would complain
and we would simply change it.
The choice of :::: was very simple: ::: was already chosen and the
users knew :::, so intuitively they would know :::: was in the same
family.
/Ole