Thonny: The IDE For Beginning Programmers with Aivar Annamaa - Episode 153

Summary

Learning to program is a rewarding pursuit, but is often challenging. One of the roadblocks on the way to proficiency is getting a development environment installed and configured. In order to simplify that process Aivar Annamaa built Thonny, a Python IDE designed for beginning programmers. In this episode he discusses his initial motivations for starting Thonny and how it helps newcomers to Python learn and understand how to write software.

linode-banner-sponsor-largeDo you want to try out some of the tools and applications that you heard about on Podcast.__init__? Do you have a side project that you want to share with the world? Check out Linode at linode.com/podcastinit or use the code podcastinit2018 and get a $20 credit to try out their fast and reliable Linux virtual servers. They’ve got lightning fast networking and SSD servers with plenty of power and storage to run whatever you want to experiment on.


Datadog is a powerful, easy to use service for gaining comprehensive visibility into the state of your applications. The easy to install Python agent lets you collect system metrics and log data, supports integrations with all of your services, and distributed tracing. Their customizable dashboards and interactive graphs make finding and fixing performance issues fast and easy, and their machine-learning driven alerting ensures that you always know what is happening in your systems.

If you need even more detail about how your application is functioning you can track custom metrics, and their Application Performance Monitoring (APM) tools let you track the flow of requests through your stack. Go to podcastinit.com/datadog today to start your free 14 day trial and get an awesome new T-shirt.


GoCD is the on-premise open source continuous delivery server created by ThoughtWorks and modeled after the ideas in the Continuous Delivery book by Jez Humble and David Farley.

With GoCD’s comprehensive pipeline modeling, you can model complex workflows for multiple teams with ease. And GoCD’s Value Stream Map lets you track a change from commit to deploy at a glance.

GoCD’s real power is in the visibility it provides over your end-to-end workflow. So you get complete control of and visibility into your deployments, across multiple teams.

Say goodbye to deployment panic and hello to consistent, predictable deliveries.

To learn more about GoCD, visit gocd.org for a free download. Professional Support and enterprise add-ons, including disaster recovery, are available.


Preface

  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute.
  • For complete visibility into your application stack, deployment tracking, and powerful alerting, DataDog has got you covered. With their monitoring, metrics, and log collection agent, including extensive integrations and distributed tracing, you’ll have everything you need to find and fix bugs in no time. Go to podcastinit.com/datadog today to start your free 14 day trial and get a sweet new T-Shirt.
  • To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons.
  • Visit podcastinit.com to subscribe to the show, sign up for the newsletter, and read the show notes.
  • Your host as usual is Tobias Macey and today I’m interviewing Aivar Annamaa about Thonny, a Python IDE for beginning programmers

Interview

  • Introductions
  • How did you get introduced to Python?
  • What was your motivation for building an IDE focused on beginning programmers?
  • What are the features of Thonny that make it easier for users to understand what is happening in their programs?
  • What have you found to be the types of issues that users most frequently struggle with and how does Thonny help overcome those gaps in understanding?
  • What kinds of tutorials or supporting material have you found to be the most useful for teaching students the principles that they need to be able to take advantage of the environment that Thonny provides?
  • How is Thonny built and what have been the most challenging aspects of writing an IDE in Python?
  • What are some of the interface design choices that you have made to avoid confusing or overwhelming beginning users?
  • Once a user becomes more proficient in Python is there a point where it no longer makes sense to continue using Thonny for development?
  • I noticed that Thonny has an plugin architecture and there is an extension for interacting with the BBC micro:bit. What are some of the other types of extensions that you would like to see built for Thonny?

Keep In Touch

Picks

Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Start the discussion at https://discourse.pythonpodcast.com