Skip to main content

pronouns - Is the use of "who" correct in this sentence?



"The Turk is chess engine who can interact with user interfaces which support Winboard protocol at the moment"



I feel that which can be used instead of who but I'm not sure. If that's not correct what should I use instead of who?



Answer



This is a very unclear sentence, for many reasons, one of which is the use of who.


First, the noun phrase chess engine, as a count predicate noun, needs an indefinite article:



The Turk is a chess engine



and the noun phrase Winboard protocol needs a definite article:



supports the Winboard protocol.



Second, you use a stacked relative clause construction with two Wh- words, which is bad style -- repeating a grammatical word should carry extra information, or there's no point to it and it just makes work for everybody. It would be much better to omit one of the Wh- words (this won't work here because both are subjects and only non-subject relative pronouns can be deleted), or to substitute that for one of them,



a chess engine that can interact with user interfaces which support the Winboard protocol


a chess engine which can interact with user interfaces that support the Winboard protocol



or to reduce one or both of the relatives to a participle:



a chess engine that can interact with user interfaces supporting the Winboard protocol


a chess engine interacting with user interfaces that support the Winboard protocol


a chess engine interacting with user interfaces supporting the Winboard protocol



Finally, the temporal phrase at the moment is sitting at the very end of the sentence, after both relative clauses, and it's not clear what clause it refers to. Does it mean



  • it interacts only with interfaces that currently support Winboard (but not others)

  • it interacts with the current interfaces that support Winboard (but not the old ones)

  • it currently interacts with interfaces that support Winboard (but changes are planned)

  • ... etc?


So, put at the moment close to what it modifies.


Oh, and don't use who. Who is for people, not programs, no matter how good they are.


Comments

Popular posts from this blog

Is there a word/phrase for "unperformant"?

As a software engineer, I need to sometimes describe a piece of code as something that lacks performance or was not written with performance in mind. Example: This kind of coding style leads to unmaintainable and unperformant code. Based on my Google searches, this isn't a real word. What is the correct way to describe this? EDIT My usage of "performance" here is in regard to speed and efficiency. For example, the better the performance of code the faster the application runs. My question and example target the negative definition, which is in reference to preventing inefficient coding practices. Answer This kind of coding style leads to unmaintainable and unperformant code. In my opinion, reads more easily as: This coding style leads to unmaintainable and poorly performing code. The key to well-written documentation and reports lies in ease of understanding. Adding poorly understood words such as performant decreases that ease. In addressing the use of such a poorly ...

Is 'efficate' a word in English?

I routinely hear the word "efficate" being used. For example, "The most powerful way to efficate a change in the system is to participate." I do not find entries for this word in common English dictionaries, but I do not have an unabridged dictionary. I have checked the OED (I'm not sure if it is considered unabridged), and it has no entry for "efficate". It does have an entry for "efficiate", which is used in the same way. Wordnik has an entry for "efficate" with over 1800 hits, thus providing some evidence for the frequency of use. I personally like the word and find the meaning very clear and obvious when others use it. If it's not currently an "officially documented" word, perhaps its continued use will result in it being better documented.