Tooling

Originally written: October 29th, 2020
Last edited: Janurary 20th, 2021

I try to not get into debates about text editors and IDE's. I think each one has their pros and cons -- else why would people use any of them? I try to use the tool that has the best plugins for whatever I'm working on. I currently use:

Python

Pycharm. I haven't used a lot of other tools in Python, because I've never felt the need to. Its debugging and refactoring abilities probably exist in other editors, but I've gotten used to it.

If I wanted to write something really quick, perhaps vim or vs code if I wanted to check for PEP-8 styling. My main gripe with PyCharm is that it can be slow, as others probably agree, but if I'm doing a large enough project I find the IDE tooling useful.

C, C++

CLion. What other big IDE exists for linux? I've not had a great experience with Eclipse from Java. Unfortunately, it's not free, but everything's same as PyCharm, so aboard the JetBrains train I go.

Haskell

VS Code. Having a much smaller userbase than C or Python, Haskell doesn't have a dedicated IDE. I've used vim and Atom plugins, but I've found VS Code to be the most user-friendly with hlint. Although spacemacs' haskell layer has been fairly good, I actually find vs code to be snappier.

JavaScript

IntelliJ IDEA. I started off using WebStorm, but then I got frustrated not being able to open other files in my project, i.e. Kotlin files. Apparently IntelliJ supports everything that WebStorm supports (and maybe everything else that any JetBrains IDE supports)? It takes a hard toll on my system though.

LaTeX

VS Code. The LaTeX Workshop extension is pretty amazing. It has minimal overhead, and does everything I want it do -- automatic compilation, error highlighting, working offline, etc. at a blazingly fast speed. I do think that Overleaf still does have better UI for compilation error and warning messages, but the extension can work with git and runs much much faster than Overleaf.

MySQL

MySQL Workbench. I've used Toad in the past, I don't actually have much opinion on either. However, the workbench has more popular support, so it eases my googling.

Coq

Emacs. Unfortunately, I don't think this one has competition. There's CoqIDE, but I think Proof General can probably do all CoqIDE can do and more.

Markdown

Typora. It's a WYSIWYG editor, and this actually helps if you're doing things like tables. Additionally, you can insert inline latex with ease, and I use it often to type up notes.

Plain text

Sublime Text. This was the first editor I ever started out with, I think reading plain text is easiest on sublime for some reason.

Others

Vim: I use vim keybindings in almost everything, so maybe I should have put that up there.

gedit... if I really need to copypasta really fast. I don't think anything loads faster than gedit. I've never installed plugins for gedit but maybe it can be a reasonable editor? Never tried, and never heard anybody trying.