One of my first projects was a simple stochiometry calculator library in Common Lisp, for high school chemistry class(for my own use only). It had classes for acids and bases and I could do things like make a 1 liter solution of water and add x moles of some previously defined acid. It would then do the appropriate "reactions" and end up containing the appropriate equilibrium concentration of said acid, its conjugate base, and H3O+. And I could calculate the pH etc. It was very SICP inspired. And it allowed me to check my work during tests. It was also an excellent way of learning to do this type of stochiometry by hand.
I made attempts to extend it to various org-chem concepts, but it quickly became far too difficult in terms of modeling the molecules and reactions at that point and I quickly gave up on it. That taught me a valuable lesson as a budding developer: Some problems are just too hard, and the sooner you realise, the better.
I made attempts to extend it to various org-chem concepts, but it quickly became far too difficult in terms of modeling the molecules and reactions at that point and I quickly gave up on it. That taught me a valuable lesson as a budding developer: Some problems are just too hard, and the sooner you realise, the better.