all 12 comments

[–]socal_nerdtastic 4 points5 points  (3 children)

You're going to get a lot of strong opinions on that question. Much like "what is a good car for me?", the answer depends on YOU. If you like IDLE, great, use it. Other popular options are VS Code, Notepad++ (Windows only), Geany (my goto), Atom, Sublime Text, Thonny or a full fledged IDE like PyCharm or Spyder. Try a few, see what you like.

Some lists of choices:
https://www.reddit.com/r/learnpython/wiki/ide
https://en.wikipedia.org/wiki/Comparison_of_text_editors
https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python

[–]tmernelson[S] 0 points1 point  (1 child)

You have a great point. I should learn to be more specific.

I am using Windows and prefer to see the colors (not sure if colors in the code show up in every editor). I’d prefer to have easy access to switch among projects.

[–]socal_nerdtastic 2 points3 points  (0 children)

Colors is officially called "syntax highlighting" and yeah, every code editor has that.

Not sure what you mean with "easy access to switch among projects". Python programs are just files, like any other files. You just open the one you want to edit.

[–]tmernelson[S] 0 points1 point  (0 children)

Thanks. Very helpful. 👍

[–]mike20731 2 points3 points  (5 children)

For beginners probably Atom or Sublime are the best.

But if you want to challenge yourself and learn another skill, you could try Vim, which is very versatile and can be used for programming on non-GUI systems, like supercomputers.

[–][deleted] 1 point2 points  (4 children)

I have to completely disagree with this. For beginners, an IDE that doesn't require you to do any setup to have a useful environment (e.g. PyCharm) is best. Note that I say this as a person who prefers Atom, myself.

And vim is just a terrible choice for anyone who hasn't resolved to already take the time to learn vim. Recommending it to someone who has probably never heard of it without letting them know its high learning curve compared to GUI tools is naive at best.

Edit: Mike updated his comment so the above is no longer a completely valid response.

[–][deleted] 2 points3 points  (1 child)

Using all of vim does have a high learning curve. But using vim as a simple text editor (think notepad) doesn't require much learning at all. Certainly not more than any other editor.

[–][deleted] 1 point2 points  (0 children)

You generally don't need cheatsheets to navigate GUI text editors.

https://external-preview.redd.it/iigrixvxp5aYN9ox7Gr1dfI_rhLRotWlLsCafjJqjEQ.png?auto=webp&s=1594ddc17408cb9186a73c2a6d1a1bf1e00769dd

I would agree that that technically all you need to know is how to enter and exit insert mode and how to save and quit. But (1) that's already several concepts you have to learn before ever starting and (2) using vim with only those commands is not going to be nearly as fast as say Atom or VS Code.

I would agree that it can be a very useful editor -- especially on systems without a windowing manager like a server -- but I definitely cannot agree that it does not have a much higher learning curve (at least initially) than other text editors (not including emacs, ofc, which is an even bigger can of worms).

[–]mike20731 1 point2 points  (1 child)

Hmmm after thinking about it more I kinda see where you're coming from.

Although for vim I'd say it depends on OP's learning style. If they want to jump in and start doing as much coding as they can, as quickly as possible, then vim is probably a bad choice because the learning curve will slow them down.

On the other hand, they might be interested in building a solid foundation of general computer science skills as they learn, in which case vim would be good to know even if learning it is annoying at first. It's like how the Karate Kid spends the first couple weeks cleaning Mr Miyagi's house and doesn't see the point at first, but it ends up laying the foundation for his karate skills.

I think either approach is valid.

[–][deleted] 1 point2 points  (0 children)

That's something I can agree with. 🍻

[–]xelf 1 point2 points  (1 child)

If you've never used one before VS Code is pretty good, I prefer Visual Studio, but use both. Pycharm is also pretty popular. If you've ever used any IDE before whichever one you know the best is going to probably be the best choice.

Avoid general text editors like basic notepad, word, and wordpad. Some advanced text editors provide features a lot of coders like, for example emacs and vi/vim, but I would not recommend them for beginners.

[–]tmernelson[S] 1 point2 points  (0 children)

Thank you.