Live data from Hacker News

Thonny: A hassle-free Python micro-IDE

thonny.org

91–100 of 107 posts

Re: Thonny: A hassle-free Python micro-IDE

#91
post #34

I recommend this to my students frequently. I teach an intro to programming class to college students who have no experience. Inevitably, some try to use PyCharm and they just get lost in it! I tell them it's like learning to drive in an 18 wheeler with a manual transmission. Thonny is very much the Toyota Corolla of IDEs and it's perfect for beginners. The debugger and variable pane really help beginners figure out…

Sometimes I end up teaching friends a bit about programming. I should really stop starting them on vim...

Re: Thonny: A hassle-free Python micro-IDE

#92
post #75

Cool, simple app. I can see this being really useful for teaching programming to beginners, although I'm curious where the name "Thonny" comes from? Couldn't find anything on the website, does anyone know?

"thon" is from "Python" and "Thonny" is diminutive of this.

Don't know how I didn't see that before! Thanks.

Re: Thonny: A hassle-free Python micro-IDE

#93
post #34

I recommend this to my students frequently. I teach an intro to programming class to college students who have no experience. Inevitably, some try to use PyCharm and they just get lost in it! I tell them it's like learning to drive in an 18 wheeler with a manual transmission. Thonny is very much the Toyota Corolla of IDEs and it's perfect for beginners. The debugger and variable pane really help beginners figure out…

I recommend people starting with programming to try https://codewith.mu/ . It's a Python IDE that's very simple, it doesn't even use menus, just few big buttons so that it's not distracting the users with multiple options.

There's a point of difference though which is quite important especially for teaching: Thonny also works with MicroPython, i.e. it can do things like giving you a REPL which directly talks to the MicroPython interpreter running on a controller like ESP32 (so you say led.On() and the actual hardware LED goes on), upload code to it, has shims for common MicroPython modules which are implented in C (iirc), etc.

Re: Thonny: A hassle-free Python micro-IDE

#94

Earlier quoted context omitted.

> I'd assume you are not working in education? Not right now, but I did. > But as a teacher, you have a completely different problem: You need a really simple, easy to explain environment - no fuss, no unnecessary complexity. Just tell them to ignore that complexity and only press this and this. When I was a kid we were taught to code (simple games in C/WinAPI and C++/MFC) in Visual Studio 6 Enterprise Edition on Win…

I'm surprised that you find Vim unintuitive elsewhere and talk about "just" creating a project in VS. VS projects in the IDE are one of the most convoluted development ways I've ever seen. Students won't learn anything except developing Stockholm Syndrom for a bloated proprietary environment. If it must be Windows, I'd rather teach cl.exe and Makefiles or adapted .vsproj files with msbuild.

> I'm surprised that you find Vim unintuitive elsewhere and talk about "just" creating a project in VS.

Just go to the "File" menu, Click "New project" there, choose the type (a console app or a GUI app), enter the name and press Ok. The teacher shown us when I was a kid and nobody found this difficult. Of course, we never cared (until grown up and started to care about versioning) about the auxiliary files the IDE created to accompany the code in the project - understanding those never happened to be a necessity.

Re: Thonny: A hassle-free Python micro-IDE

#95
post #69

Earlier quoted context omitted.

> I can hardly imagine that. They would hate me for wasting their time they could use to learn something practical. To me Vim seems a crazy alien technology of particularly questionable usefulness (even for a keyboard-centric user) I know tons of developers and system administrators that use vim on a daily basis (that includes me). While I agree that I would not necessarily recommend it for a beginning student, it is…

> it is entirely unfair to describe it as That's why I wrote "To me Vim seems...". Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. > My experience is that the time I spent learning it was well worth the investment. How? I tried. But I still can't see how its key shortctus are better than the common ones (i.e. how Esc,Shift+G (yes,…

> That's why I wrote "To me Vim seems...".

That's fair. I was left with the impression that you did not think it could be useful to anyone.

>Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent.

It is a very different interface. It does not work like other editors. Some people don't like mode-based editing, and thus they will definitely not like it.

> How? I tried.

This is a common experience for people attempting to learn Vim. Like I said, the learning curve is high. It takes a long time to become proficient. As to how it is worth the investment to me, I think most of the gains come from the fact that it is a keyboard-oriented editor. I can find the piece(s) of a file that I want to edit, and make changes quickly. As 'blackcats' pointed out elsewhere in this thread, vim lets you move around the file quickly.

> I also find coding without JetBrains-level smart code completion a waste of time.

I use the IdeaVim extension for vim-like keybindings in JetBrains IDEs. It's not perfect, but it implements a fair bit of the keybindings in vim. I understand the desire for code completion, it can be very handy.

Re: Thonny: A hassle-free Python micro-IDE

#96

Earlier quoted context omitted.

> it is entirely unfair to describe it as That's why I wrote "To me Vim seems...". Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. > My experience is that the time I spent learning it was well worth the investment. How? I tried. But I still can't see how its key shortctus are better than the common ones (i.e. how Esc,Shift+G (yes,…

Vim lets you jump through text. Try G for bottom, gg for top, $ for end of line, 5j to jump 5 lines, 0 for start of line, w to jump word, b backwards etc. Once you know the shortcuts it’s very comfy and you can use them in any modern IDE like JetBrains and the terminal. Having one workflow everywhere (term, ssh, IDE) does it for me

> Vim lets you jump through text. Try G for bottom, gg for top, $ for end of line

How is this better than Ctrl+End for bottom, Ctrl+Home for the top, End for end of line? I believe these keys have actually been put on the keyboards right for this and that's why their names are self-descriptive.

> 5j to jump 5 lines

I can't imagine a case when this would be of serious value.

> w to jump word, b backwards etc.

Ctrl+arrows.

So, I still don't get it although I sincerely want to.

Re: Thonny: A hassle-free Python micro-IDE

#97
post #95

Earlier quoted context omitted.

> it is entirely unfair to describe it as That's why I wrote "To me Vim seems...". Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. > My experience is that the time I spent learning it was well worth the investment. How? I tried. But I still can't see how its key shortctus are better than the common ones (i.e. how Esc,Shift+G (yes,…

> That's why I wrote "To me Vim seems...". That's fair. I was left with the impression that you did not think it could be useful to anyone. >Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. It is a very different interface. It does not work like other editors. Some people don't like mode-based editing, and thus they will definitely…

> As to how it is worth the investment to me, I think most of the gains come from the fact that it is a keyboard-oriented editor

I don't use much mouse when I code in Sublime or PyCharm.

> As 'blackcats' pointed out elsewhere in this thread, vim lets you move around the file quickly.

All the commands he/she mentioned have classic counterparts with Home/End/etc keys, available pretty much everywhere. I use them a lot even now, writing this comment.

Re: Thonny: A hassle-free Python micro-IDE

#98
post #69

Earlier quoted context omitted.

> I can hardly imagine that. They would hate me for wasting their time they could use to learn something practical. To me Vim seems a crazy alien technology of particularly questionable usefulness (even for a keyboard-centric user) I know tons of developers and system administrators that use vim on a daily basis (that includes me). While I agree that I would not necessarily recommend it for a beginning student, it is…

> it is entirely unfair to describe it as That's why I wrote "To me Vim seems...". Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. > My experience is that the time I spent learning it was well worth the investment. How? I tried. But I still can't see how its key shortctus are better than the common ones (i.e. how Esc,Shift+G (yes,…

> I also find coding without JetBrains-level smart code completion a waste of time.

Meanwhile as a Vim user I am glad it doesn't try to be smart and "help" me by obstructing my view on the code with automatic popups listing suggestions I never asked for, formatting "corrections" while I type that make my sequence of inputs incorrect, and tab management that feels like a struggle without using the mouse. Meanwhile I once spent minutes trying to find a syntax error in intelliJ because while it did indicate with a red box that it found an error there was no indicator for its location...but I sure was glad it marked all warnings and apparently incorrect spelling in comments right beside the taskbar.

Vim respects my time and attention and has virtually no limitation when it comes to defining keyboard shortcuts. No, it doesn't have a bulk replace that's actually semantically aware, but it took me not more than a day to write a "close enough" replacement in Vimscript.

Or, to quote Jonathan Blow's excitement while using VS: "Is there a setting to fire the people who designed this UI?"

Re: Thonny: A hassle-free Python micro-IDE

#99
post #95

Earlier quoted context omitted.

> That's why I wrote "To me Vim seems...". That's fair. I was left with the impression that you did not think it could be useful to anyone. >Beyond the fact it's impossible to start using it right away without instruction, everything else is subjective and context-dependent. It is a very different interface. It does not work like other editors. Some people don't like mode-based editing, and thus they will definitely…

> As to how it is worth the investment to me, I think most of the gains come from the fact that it is a keyboard-oriented editor I don't use much mouse when I code in Sublime or PyCharm. > As 'blackcats' pointed out elsewhere in this thread, vim lets you move around the file quickly. All the commands he/she mentioned have classic counterparts with Home/End/etc keys, available pretty much everywhere. I use them a lot…

> All the commands he/she mentioned have classic counterparts with Home/End/etc keys, available pretty much everywhere. I use them a lot even now, writing this comment.

Many of those keys require you to move your hands far from the home row (in ways that make it slower for me to type them). I find that the vim equivalents are easier to touch type. Plus many of the gains are not just in the motion, but in editing commands (as well as combinations of the two).

To each his own.

Re: Thonny: A hassle-free Python micro-IDE

#100

Earlier quoted context omitted.

Vim lets you jump through text. Try G for bottom, gg for top, $ for end of line, 5j to jump 5 lines, 0 for start of line, w to jump word, b backwards etc. Once you know the shortcuts it’s very comfy and you can use them in any modern IDE like JetBrains and the terminal. Having one workflow everywhere (term, ssh, IDE) does it for me

> Vim lets you jump through text. Try G for bottom, gg for top, $ for end of line How is this better than Ctrl+End for bottom, Ctrl+Home for the top, End for end of line? I believe these keys have actually been put on the keyboards right for this and that's why their names are self-descriptive. > 5j to jump 5 lines I can't imagine a case when this would be of serious value. > w to jump word, b backwards etc. Ctrl+arr…

The real advantages of Vim start to become clear once you know the basics and start to understand in how many ways you can combine them efficiently.

You can press 'dw' to delete the word right of the cursor. 'd/]' to delete everything from the cursor to the next closing bracket("delete and search next ]"). 'dip' to delete the whole paragraph around the cursor("delete in paragraph"). 'di{' to delete everything between the closest pair of curly brackets.

And this doesn't just apply to deletion but most other operations. Vim lets you just combine delete/copy/replace/... commands with inputs that move your cursor, whether it's just the current line or a whole 100-line table column. And of course you can tell it to repeat those operations by entering a number beforehand, or just repeat the last operation by pressing '.'.

Vim doesn't make you a 10x developer but it will make you think "oh man, was it really that cumbersome?" whenever you go back to a normal editor. Do you like always moving your hand to the mouse and back when you want to select text? Probably not. Vim makes that step completely unnecessary, among other things.

Don't get me wrong, it's not for everyone and that's fine. But if it fits your way of doing things it's a super efficient and flexible tool that is only limited by the user. I've been using it for over 5 years and still learn new, clever ways of doing things quicker.

Post reply on HN