This week we welcome Dong-hee Na (@dongheena92) as our PyDev of the Week! Dong-hee is a core developer of the Python programming language. You can see some of what he has been working on over on Github.
Let’s take some time to get to know him better!
Can you tell us a little about yourself (hobbies, education, etc):
Hi, My name is Dong-hee Na, and I am the software engineer of Kakao Corp. I got my BS in Computer Science from Chungnam National University. My hobby is taking a look at the open-source compiler projects. And as you know, these days, I use most of my own extra time working on the CPython project.
On the other side, I research well-designed projects or try to implement a simple stage implementation to understand the theory which I have interests. Recently, I am watching the MIR project which is kind of JIT framework project and it looks like a very interesting project for me.
Why did you start using Python?
The first time I learned Python was because I took the undergraduate data structure class by using Python. My first impression was that the language is so simple that it was very easy to write pseudocode. The time I learned Python more deeply was to contribute to Dropbox’s Pyston project. This project aimed to implement the LLVM-based Python JIT compiler. This project made me dig in Python more in-depth since I needed to check the Python compiler worked properly.
What other programming languages do you know and which is your favorite?
Apart from Python, The languages I know are C/C++, Go, and Java/Scala.
C/C++, Python, and Go are languages that I use a lot for open source projects.
IMHO, all the languages have their own area and position, I try to use proper languages for each situation and resources.
My favorite language is Python so I use Python for my personal projects and algorithm problem-solving. But also, to develop my skills in the area of system programming, I recently made efforts to improve my C/C++ ability.
What projects are you working on now?
For the OSS project, I spend most of the time with the CPython project, I have a lot of interest in the multi-core sub interpreter project which was kicked off by Eric Snow. AFAIK, there are a lot of things to be solved on the python module sides to support this project. So I am trying to contribute to this area recently.
Which Python libraries are your favorite (core or 3rd party)?
aiohttp and python-fire. aiohttp library is a well-designed library and has a very reliable and powerful performance since Python core developers who deeply involve asyncio project maintain this project. I would like to recommend aiohttp for someone who needs HTTP libraries based on asyncio. And the python-fire is the CLIs library that I use personally very often. It is very easy to use. You can make cool CLIs with few lines of code.
How did you become a core developer of the Python language?
I first began to interest in the compiler projects related to Python in 2014. At first, I personally studied compilers and wondered how the actual theories were applied. At that time, I found the Dropbox’s Pyston project and began to contribute to this project. My contribution was not that big, but I learned a lot about Python’s runtimes through this project. And from 2017, I began to contribute to the CPython project. Luckily, I met my mentor, Victor Stinner, and thanks to his mentoring, I was able to contribute to a lot of issues in CPython. Finally, I joined the CPython development team as the triage member from September 2019 and was promoted to the core developer in April 2020. I’d like to take this opportunity to say thank you to him.
Is there anything else you’d like to say?
This kind of interview request is the first time in my life. I think it is a very special experience. Through this interview, I wish that many people would pay a lot of interest to the CPython project, and also to other alternative implementation projects.
Thanks for doing the interview, Dong-hee!