PyCon JP 2025

What does it take to create a language of your own in Python?
2025-09-26 , Dahlia 2

Ever wondered how to create your own domain-specific language tailored to your needs?

This session explores how to build a programming language that lets users write code using natural language. Designed to be fun, intuitive and easy to use, the language is crafted for young learners especially those for whom English is not a first language. Built with Python, the system parses and interprets natural language into executable code. The design challenges, key insights, and lessons learned of the creation of this language will be shared.


This session is for anyone curious about building your own little domain-specific languages, exploring new ways to teach programming or just crafting code that speaks your own language.

Inspired by my working with an organization that taught coding to children and talks at PyCon APAC, I asked: What if programming could be made more accessible with a language tailored to children?

The talk will cover:

Language Design
- Making decisions around syntax depending on the purpose.

Architecture Choices
- Interpreter vs compiler: which architecture best fits for your need?
- Parsing libraries: tools available such as PLY, Lark.

Technical Implementation
- Building the lexer, parser, and interpreter and handling errors using Python.

Demo
- The language in action.

Future Directions
- Adding support for more languages, introducing to wider community.


Why did you choose this topic?:

I used to work at an organization that taught programming to children with some basic understanding of English. However, I’ve often wondered about children from rural areas or those who struggle with English. How can we support them?
While there are ongoing efforts to make coding more accessible, I believe we can do more. I believe programming should be accessible to everyone, even for non-native English speakers. I want to share how we can bridge that gap using natural language and how someone can build a domain-specific language for their own purpose.

Knowledges and know-how the audience can get from your talk:

By exploring how Python can be used to create domain-specific languages, we open the door to new ideas and customized tools for various use cases. Introducing the concept of natural language programming encourages others to build similar projects that can enhance their own learning and make programming more accessible in their community.
The audience will learn key considerations for creating their own programming language, including useful tools for parsing and building interpreters, as well as potential challenges they may encounter along the way.

Prior knowledges speakers assume the audience to have:
  • Basic understanding of Python
  • Interest in educational tools or creating DSL
Audience experiment:

Beginner

Language of presentation:

English

Language of presentation material:

English

Chaw is a software developer at HENNGE in Japan, focusing on the Identity edition of the HENNGE One product which provides access control solutions. Outside of work, she enjoys reading, hiking, and exploring cafes.