Anyone who played with BASIC on personal computers in the 1970s and 1980s will recognize the importance of the BASIC language for noodling around. The creators of BASIC intended it for use in teaching computer programming concepts to FORTRAN students at Dartmouth College (photo), but noodling around made BASIC ideal for teaching other concepts in science, engineering, and math all over the world.
BASIC on 8-bit personal computers in the 1970s was usually implemented in ROM, and every implementation was different (Apple2, Radio Shack TRS-80, HeathKit-H8). Starting with the IBM-PC in 1981, Microsoft, began publishing 16-bit software products like GW-BASIC (1983), QuickBASIC (1985) and QBASIC (1991) which worked well on 16-bit operating systems like MS-DOS (1981) up through Windows-3.11 (1992). These 16-bit language interpreters were also supported on 32-bit operating systems, starting with Windows-95 up through Windows-7.
The big problem today is that 64-bit computers run 64-bit operating systems, like Windows-10, where 32-bit programs are supported via THUNKING, but native support for 16-bit programs has been dropped. Technical work-arounds exist including "setting up a virtual machine" on your 64-bit OS, but why go to all that bother when all you want to do is noodle around? Perhaps it is time for you to ditch BASIC for Python.
Many people reading this will not know that Python was first created in 1991 to produce an internet-friendly BASIC-like scripting tool for use under CGI (common gateway interface) in web servers. Python quickly morphed into a language which could easily support both internet servers and clients, as well a standalone applications. Here is a short list:
Imagine using numbers this size to index your data arrays
link | description | Notes |
---|---|---|
calendar | a very simple calendar generator | BASIC-to-Python conversion examples |
compiling caching | Python compiling - Python file caching | article for nerds and speed demons |
dft-fft | Discrete Fourier Transform - Fast Fourier Transform |
BASIC-to-Python conversion examples |
dh standalone | Diffie-Hellman key exchange demo (interactive) | Python interactive standalone application |
dh web | Diffie-Hellman key exchange demo (web) | Python web application (just to show you how) |
Easter | compute the date of Easter for any given year | it all starts with determining the date of the first full moon on, or after. the Spring equinox. |
fun with floats | fun with floats and decimals | be careful how you initialize float and decimal data; this program also shows how to properly use the exec() function in python3 |
http website tester | shows how to fetch a web page | this technique works with both http as well as https |
https harder demo | shows how to try harder | shows how to connect to an older https site |
logical_name_demo | logical name demo | caveat: this will only work on OpenVMS systems |
money rounding | money rounding demo | required for GAAP (generally accepted accounting principles) |
pix-of-day | picture of the day generator | extracts picture-of-the-day info from a relational database which is then passed to JavaScript. Click this link (https://neilrieck.net) to see it in action: 1) the top right corner will show a NASA chart for last month's CO2 readings 2) eight seconds later, the image and text will switch to something extracted from my database 3) the pictures will cycle back for ten iterations 4) punch PF12 on your browser then click CONSOLE to observe log messages |
$ sudo yum clean all
$ sudo yum makecache
$ sudo yum list py\*mod\*wsgi\* Available Packages python3-mod_wsgi.x86_64 4.6.4-5.el8 appstream python3.11-mod_wsgi.x86_64 4.9.4-1.el8 appstream python3.12-mod_wsgi.x86_64 4.9.4-2.el8 appstream python38-mod_wsgi.x86_64 4.6.8-5.module_el8.9.0+3633+e453b53a appstream python39-mod_wsgi.x86_64 4.7.1-7.module_el8.9.0+3634+fb2a896c appstream $ sudo yum install python39-mod_wsgi
# python stub
import legacy-cgi as cgi
Anyone considering a course on machine learning or deep learning should learn Python immediately where most examples will include one (or more) of these free Python libraries
NumPy | Library to add array support to Python2 Also adds support for matrix mathematics |
https://en.wikipedia.org/wiki/NumPy | Community - 2006 |
scikit-learn | first generation learning library | https://en.wikipedia.org/wiki/Scikit-learn | Google Summer of Code - 2007 |
TensorFlow | second generation learning library | https://en.wikipedia.org/wiki/TensorFlow | Google - 2015 |
Keras | second generation learning library | https://en.wikipedia.org/wiki/Keras | Google - 2015 |
PyTorch | second generation learning library | https://en.wikipedia.org/wiki/PyTorch | Facebook - 2017 |
The roots of artificial intelligence (and expert systems, and machine learning) go back to the 1940s and 1950s so contain a lot of non-computer terminology. Modern computer technologists wishing to learn more might wish to start here: