On Writing & Coding

Jon Reades - j.reades@ucl.ac.uk

1st October 2025

Writing & Coding == Thinking

If writing down your ideas always makes them more precise and more complete, then no one who hasn’t written about a topic has fully formed ideas about it. And someone who never writes has no fully formed ideas about anything nontrivial. ~ Graham (2022)

 

Writing is thinking. To write well is to think clearly. That’s why it’s so hard. ~ McCullough (2002)

There are no shortcuts to thinking and learning.

Large Language Models (LLMs)

ChatGPT from OpenAI (an increasingly ‘ironic’ name) is simply the most famous of a growing number of Large Language Models that draw on information found on the web and in open texts to perform sophisticated summarisation tasks.

Why Use it for Coding?

Many programmers use LLMs in coding for three reasons:

  1. They can help to spot bugs, redundancy, and other issues that impact the performance of large applications (i.e. feedback).
  2. They can provide information about different libraries and strategies the developer can use, as well as completing code begun by the developer (i.e. guidance or training).
  3. They can help to ‘translate’ code and design patterns between languages (i.e. re-use).

These accelerate code production, but there are significant doubts about code quality.

Why Use it to Learn to Code?

Many students use LLMs to write their code for three reasons:

  1. They are available at all hours as a personal tutor and advisor.
  2. They write better code, more quickly than a learner.
  3. They can employ advanced techniques right away.

Pro-Tip

Only one of these is a good reason.

Why Use It for Writing?

Many writers use LLMs for three reasons:

  1. They can help to ensure consistency and suggest changes in tone or word choice (i.e. feedback).
  2. They can provide information about different strategies the writer can use to tackle a problem (i.e. guidance or training).
  3. They can help to ‘translate’ text between languages (i.e. re-use).

These accelerate word production, but there are significant doubts about quality.

Why Use it to Learn to Write (Academic English)?

Many students use LLMs to write their documents for three reasons:

  1. They are available at all hours as a personal tutor and advisor.
  2. They write better sentences, more quickly than a learner.
  3. They draw on a wider range of sources and styles than a learner.

Pro-Tip

Only one of these is a good reason.

Danger, Will Robinson!

Here’s what we’ve noticed about LLM use so far:

  • Over-use of flowery language/complex code.
  • Over-confidence in recommending solutions.
  • Lack of overall structure/coherence.
  • Poor referencing, including the use of non-existent or irrelevant references/coding libraries.

The Underlying Issue

  • Lack of actual learning by the student.
  • Undermining of learning by other students.
  • Pointless work by staff.

Read the Fine Print

We Recommend…

LLMs like ChatGPT can help you to learn to be a better coder or writer by providing guidance and feedback, but for many applications a competent human being will be faster and have a better grasp of the purpose and rationale.

LLMs as co-authors

Using ChatGPT as your co-pilot is not the same as using ChatGPT as your co-author. In this module the latter is still considered plagiarism.

Additional Resources

Thank You

References

Graham, P. 2022. “Putting Ideas into Words.” 2022. https://paulgraham.com/words.html.
McCullough, D. 2002. Interview with NEH chairman Bruce Cole.” Humanities Magazine.