Hacker News new | ask | show | jobs
by dtnewman 3491 days ago
Many veterans coders like using VIM or Emacs. But both have steep learning curves and if you are just starting out, you might want to start with something easier. I personally think Sublime Text is a great option. It displays Python nicely and it's easy to use, while still being a very powerful and customizable tool.

Professionally, I find that I use a mixture of the following tools for editing Python:

SublimeText - for writing one off scripts or making small changes to projects

Vim - I occasionally use this for small code changes if I already have a terminal open, but I'm still getting comfortable with it.

PyCharm - I use this for anything that's larger than 1 or 2 files, which is probably 80% of what I work on professionally. I prefer sublime if I'm just writing a quick one-file script, but I find that when a Python project spans multiple files/folders this IDE is much more useful. This IDE really has everything you'll need for almost any Python project. Connect to databases? It's got integration support for that. Use Flask/Django for making web applications? Got you covered. Sure Sublime/Vi have plugins to make coding in Python more convenient, but this has everything out-of-the-box and it all plays well together. You may not need this if Python is you first language and you are just starting out, but once you start working with larger projects in Python, or start making web applications, this is the tool that most people I know prefer to use. Get the trial version for 30 days and see how you like it. If you are a student, they'll give you a license for free. They also have a free community edition that's free (which I haven't used, so I don't know the difference). If you find that you like it, you'll eventually want to upgrade to a paid subscription. It's worth every penny (more in my opinion).

1 comments

Just wanna add that I think that there's value for beginners in getting started with a tool like PyCharm because it already comes with everything out-of-the-box.

I've seen people customize Vim or Sublime extensively for Python development (and development in other languages) and it's amazing what can be done. However, for a beginner, one of the things that makes customizable tools so daunting is that it's not necessarily obvious what can be customized when you are first starting out. With Pycharm, you'll get many features that you'll use frequently and many more that you probably will rarely or never touch. But it'll give you a sense of what you like and what you don't like. If you later learn to use something like Vim, you'll have a better idea of how you want to customize it.