In the physical world filters can filter something and:
A) I'm interested in what goes through, what is not filtered out:
- air/water/coffee/oil/..., signals in electronics, light in photography, etc. pp.
B) I'm interested in what remains after applying a filter:
- processes in chemistry, ... [what else?]
In bits and bytes exists SW with criteria that:
C) filter something out:
- output of some filter programs using certain options, e.g.
cat -s
,tr -c|-d|-s|
,sed ...d
D) select something, e.g. for display:
- query languages
- output of some filter programs, e.g.
awk
,cut
,head
,grep
,sed [n]q
tail
- "filter" feature in a vast majority of software
[In fact, I'm not aware of any SW with filtering that works and calls this differently, except processors of the aforementioned QLs.]
(I even know a software–used heavily worldwide–that calls a feature "Filtering" while it's actually string interpolation, i.e. nothing is selected or taken out but something is put in. And some of the filter programs mentioned above use always all, don't have a criterion to filter away anything, e.g. sort
, tee
, tr
, wc
– even more confusing.)
Now, with:
- the majority of well-known physical-world, every-day filter applications at A),
- many (all?) of the query languages inspired by SQL having a
SELECT
clause for D), - that in CSS and XPath D) is called selector,
- that JS has
.querySelector[All]()
for D),
shouldn't a software function that does the latter be better called Selector, thus eliminating the ambiguity?
PS: What a funny coincidence: The first question under Related to the right here is "Multiple selection filter". Is that a compromise? :)