19
Chronum
7y

Being a programmer in a scientific discipline can be infuriating.

using "no one" ="almost no one"
using everyone = "almost everyone"

1. No one knows what even the very idea of good practice is. And everyone refuses to learn. 3k lines of repetitive copy pasted main. 500 lines of plotting method.

2. Raw C-style pointer based array creation. Won't use develope array libraries because what if development stops. FUCKING HAVE YOU SEEN YOUR CODE WHAT IF DEVELOPMENT ON YOUR CODE STOPS. FUCK.

3. LOOP VARIABLES DECLARED AT THE BEGINNING OF THE METHOD WHY.

4. Everyone wants to make modular, independent code. No one wants to use OOP. NOPE. ALL IN ONE FILE. WRITE C++ LIKE A FUCKING PYTHON NOTEBOOK. FUCK.

5. LIBRARIES OH MY GOD PLEASE DO NOT CODE UP YOUR MATRIX MULTIPLICATION. PLEASE DO NOT TRIPLE LOOP IT. NO. THE LINEAR ALGEBRA LIBRARY WILL STAY IN DEVELOPMENT.

6. Please realize that literally not one comment over an 1800 line file does not help anyone.

FUCKING. WHY. WHY ARE WE SCIENTISTS SO GOOD AT SCIENCE AND SO FUCKING SHIT AT THE CODE THAT MAKES OUR SCIENCE HAPPEN. WHY. FUCKING. WHY. FUCK.

Comments
  • 2
    An insight into academics....
    I have seen academics code. It is crap. It is bad. But, it was never meant to be used by anyone else. While it is bad, these guys will not produce any kind of usefull stuff, or go on to be developers.
    The mentality is: I need to solve this math problem. Then they write a lot of code to solve it, and never bother searching for it on the web.
    move them to python, teach them to use pandas, scipy, and numpy. throw in a little matplotlib and things will be easier.
    well... at least less lines of code.
  • 0
    @magicMirror I guess it's more infuriating personally since I'm a computational physicist who strives to write good production code. Sure, my pretty scripts are in Python, but my code that rotates and rubs hypothesis testing on 50k images is going to be pretty standard. Bleugh. Academia. Great. But also sad.
  • 1
    @Chronum yup. theoretical physics needs efficient code. you guys have to deal with huge amounts of data. I just hope that you are doing it in a computation cluster, using some sort of standardized CUDA based parallel comptations...
    Have you ever taken a look at imageJ or Weka code?
  • 0
    May I join the thread as I am developing a lib in Rust. This language isn't really OOP, am I doing this right?
Add Comment