---
title: "Mortal coding sin: programming in your mother tongue"
url: "https://osherove.com/blog/2004/2/5/mortal-coding-sin-programming-in-your-mother-tongue.md"
canonical: "https://osherove.com/blog/2004/2/5/mortal-coding-sin-programming-in-your-mother-tongue.html"
published: "2004-02-05T10:01:00"
updated: "2004-02-05T10:01:00"
tags: ["Off Topic"]
author: "Roy Osherove"
description: "If there's one nasty coding habit that gets me riled up every time it has to be coding with non English words. This probably won't mean much to the English speaking crowd, but here in Israel, and in other non English…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Mortal coding sin: programming in your mother tongue

By Roy Osherove February 5, 2004 In [Off Topic](https://osherove.com/blog/category/off-topic)

**Historical article** · Originally published February 5, 2004; technical details may be outdated.

If there's one nasty coding habit that gets me riled up every time it has to be coding with non English words. This probably won't mean much to the English speaking crowd, but here in Israel, and in other non English speaking countries, junior developers often choose to give their parameters, class names, database tables and sprocs names that, although written in English, are words in their mother tongue.

For example, I've come across code that looks like this:

Public Class MenahelLakoach

    Public Sub HosafatLachoach(ByVal shem As String, ByVal TeudatZehut As String)

        'Ugly code taken from original

        Dim sql As String = "insert into LAKOACH (shem,TeudatZehut) VALUES ('" + shem + "','" + TeudatZehut + "')"

        'more code here

    End Sub

End Class

Obviously, this is totally unreadable to anyone who does not speak Hebrew. Actually, it's hard to read even if you know Hebrew since you're used to read English, not translating it in your head to Hebrew. Ugh. Here's an easier to read translation:

Public Class CustomerManager

    Public Sub AddCustomer(ByVal Name As String, ByVal ID As String)

        'Ugly code taken from original

        Dim sql As String = "insert into CUSTOMERS (Name,ID) VALUES ('" + Name + "','" + ID + "')"

        'more code here

    End Sub

End Class

Not too hard, is it? Please, for the sake of the developer after you, write in English. Look at it this way:

- Now you can actually send the code over to someone and they'll understand it no matter what their mother tongue is

- it's more reusable

- hey, you had to learn English to program , right? might as well use it.

- You won't have to think so much about how to spell a particular non english word in english, thank god.

## More in Off Topic

[All posts in Off Topic](https://osherove.com/blog/category/off-topic)

- Feb 6, 2004

    ### [In local news...](https://osherove.com/blog/2004/2/6/in-local-news.html)

- Feb 6, 2004

    ### [Mortal sin #2: Information hoarding](https://osherove.com/blog/2004/2/6/mortal-sin-2-information-hoarding.html)

- Feb 4, 2004

    ### [Sign of life](https://osherove.com/blog/2004/2/4/sign-of-life.html)

- Jan 28, 2004

    ### [Leaving Norway](https://osherove.com/blog/2004/1/28/leaving-norway.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
