0

English grammar allows for many shortcuts due to assumptions(usually from context). For example, not needing to put "you" in imperative sentences: "Get over here!" Another example is how commas are not needed due to how it would be strange for a phrase to refer to something unusual. Another example is "We didn't win because I drank coke." (This could either refer to drinking coke causing a lose, or we won but it wasn't because I drank coke.)

How would one write English with no assumptions? So it would be more like a programming language than a way to quickly communicate. In a computer language, no matter what computer you use, you'll always get the same output. I'm asking how could English be written like that?

I have seen some people put brackets around phrases. Like this:

<<<The> man> <entered <<the> bar>>>, <and <<the> same> man> ordered <<a> drink>.

Note: I realize that computer languages have assumptions, however they are more distinguishable (you usually have too be taught that a shortcut exists (but in English you usually need learn that a non-shortcut exists.) When I speak of computer languages, I mean without any assumptions.


I ask because I want to create an affirmation for myself that is exact, without different possible interpretation. I'm looking for a method that wouldn't require testing, rather the method itself would guarantee no assumptions, like how Java code only needs to be tested on one computer.

closed as unclear what you're asking by curiousdannii, Davo, Skooba, Edwin Ashworth, Rory Alsop Oct 6 '17 at 9:19

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Comments are not for extended discussion; this conversation has been moved to chat. – waiwai933 Oct 2 '17 at 23:10
  • 1
    The first example is simply the normal form of the imperative voice. There is no omission or assumption. – phoog Oct 3 '17 at 2:18
  • @phoog Grammar doesn't have solid unwavering rules like math. "Get over here" could be an infinitive phrase, there are many uses of infinitives without "to". – user58712 Oct 3 '17 at 3:06
  • 2
    @user58712 what you say is correct, except for the fact that in this context the phrase couldn't be an infinitive phrase because it is explicitly a complete imperative sentence. Imperative sentences in the second person lack a subject pronoun. It's not optional, as the question assumes; it's incorrect to include it. – phoog Oct 3 '17 at 3:10
  • 1
    @user58712 how about that? I don't understand your point. The words "get over here" without context as part of a larger sentence may or may not be in the imperative voice, but that doesn't shed any light on the topic because, for example, an infinitive phrase also has no omitted subject, because it's in the infinitive. Infinitives also require to in some contexts and are required not to have it in others. That doesn't make its omission a shortcut. – phoog Oct 3 '17 at 3:20
4

English grammar allows for many shortcuts due to assumptions(usually from context). For example, not needing to put "you" in imperative sentences: "Get over here!"

This has nothing to do with English grammar, it applies to any language.

Arguably, this isn't even related to grammar, in the sense that we don't understand the implicit "you" in "Get over here" because it is grammatically allowed, but rather that we consider it grammatically correct because the implicit "you" is universally understood.

In this case, grammatical correctness stems from usage, not the other way around.

How would one write English with no assumptions? So it would be more like a programming language than a way to quickly communicate.

Programming uses assumptions too. I assume you know programming, so the following examples should make sense to you.

Note that it is possible to be explicit:

public static void Main()
{
    System.IO.BinaryReader myReader = new System.IO.BinaryReader(); 
}

But it's also possible to use implicit namespaces:

using System.IO; // => This gives "context"

public static void Main()
{
    BinaryReader myReader = new BinaryReader(); 
    // => BinaryReader is inferred to be System.IO.BinaryReader
}

Notice that programming can also be ambiguous. Suppose I create my own BinaryReader class, in the MyApp.MyNamespace namespace:

using System.IO; // => This gives "context"
using MyApp.MyNamespace; // => This gives "context"

public static void Main()
{
    BinaryReader myReader = new BinaryReader(); 
    // => This is ambiguous.
}

This code is ambiguous. It's not clear whether you're implicitly referring to System.IO.BinaryReader or MyApp.MyNamespace.BinaryReader.

Thus proving the point that programming can be built on assumptions too.

In a computer language, no matter what computer you use, you'll always get the same output.

That is not true. There are many reasons why the same application yields different output on different computers.

  • Looking up the culture of the current computer (e.g. in order to use the user's preferred date format).
  • Checking how much space the hard drive has available. This is obviously specific to the current computer.
  • A .NET application only works on computers which have the .NET framework installed, and will not work on computers that do not have it installed (ignore the existence of .NET Core for this example).

Not every computer will always yield the same result. It depends whether your application relies on any machine-specific data. This means that the output changes for every computer (because that's what "machine-specific" inherently means).


I'm asking how could English be written like that?

The simple answer is to never be implicit, and always be explicit. However, this can very quickly become tiring to read. Avoiding all implications would mean that you could never words like "he", "she", "it", "them", ... because all of these words rely on the assumption that you're referring to the same thing you were before.

The man entered the bar, and he ordered a drink.

If you really want to be explicit, you'd have to say

The man entered the bar, and this same man ordered a drink.


Your attempt at being pathologically explicit will quickly devolve from being a blessing into becoming a burden. It will make your communication slow, heavy, hard to read, and unnecessarily repetitive.

I highly advise you to not do this.

However, that doesn't mean you're never allowed to be explicit. But only do so when you feel that yoru statement is ambiguous. If there is no possible ambiguity, then it's pointless to be any more explicit than you're already being.

But this is just common sense in regards to how you should communicate with people.

@Jim's advice here is really good:

In general:

  • Write something.
  • Assess for ambiguity and add words that address it.
  • Repeat until no ambiguity remains.

And that's the only answer we can give you. If you want to write English that is not ambiguous, then don't write English that's ambiguous (it sounds facetious, but it's literally the only way you can avoid being ambiguous).

  • I edited my question based on this. – user58712 Sep 28 '17 at 14:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.