All this talk about programming in c# inspired me to sign up for a Microsoft course on the subject. Whether I ever get that far but I used to play around with Basic in school and liked doing so. My autistic son is computer savvy and thought what a great bonding experience if him and I could learn the language and make a few games or such. As well, I can understand what you guys are talking about. Besides if enough of us can open source a bunch of ag software and maybe we can tailor stuff to better suit our needs and not have to sell our first born for overpriced stuff.
If i could make a suggestion, it would be get to know the Arduino. You will learn structured programming and you can make so many neat projects with your son. The development environment is absolutely free and there are a million billion projects on line, with amazing tutorials, all the source code and so very much help in huge forums. Once you learn one language, and Arduino is specifically designed to give you success in learning, move on to other languages.
Do a search on "arduino" and let the adventure begin.