Thursday, October 15, 2020

Python for Everyone

 Python is a very popular programming language, and yes, I've jumped on that bandwagon. Big time! Visual Basic was "my hammer" for everything programming-wise, until a few short years ago when I decided to check out Python a little closer. I've never turned back since.

A few years ago I wrote to Satya Nadella at Microsoft, expressing my concern that magazines and scientific journals that used to publish short BASIC language programs to explain computational insights on a myriad of subjects were no longer printing code snippets, simply because programming has gotten much more complicated. Software development has become an art and a skill unto itself, with insider jargon and lingo for each popular language. I asked Satya to consider an updated, easy to learn, universal version of a simpler BASIC language, something where algorithms and code could be shared and easily read by even the general public.  Students, hobbyists, scientists, and many others could share code to support their passions and interests, instead of being forced to embrace professional programming to do so.

Satya didn't respond, as I'm sure he had many other more pressing concerns at Microsoft. But the answer came soon afterwards as I was browsing a book store's computer books section. I decided to check out this Python subject I kept hearing about, and am I ever glad I did so. Python is exactly what I was intuitively getting at with my suggestions to Satya. Simple algorithms in Python are so much easier to read and understand than in any other programming language, and that includes BASIC and Visual Basic.

Not only is Python excellent for creating and expressing simple programs, it has the power to meet the most demanding professional challenges for all programming situations. You can start simple, get a whole lot of fun and useful programming done easily and quickly, and then move on to more complicated tasks and knowledge if you wish. Python is awesome!

For me personally, I find it easy to apply Python in many of several subject areas and passions in my life. For example, I got interested in 3D printers and creating 3D plastic parts. Soon I authored a library that lets users design and create 3D parts using simple Python commands that are then translated into OpenSCAD's more complicated and unique scripting language. I wrote a book covering OpenSCAD's scripting language, and then one full of examples of my new Python library for OpenSCAD. People love it, as it makes OpenSCAD so much easier to use.

I have a history of solar energy software development, so I wrote a book on solar algorithms, first covering high accuracy Sun position in nine different programming languages, but since then another book that just uses Python. All my future books on solar energy topics, including one currently in the works, will be in pure Python from now on. 

My wonderful wife, EJ, a techy like me, is currently selling solar panels for home rooftops. Her challenge has been getting people to understand just how much money they can save over the years. (They often mistakenly think she's just selling something that's going to cost them something - yet another payment to cover.) Python has turned out to be a powerful language for creating tools she can use to help people grasp the power and huge long term economic gain of going solar.  I'll have a lot more to say on this subject.

Another passion of mine is the subject of UFOs, a subject that is finally starting to come out of the giggle factor closet and into valid scientific research circles. Yes, I've seen and experienced things I can't explain in conventional terms, and that's why I have plans to apply Python programming for research, and to create analysis tools for professionals and amateurs alike. There is a quickly growing number of us out there who want to know the scientific truth about this undeniable unexplained phenomenon. 

I've always loved programmable calculators, and now that the handheld Numworks calculator can be programmed in a version of Python, I'm once again in love with a handheld! I'm currently putting the final touches on a book of programs for this calculator, with the full support of the CEO of Numworks. This could get exciting - for me, for students, and for the technical future of our planet.

I have plans to upgrade my consumer electronics inventions in the near future. These were created with microprocessors, mostly programmed in C, but from here on these Arduino and Raspberry Pi based creations will be programmed in Python, freeing me up from the tedious technical details so I can have a lot more fun creating.

Python is useful everywhere, and for all challenges and interests. My future blog posts will have this core message as I explore a lot of different subject areas. I'm eager to share what I've learned, what I'm still learning, and what I'm totally passionate about. Look for a lot of sample code in my future posts!