parallel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]