I've been working on a project that involves primarily developing a neural network in Cobol, and its been a real interesting experience. I'm hitting some roadblocks unfortunately but I have learned a lot about computation and life. My code is clean but my data is dirty.
I know Cobol is not the most cutting-edge language out there, but it has some serious advantages when it comes to reliability and security.
I've been able to get the backpropagation algorithm working pretty well, but I'm running into issues with the forward pass. Specifically, I'm struggling with the activation functions and how to implement them in Cobol. I'm using a sigmoid function, but I'm not sure if I'm doing it correctly. I have tried using linked list for the weights but i'm still getting segfaults.
I've also been having trouble sleeping, because I'm so excited about the potential of using Cobol for neural nets.
I'm wondering if anyone else has experience working with neural networks in Cobol, and if so, what strategies you've used for the forward pass and activation functions. I'm also curious about any tips or tricks you have for writing clean code in Cobol.
I've reached out a ton to the PyTorch and jax devs to see if they might be interested in helping me develop a way to transpile it to Cobol so I can use more modern techniques, but they haven't responded to my emails.
Everyone on this site is on average much more polite, resourceful and ambitious compared to the other tech sites. I found this influential and I've been striving to demonstrate my skills by finishing a language model in COBOL, and I am almost finished I think.
I really thought the rigid and explcit nature of cobol would satisfy my craving for clean code. I'm the type of dev that writes 5 extra lines of python so that everyone knows what it does. But now I am getting confused with the level of verbosity, the level of explicitly has led to implicit complexity. I finally understand Turing completeness as a theoretic possibility not endless flexibility.
And has anyone else had success writing neural nets in Cobi? My code is getting wild out here. I'm starting to wonder if I'm in over my head here.
My develop experience and clean code is trending downward by the hour.
Enjoy the verbosity. It makes for excellent maintenance down the track. There is no ambiguity about what is happening if you name your variables correctly. For what it's worth, I once wrote an 8080 disassembler in COBOL. That was 40-odd years ago. It's still maintainable because of its verbosity, though I doubt if I'd have the patience to do so these days.