4

I made a comment on this SO question some days ago:

Are you trying to just overwrite the data at the beginning of the file or insert new data without losing the data that is already there?

Some of the answers had the word prepend (eg: "To prepend data: ...").

Looking for a translation of prepend to Portuguese (pt-BR), I find it as "anteceder" or "preceder".

I think the word "anteceder" in Portuguese, is most related to time (eg: "something will happens before that time"), and "preceder" is most related to a kind of priority or to describe a grammar rule, but not to files (or data in this case) on a computer system.

On Babylon, I found the translation of prepend as "acrescentar ao começo", which sounds like append to the beginning and it also showed me the definition in English: add something at the beginning (slang, the opposite of append)", which makes sense ("the opposite of append").


In a technical context, must I use the word prepend for a better understanding or if I write "insert in the beginning" or "add new data to the beginning" is it OK for an English reader?

1
  • 1
    "insert in the beginning" sounds wrong, I would use "insert at the beginning" if you wished to use that phrasing. That would be correct but would sound a little stilted.
    – Vality
    Commented Feb 27, 2016 at 4:34

5 Answers 5

3

Prepend refers to "attach/insert before" (at the beginning), while append refers to "attach/insert after" (at the end).

The translations you describe seem to be more focussed on time, which sounds more like they are a better fit to the word "precede" (e.g. the main course precedes desert).

Whether you choose to use the single word or the phrase, it is a decision you must make while balancing being concise/precise with your language at the risk of miscommunicating (not everyone will fully understand the term), versus being more verbose but more easily understood.

As noted in other answers/comments, append/prepend are commonly used within computer science/software development (common in code libraries) but not necessarily in everyday speech, indicating that your audience will influence your decision too.

1
  • Thank you! Just for clarification: at SO or some computer forum, for example, where posts are fast and informal, use prepend is better and precise (as noted in others extremely helpful answers/comments). But in case, say, if I'm writing a technical text within computer science's area (e.g. an academic article or even a formal e-mail to a Dr. or PhD) maybe it's better (more formal and/or polite) if I write the more verbose form. Am I right with this interpretation?
    – Gomiero
    Commented Feb 28, 2016 at 4:31
4

You can use "prepend" in such cases, but it's not usually preferred. It sounds a bit pretentious (except in some technical contexts), and the word is not widely prevalent (same). (It doesn't even show up in Firefox's spell checker.) Your plainer versions are preferable unless you really need to be as brief as possible.

A note on prepositions, though: "insert at the beginning" is better than "in", since "at" carries a connotation of a precise spot, rather than "in"'s general area.

I couldn't resist the slight alliteration of using "pre-" words….

12
  • 4
    While "prepend" may not be all that common in ordinary conversational English, it is rather common in computer programming. Commented Feb 26, 2016 at 23:52
  • 3
    It doesn't sound pretentious to me in a programming context. It sounds normal.
    – user230
    Commented Feb 27, 2016 at 0:11
  • 1
    @mbakeranalecta: Well, OK, look at jQuery docs for prepend(), of all things. They repeatedly use the construction I recommend, as well as related ones, presumably because prepend by itself just isn't enough for everyone to understand properly. Commented Feb 27, 2016 at 3:25
  • 1
    @NathanTuggy: English is not a language in which there is an "only acceptable term" for anything.
    – Kevin
    Commented Feb 27, 2016 at 6:58
  • 2
    @Kevin: Fair enough. That's mostly my point; there's no requirement to use "prepend", and I'd argue it's not even necessarily the best choice, except in certain cases (like method names, but see the DOM for alternate choices there). But it's certainly not wrong to use it in a context where it can plausibly be understood. Commented Feb 27, 2016 at 7:00
2

In a technical context, I must use the word prepend for a better understand or if I write "insert in the beginning" or "add new data to the beginning" is ok for an English reader?

(Note: "I must use the word prepend for a better understand?" => "Must I use the word prepend to be better understood?")

Since the file system has no concept of "prepending" at a mechanical level (the way a linked list in memory might), it isn't a complete fit. But it could certainly work.

To avoid using it, then beginning is a somewhat vague word. "The beginning of a file" could refer to an entire header section--not necessarily before the very first byte.

The term "head" is used to precisely mean the very absolute front of something. So you'd likely hear "insert data at the head of the file" over "insert data at the beginning of the file", because it is less ambiguous.

1

In a description used in a technical context, "add it to the beginning" is clearer and as you are finding, easier for non-native speakers to understand. This is because "prepend" isn't commonly used.

As a native speaker, I'd add that "append" is commonly used in everyday spoken and written english, and I wouldn't be surprised to see it used in partnership with "added to the beginning", rather than "prepend". Logically it makes no sense.

Google n-gram gives an idea of how rarely "prepend" is used. https://books.google.com/ngrams/graph?content=append%2Cprepend&year_start=1900&year_end=2019&corpus=en-2019&smoothing=3

And almost never in the fiction dataset - which supports the replies highlighting it's particular place in technical descriptions - e.g. file or database access https://books.google.com/ngrams/graph?content=append%2Cprepend&year_start=1900&year_end=2019&corpus=en-fiction-2019&smoothing=3

1
  • Hey Peter, this looks like a good answer, and the ngram links are useful, but it is a very old question (dating back to 2016) - you can probably be more useful answering more recent questions!
    – James K
    Commented Apr 20, 2023 at 12:08
0

In a technical context, I'd definitely go with append/prepend. It's pretty well known what they do, and it's much shorter/clearer to read. Actually, most programming libraries have append/prepend functions. See for example:

http://api.jquery.com/prepend/

Maybe in a learning-to-code or beginner type of text it might be easier for the reader to understand "add to the beginning", but in an advanced computer science text definitely would sound unnecessarily "dumb down", and in my opinion, weird.

4
  • See comments on my answer; the API name is shorter, following the general rule that character counts in names are important, but the actual description heavily uses alternate phrasings to get across important details. Commented Feb 27, 2016 at 3:45
  • I'd disagree with the: "the general rule that character counts in names are important,". Maybe with older programming languages but with newer ones that's not the case. Preciseness nowadays is more important. (they didn't go with .addToTheBeggining() because that's what .prepend() means) And regarding the alternative phrasing, is what most dictionaries do to describe a word. That doesn't mean that the word lacks meaning.
    – jpablobr
    Commented Feb 27, 2016 at 4:11
  • i is better than indexerOfCurrentLoop; prepend is better than insertElementBeforeOtherElement, whether or not you're limited to six characters, and whether or not you have auto-complete. But that's getting pretty far off track. Commented Feb 27, 2016 at 4:15
  • That's just your opinion. Not "the general rule". And it isn't off track since it justifies "prepend" being a well-understood word. And I agree with what others are saying in your answer: It doesn't sound pretentious.
    – jpablobr
    Commented Feb 27, 2016 at 4:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .