
Ask HN: What is the best text editor/IDE? - programming
I am learning python and using sublime text 3.
======
dtnewman
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).

~~~
dtnewman
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.

------
veddox
Hm, that is a dangerous question to ask. I assume that you are a newbie to
programming in general, so just to let you know, you have asked a question
that has had programmers bashing away at each other for the past thirty years
([https://en.wikipedia.org/wiki/Editor_war](https://en.wikipedia.org/wiki/Editor_war))...

HN does not encourage flamewar topics. (From the guidelines: "Please avoid
introducing classic flamewar topics unless you have something genuinely new to
say about them.") For future reference, a better question to ask would have
been: "What is a good Python beginner's IDE/text editor?" A phrasing like that
is less likely to lead to strong reactions from your readers the way asking
for the "best" editor might :-)

There are many relevant articles out there on the web that can help you along.
Here are just two: [http://pythoncentral.io/comparison-of-python-ides-
developmen...](http://pythoncentral.io/comparison-of-python-ides-development/)
[http://pythoncentral.io/best-text-editors-for-python-
develop...](http://pythoncentral.io/best-text-editors-for-python-development/)

In the end, just choose one and stick with it for the time being. You'll have
plenty opportunity to go scouting for the "perfect editor" once you've
actually learnt the language you need it for :-)

~~~
pizza
In all fairness, the dangerous questions are often the opposite of the lowest
hanging fruit; low chance of achievement, risky and ambiguous payoff, but
maybe worth it after all.

But to not broach the question at all for the sake of avoiding the volume of
dialogue it might produce seems kinda odd, imo. Now that I think of it, maybe
frequent and small flamewars clear the brush better than infrequent infernos,
ha.

~~~
veddox
> But to not broach the question at all for the sake of avoiding the volume of
> dialogue it might produce seems kinda odd, imo.

Yeah, I guess you're right, maybe I was a bit overcautious there. Nonetheless,
I do think that it is better to ask specific questions rather than the blanket
"what's the best X?" Note that this is not limited to text editors - there are
very few domains in life where a "best" anything is to be found. Asking
specific, non-emotionalized questions ("What is a good X under condition Y?")
is more likely to lead to constructive answers.

------
GFK_of_xmaspast
Whatever one you want to use and don't take (or give) any guff from (or to)
anybody else about it.

------
hood_syntax
I like vim because I can use it in a terminal, over ssh, etc. The actual text
editing capabilities, the quick access to search and replace, and the ability
to work without taking my hands off the keyboard to use a mouse are all big
wins for me. It's just one editor, and a lot of people like Emacs (I have
nothing against them, it's just not really my thing) or some other editor.

Frankly, the biggest thing is to pick one editor and stick with it. As far as
IDEs go, I've used PyCharm for debugging before. I think it fits a lot of use
cases but like most IDEs it's slow, so I don't use it for writing and editing

------
preek
I like VIM and Emacs. For VIM and Python I wrote a guide some time ago:
[http://200ok.ch/vim-as-python-ide/index.html](http://200ok.ch/vim-as-python-
ide/index.html)

Hope this helps. Enjoy the fun trip of learning Python. It's a great language!

------
LarryMade2
edlin for the win!

Actually, it's the one you like best. Currently I like eclipse - many don't.
Go with what works for you - if you are looking for a change start with the
most popular ones, they are usually that for a reason. If for some reason you
don't like them, use that reason for your next search criteria...

------
NonEUCitizen
Visual Studio

------
gigatexal
I'm a fan of pycharm

------
crispytx
Gedit

