My programming language of choice is Python, and I also use little bit of R. A good way to get started is to get Anaconda, which is an open data science platform including both Python and R, alongside many of the most popular packages for those languages. You can download it here, and it has lots of tutorials.
I share some of the things that I code, as well as notes and tutorials for the code of others, on GitHub, which is an online place to host, share, edit, comment, and collaborate on coding projects. My philosophy is to share even scripts and tools that are really basic, both as notes to myself if I want to do similar stuff again, and because there is always the chance that it may help someone else.
For creating, documenting, and sharing code, I have increasingly started to use Jupyter Notebooks. These are a form of interactive documents that allow for extensive commenting and explanations, and for snippets of code to be run within the notebooks themselves.
Parsing and tagging
Social network analysis