Nowadays I primarily program in Python and C. I have extensive experience in various python libraries including PyTorch, Tensorflow, Numpy, Scipy, Keras, SciKit-Learn, Matplotlib, and Fenics.
I enjoy Open Source Software. I've used a variety Linux as my primary operating system since at least 2008. For my capstone project in undergraduate I wrote an open source piece of pedagogy software for writing, learning, and simulating Intel 8088 assembly code. I've also contributed to the keras-tuner open source github project.
People often ask me why I prefer Python as a programming environment. I enjoy that I can link Python code to compiled C code quite easily (or write in a C-like manner with Cython). This allows me to leverage the high-level readability of Python while still enjoying incredible low-level performance. This is especially important in collaborations. In my experience, in collaborations there is often a very heterogeneous level of programming comfort. In this way, we can abstract the complicated and computationally expensive parts of the project into linked C libraries or Cython code, while allowing the raw Python code to handle all the high-level interactions. As such, the less computationally savvy collaborators feel comfortable experimenting and changing the raw-Python portions while others on the project can handle what's under-the-hood. Indeed, it is often the case that the limiting bottleneck in a project is how quickly one can iterate on their ideas. This particular setup with scientific computing in Python has proven very useful in this regard.
Beyond Python, in graduate school I have spent an extensive amount of time in various mathematics software like Maple, Matlab, and R. During two undergraduate summer research projects I used Mathematica. Throughout my master's degree I used XPPAut to perform bifurcation analysis and integrate ODEs. My computer science courses in undergraduate used Java as the primary language of instruction, so I am quite familiar with that language as well.