Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Thursday, June 8, 2017


--- Getting started in programming ---

2016

There are still plenty of reasons to program computers.

Most software products have a limited bag of tricks. The developer has tried to figure all the features that a typical user would want from their program but there is no truly typical user. Sooner or later, everyone is going to gaze dreamily into the distance and say, "I sure wish this program could....(fill in the blank.)" The answer is to be able to program the computer to do what you want it to do.

A lifelong learner has much more reason to program. Programming a concept into a computer - teaching the computer to do what you're learning how to do - requires that you take the concept apart (analysis) and then put it back together in a form a computer will understand. You get to see the inner workings of the concept. How can you help but to learn?

There are many very accessible languages available to the beginner.

In fact, BASIC stands for Beginner's All-purpose Symbolic Instruction Code. It is designed to be easy to understand and easy to use. Even better, most of the office productivity suites like Microsoft Office, LibreOffice, and WPS uses a version of BASIC as a macro language. If one of these suites doesn't do something you want it to do, you can teach it to do the task and it will happily oblige you.

I like LibreOffice Basic because LibreOffice is a free, full powered office suite and, if you are using it to look at my Excursion documents, which are LibreOffice documents, then you're already set for programming with LibreOffice Basic.

There are programs that are designed to be fun and useful.

Scratch is a programming language consisting of blocks that you snap together. It was originally designed to manipulate graphic images in a learning environment, but with Custom Blocks, you can program it to perform more typical computer tasks.

If you want to play around with Scratch, you can find it here:

https://wiki.scratch.mit.edu/wiki/Scratch_Wiki_Home

Two languages that provide instant feedback as you program are Python and LiveCode. Both show you what your statements do as you type them in.

Python is a very popular, but fairly typical language. It seems too be very easy to  learn using supplied tutorials and user guides. You can find it here:

https://www.python.org

A modern version of a cool, old language (it was way before it's time back in the 70s) is LiveCode, an update of a language called HyperCard. It's also an object oriented language that will manipulate graphic objects, but it does much, much more. It's intended to be able to work with many platforms. Look at it here:

https://livecode.com

A similar such language also designed to be multiplatform (you can write programs to be used with many different systems - they're even working to make their product compatible with smartphone operating systems) is Xojo and here is their website:

http://www.xojo.com

In future articles, I will be giving you some tips for programming in LibreOffice Basic, primarily because it is very accessible, and most of the work I'm doing now is in that language, but, certainly, if you decide you like programming, look at these other languages and you might even want to spread out and play with some of the many (many!) other languages like C, FORTRAN, or (Whoa!) the assembly language for your processor.


Tuesday, May 2, 2017


--- Computer software ---

2016

There are a few software packages that I like and a few sites that also make me happy and entertain me. I've already talked about a few in the article, "Open Source and Freeware." Here are a few more.

I have a soft spot (somewhere in my head, I'm sure.) for the old fashion Windows Help files and you can still compose your own with ShalomHelp. But you'll have a hard time connecting your help files to anything. Just use ShalomHelp to read them. Anyway, ShalomHelp is available at several download sites such as Softonic (http://shalom-help-maker-shm.en.softonic.com). Be careful with these download sites. Some are not monitored very well and you are liable to pick up something you don't want. Also, many of them try to sneak in some extra software with the one you're downloading so be sure and read the information on the installers carefully.

Except for "riders" (those extra programs that get snuck in), I've never had any problems with Softonic, Tucows, or CNET. That doesn't mean they never have corrupted software - it just means I've never had a problem with them.

Python is my current favorite non-LibreOffice Basic programming language. It's both fun and powerful, which is why it's also popular. It gives you constant feedback while you compose. If you type in 5+7, it will immediately return 12. The caveat is that older versions of Python are not necessarily compatible with current versions so, if you're going to use a textbook or user guide to learn Python, make sure the text goes with the version of Python that you have. Here's their site:

https://www.python.org

Since I'm a statistician, Free Statistics would reasonably be one of my favorite software venues. This site offers a lot of surprisingly powerful free, open source, and limited edition statistics software at:

http://freestatistics.altervista.org