I would like to do some data mining and NLP experiments to do some research

I have decided to use NLTK or related tools and software

Which environment or operating system do you suggest for my purpose? I mean doing research on NLP

Windows or Linux?

I am a user of Windows but I thought if Linux has better shell and related software for NLP tasks then I switch to Linux

What is your experience and your preferred OS?

As NLTK is in Python I thought Python is a good language for my purpose, do you suggest Python too?


Python is easy to use and manage in Linux. The Python package manager PIP and the Python environment manager Virtualenv are both fully supported in Linux. See: http://docs.python-guide.org/en/latest/starting/install/linux/

The PyCharm IDE from JetBrains is also available for free in Linux (community edition), and it runs well. This is a great tool for a Python developer.

In addition, if you need to integrate other tools, they will most likely be best supported in Linux. Need a MapReduce in your app? Hadoop will run in Linux. Need to store data in MySQL? Linux. Most data science tools are open source, and most open source technologies are supported best in Linux.

There is also no cost for running Linux.

If you need to keep Windows for your primary work computer (like your laptop), then you can install Linux on a server and use Putty to SSH into the Linux machine. You would then perform your work on the Linux machine, though you would still be running Windows locally.

  • $\begingroup$ I do agree with using Linux through SSH, this way I can download any package and there is no cost for my Internet (In my country internet is not much cheap) but that way could I use something like PyCharm? or do I miss some GUI which is important for NLP tasks? $\endgroup$ – Ahmad Oct 6 '14 at 20:01
  • $\begingroup$ If you SSH into a Linux machine, you will have no GUI. However, you can use any GUI tools in Windows and simply transfer your files to you Linux machine via SSH. In fact, you can use PyCharm in Windows and configure it to transfer your files and execute your code on your Linux machine. $\endgroup$ – sheldonkreger Oct 6 '14 at 20:06
  • 1
    $\begingroup$ You can dual boot and run both on the same machine; it's easy. $\endgroup$ – Emre Oct 6 '14 at 21:16

If you want to do NLP stay away from Windows! ( No Offense) Python NLTK stands out in terms of resource and community support for NLP.

Moreover in Linux you can always leverage the benefit of awk,sed, grep which are pretty useful tools when it comes to pre-processing. And no worries of funny characters getting introduced when you use a file.

  • $\begingroup$ what linux distro do u prefer and why? $\endgroup$ – Andrew Ravus Dec 4 '16 at 6:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.